Lines Matching full:barrier

37 _fixes_test_direction(struct PointerBarrier *barrier, int d[4], int permitted)  in _fixes_test_direction()  argument
43 barrier->directions = 0; in _fixes_test_direction()
44 blocking = barrier_is_blocking_direction(barrier, dir); in _fixes_test_direction()
49 barrier->directions |= 1 << i; in _fixes_test_direction()
50 blocking = barrier_is_blocking_direction(barrier, dir); in _fixes_test_direction()
51 assert((barrier->directions & permitted) == in _fixes_test_direction()
61 struct PointerBarrier barrier; in fixes_pointer_barrier_direction_test() local
77 barrier.x1 = x; in fixes_pointer_barrier_direction_test()
78 barrier.x2 = x; in fixes_pointer_barrier_direction_test()
79 barrier.y1 = y - 50; in fixes_pointer_barrier_direction_test()
80 barrier.y2 = y + 49; in fixes_pointer_barrier_direction_test()
82 _fixes_test_direction(&barrier, directions[0], BarrierPositiveY); in fixes_pointer_barrier_direction_test()
83 _fixes_test_direction(&barrier, directions[1], in fixes_pointer_barrier_direction_test()
85 _fixes_test_direction(&barrier, directions[2], BarrierNegativeX); in fixes_pointer_barrier_direction_test()
86 _fixes_test_direction(&barrier, directions[3], in fixes_pointer_barrier_direction_test()
88 _fixes_test_direction(&barrier, directions[4], BarrierNegativeY); in fixes_pointer_barrier_direction_test()
89 _fixes_test_direction(&barrier, directions[5], in fixes_pointer_barrier_direction_test()
91 _fixes_test_direction(&barrier, directions[6], BarrierPositiveX); in fixes_pointer_barrier_direction_test()
92 _fixes_test_direction(&barrier, directions[7], in fixes_pointer_barrier_direction_test()
100 struct PointerBarrier barrier; in fixes_pointer_barriers_test() local
107 /* vert barrier */ in fixes_pointer_barriers_test()
108 barrier.x1 = x; in fixes_pointer_barriers_test()
109 barrier.x2 = x; in fixes_pointer_barriers_test()
110 barrier.y1 = y - 50; in fixes_pointer_barriers_test()
111 barrier.y2 = y + 50; in fixes_pointer_barriers_test()
118 assert(barrier_is_blocking(&barrier, x1, y1, x2, y2, &distance)); in fixes_pointer_barriers_test()
124 assert(!barrier_is_blocking(&barrier, x1, y1, x2, y2, &distance)); in fixes_pointer_barriers_test()
131 assert(!barrier_is_blocking(&barrier, x1, y1, x2, y2, &distance)); in fixes_pointer_barriers_test()
138 assert(barrier_is_blocking(&barrier, x1, y1, x2, y2, &distance)); in fixes_pointer_barriers_test()
145 assert(!barrier_is_blocking(&barrier, x1, y1, x2, y2, &distance)); in fixes_pointer_barriers_test()
147 /* edge case: startpoint of movement on barrier → blocking */ in fixes_pointer_barriers_test()
152 assert(barrier_is_blocking(&barrier, x1, y1, x2, y2, &distance)); in fixes_pointer_barriers_test()
154 /* edge case: startpoint of movement on barrier → not blocking, positive */ in fixes_pointer_barriers_test()
159 assert(!barrier_is_blocking(&barrier, x1, y1, x2, y2, &distance)); in fixes_pointer_barriers_test()
161 /* edge case: startpoint of movement on barrier → not blocking, negative */ in fixes_pointer_barriers_test()
166 assert(!barrier_is_blocking(&barrier, x1, y1, x2, y2, &distance)); in fixes_pointer_barriers_test()
168 /* edge case: endpoint of movement on barrier → blocking */ in fixes_pointer_barriers_test()
173 assert(barrier_is_blocking(&barrier, x1, y1, x2, y2, &distance)); in fixes_pointer_barriers_test()
175 /* startpoint on barrier but outside y range */ in fixes_pointer_barriers_test()
180 assert(!barrier_is_blocking(&barrier, x1, y1, x2, y2, &distance)); in fixes_pointer_barriers_test()
182 /* endpoint on barrier but outside y range */ in fixes_pointer_barriers_test()
187 assert(!barrier_is_blocking(&barrier, x1, y1, x2, y2, &distance)); in fixes_pointer_barriers_test()
189 /* horizontal barrier */ in fixes_pointer_barriers_test()
190 barrier.x1 = x - 50; in fixes_pointer_barriers_test()
191 barrier.x2 = x + 50; in fixes_pointer_barriers_test()
192 barrier.y1 = y; in fixes_pointer_barriers_test()
193 barrier.y2 = y; in fixes_pointer_barriers_test()
200 assert(barrier_is_blocking(&barrier, x1, y1, x2, y2, &distance)); in fixes_pointer_barriers_test()
205 assert(!barrier_is_blocking(&barrier, x1, y1, x2, y2, &distance)); in fixes_pointer_barriers_test()
212 assert(!barrier_is_blocking(&barrier, x1, y1, x2, y2, &distance)); in fixes_pointer_barriers_test()
219 assert(barrier_is_blocking(&barrier, x1, y1, x2, y2, &distance)); in fixes_pointer_barriers_test()
226 assert(!barrier_is_blocking(&barrier, x1, y1, x2, y2, &distance)); in fixes_pointer_barriers_test()
228 /* edge case: startpoint of movement on barrier → blocking */ in fixes_pointer_barriers_test()
233 assert(barrier_is_blocking(&barrier, x1, y1, x2, y2, &distance)); in fixes_pointer_barriers_test()
235 /* edge case: startpoint of movement on barrier → not blocking, positive */ in fixes_pointer_barriers_test()
240 assert(!barrier_is_blocking(&barrier, x1, y1, x2, y2, &distance)); in fixes_pointer_barriers_test()
242 /* edge case: startpoint of movement on barrier → not blocking, negative */ in fixes_pointer_barriers_test()
247 assert(!barrier_is_blocking(&barrier, x1, y1, x2, y2, &distance)); in fixes_pointer_barriers_test()
249 /* edge case: endpoint of movement on barrier → blocking */ in fixes_pointer_barriers_test()
254 assert(barrier_is_blocking(&barrier, x1, y1, x2, y2, &distance)); in fixes_pointer_barriers_test()
256 /* startpoint on barrier but outside y range */ in fixes_pointer_barriers_test()
261 assert(!barrier_is_blocking(&barrier, x1, y1, x2, y2, &distance)); in fixes_pointer_barriers_test()
263 /* endpoint on barrier but outside y range */ in fixes_pointer_barriers_test()
268 assert(!barrier_is_blocking(&barrier, x1, y1, x2, y2, &distance)); in fixes_pointer_barriers_test()
270 /* ray vert barrier */ in fixes_pointer_barriers_test()
271 barrier.x1 = x; in fixes_pointer_barriers_test()
272 barrier.x2 = x; in fixes_pointer_barriers_test()
273 barrier.y1 = -1; in fixes_pointer_barriers_test()
274 barrier.y2 = y + 100; in fixes_pointer_barriers_test()
276 /* ray barrier simple case */ in fixes_pointer_barriers_test()
281 assert(barrier_is_blocking(&barrier, x1, y1, x2, y2, &distance)); in fixes_pointer_barriers_test()
288 assert(barrier_is_blocking(&barrier, x1, y1, x2, y2, &distance)); in fixes_pointer_barriers_test()
295 assert(!barrier_is_blocking(&barrier, x1, y1, x2, y2, &distance)); in fixes_pointer_barriers_test()
301 struct PointerBarrier barrier; in fixes_pointer_barrier_clamp_test() local
308 /* vert barrier */ in fixes_pointer_barrier_clamp_test()
309 barrier.x1 = x; in fixes_pointer_barrier_clamp_test()
310 barrier.x2 = x; in fixes_pointer_barrier_clamp_test()
311 barrier.y1 = y - 50; in fixes_pointer_barrier_clamp_test()
312 barrier.y2 = y + 49; in fixes_pointer_barrier_clamp_test()
313 barrier.directions = 0; in fixes_pointer_barrier_clamp_test()
317 barrier_clamp_to_barrier(&barrier, BarrierPositiveX, &cx, &cy); in fixes_pointer_barrier_clamp_test()
318 assert(cx == barrier.x1 - 1); in fixes_pointer_barrier_clamp_test()
323 barrier_clamp_to_barrier(&barrier, BarrierNegativeX, &cx, &cy); in fixes_pointer_barrier_clamp_test()
324 assert(cx == barrier.x1); in fixes_pointer_barrier_clamp_test()
327 /* horiz barrier */ in fixes_pointer_barrier_clamp_test()
328 barrier.x1 = x - 50; in fixes_pointer_barrier_clamp_test()
329 barrier.x2 = x + 49; in fixes_pointer_barrier_clamp_test()
330 barrier.y1 = y; in fixes_pointer_barrier_clamp_test()
331 barrier.y2 = y; in fixes_pointer_barrier_clamp_test()
332 barrier.directions = 0; in fixes_pointer_barrier_clamp_test()
336 barrier_clamp_to_barrier(&barrier, BarrierPositiveY, &cx, &cy); in fixes_pointer_barrier_clamp_test()
338 assert(cy == barrier.y1 - 1); in fixes_pointer_barrier_clamp_test()
342 barrier_clamp_to_barrier(&barrier, BarrierNegativeY, &cx, &cy); in fixes_pointer_barrier_clamp_test()
344 assert(cy == barrier.y1); in fixes_pointer_barrier_clamp_test()