Mercurial > sdl-ios-xcode
annotate test/automated/rect/rect.c @ 4822:55f32099a4b5
Worked on Windows implementation and the quad-trees.
author | egottlieb |
---|---|
date | Mon, 02 Aug 2010 01:54:59 -0400 |
parents | 0c429a5fda8a |
children |
rev | line source |
---|---|
3541
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
1 /** |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
2 * Automated SDL rect test. |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
3 * |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
4 * Written by Edgar Simo "bobbens" |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
5 * |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
6 * Released under Public Domain. |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
7 */ |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
8 |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
9 |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
10 |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
11 |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
12 #include "SDL_rect.h" |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
13 #include "../SDL_at.h" |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
14 |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
15 |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
16 /* |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
17 * Prototypes. |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
18 */ |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
19 static void rect_testIntersectRectAndLine (void); |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
20 |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
21 |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
22 /** |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
23 * @brief Tests SDL_IntersectRectAndLine() |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
24 */ |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
25 static void rect_testIntersectRectAndLine (void) |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
26 { |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
27 SDL_Rect rect = { 0, 0, 32, 32 }; |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
28 int x1, y1; |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
29 int x2, y2; |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
30 SDL_bool clipped; |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
31 |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
32 SDL_ATbegin( "IntersectRectAndLine" ); |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
33 |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
34 x1 = -10; |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
35 y1 = 0; |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
36 x2 = -10; |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
37 y2 = 31; |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
38 clipped = SDL_IntersectRectAndLine(&rect, &x1, &y1, &x2, &y2); |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
39 SDL_ATvassert( !clipped && |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
40 x1 == -10 && y1 == 0 && x2 == -10 && y2 == 31, |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
41 "line outside to the left was incorrectly clipped: %d,%d - %d,%d", |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
42 x1, y1, x2, y2); |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
43 |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
44 x1 = 40; |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
45 y1 = 0; |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
46 x2 = 40; |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
47 y2 = 31; |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
48 clipped = SDL_IntersectRectAndLine(&rect, &x1, &y1, &x2, &y2); |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
49 SDL_ATvassert( !clipped && |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
50 x1 == 40 && y1 == 0 && x2 == 40 && y2 == 31, |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
51 "line outside to the right was incorrectly clipped: %d,%d - %d,%d", |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
52 x1, y1, x2, y2); |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
53 |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
54 x1 = 0; |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
55 y1 = -10; |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
56 x2 = 31; |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
57 y2 = -10; |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
58 clipped = SDL_IntersectRectAndLine(&rect, &x1, &y1, &x2, &y2); |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
59 SDL_ATvassert( !clipped && |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
60 x1 == 0 && y1 == -10 && x2 == 31 && y2 == -10, |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
61 "line outside above was incorrectly clipped: %d,%d - %d,%d", |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
62 x1, y1, x2, y2); |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
63 |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
64 x1 = 0; |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
65 y1 = 40; |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
66 x2 = 31; |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
67 y2 = 40; |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
68 clipped = SDL_IntersectRectAndLine(&rect, &x1, &y1, &x2, &y2); |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
69 SDL_ATvassert( !clipped && |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
70 x1 == 0 && y1 == 40 && x2 == 31 && y2 == 40, |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
71 "line outside below was incorrectly clipped: %d,%d - %d,%d", |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
72 x1, y1, x2, y2); |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
73 |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
74 x1 = 0; |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
75 y1 = 0; |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
76 x2 = 31; |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
77 y2 = 31; |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
78 clipped = SDL_IntersectRectAndLine(&rect, &x1, &y1, &x2, &y2); |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
79 SDL_ATvassert( clipped && |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
80 x1 == 0 && y1 == 0 && x2 == 31 && y2 == 31, |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
81 "line fully inside rect was clipped: %d,%d - %d,%d", |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
82 x1, y1, x2, y2); |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
83 |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
84 x1 = -10; |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
85 y1 = 15; |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
86 x2 = 40; |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
87 y2 = 15; |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
88 clipped = SDL_IntersectRectAndLine(&rect, &x1, &y1, &x2, &y2); |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
89 SDL_ATvassert( clipped && |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
90 x1 == 0 && y1 == 15 && x2 == 31 && y2 == 15, |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
91 "horizontal line rect was incorrectly clipped: %d,%d - %d,%d", |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
92 x1, y1, x2, y2); |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
93 |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
94 x1 = -32; |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
95 y1 = -32; |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
96 x2 = 63; |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
97 y2 = 63; |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
98 clipped = SDL_IntersectRectAndLine(&rect, &x1, &y1, &x2, &y2); |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
99 SDL_ATvassert( clipped && |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
100 x1 == 0 && y1 == 0 && x2 == 31 && y2 == 31, |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
101 "diagonal line to lower right was incorrectly clipped: %d,%d - %d,%d", |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
102 x1, y1, x2, y2); |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
103 |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
104 x1 = 63; |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
105 y1 = 63; |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
106 x2 = -32; |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
107 y2 = -32; |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
108 clipped = SDL_IntersectRectAndLine(&rect, &x1, &y1, &x2, &y2); |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
109 SDL_ATvassert( clipped && |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
110 x1 == 31 && y1 == 31 && x2 == 0 && y2 == 0, |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
111 "diagonal line to upper left was incorrectly clipped: %d,%d - %d,%d", |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
112 x1, y1, x2, y2); |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
113 |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
114 x1 = 63; |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
115 y1 = -32; |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
116 x2 = -32; |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
117 y2 = 63; |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
118 clipped = SDL_IntersectRectAndLine(&rect, &x1, &y1, &x2, &y2); |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
119 SDL_ATvassert( clipped && |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
120 x1 == 31 && y1 == 0 && x2 == 0 && y2 == 31, |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
121 "diagonal line to lower left was incorrectly clipped: %d,%d - %d,%d", |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
122 x1, y1, x2, y2); |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
123 |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
124 x1 = -32; |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
125 y1 = 63; |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
126 x2 = 63; |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
127 y2 = -32; |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
128 clipped = SDL_IntersectRectAndLine(&rect, &x1, &y1, &x2, &y2); |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
129 SDL_ATvassert( clipped && |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
130 x1 == 0 && y1 == 31 && x2 == 31 && y2 == 0, |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
131 "diagonal line to upper right was incorrectly clipped: %d,%d - %d,%d", |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
132 x1, y1, x2, y2); |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
133 |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
134 SDL_ATend(); |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
135 } |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
136 |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
137 |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
138 /** |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
139 * @brief Rect test entrypoint. |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
140 */ |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
141 #ifdef TEST_STANDALONE |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
142 int main( int argc, const char *argv[] ) |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
143 { |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
144 (void) argc; |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
145 (void) argv; |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
146 #else /* TEST_STANDALONE */ |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
147 int test_rect (void) |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
148 { |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
149 #endif /* TEST_STANDALONE */ |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
150 |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
151 SDL_ATinit( "Rect" ); |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
152 |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
153 rect_testIntersectRectAndLine(); |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
154 |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
155 return SDL_ATfinish(); |
0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
156 } |