Lines Matching refs:r1
334 static Boolean Intersects(float *r1, float *r2)
336 if (RIGHT(r1) <= LEFT(r2)) return False;
337 if (RIGHT(r2) <= LEFT(r1)) return False;
338 if (TOP(r1) <= BOTTOM(r2)) return False;
339 if (TOP(r2) <= BOTTOM(r1)) return False;
402 static void Intersection(float *r1, float *r2, float *dst)
404 LEFT(dst) = MAX(LEFT(r1), LEFT(r2));
405 BOTTOM(dst) = MAX(BOTTOM(r1), BOTTOM(r2));
406 WIDTH(dst) = MIN(RIGHT(r1), RIGHT(r2)) - LEFT(dst);
407 HEIGHT(dst) = MIN(TOP(r1), TOP(r2)) - BOTTOM(dst);
465 /* Replace list r1 with the intersection of r1 and r2 */
468 float **r1,
478 /* Fairly straightforward. Intersect each rectangle in r1 with each
479 rectangle in r2, then copy the results to r1 */
482 for (r = *r1, i = 0; i < *num_r1; r += 4, i++) {
493 /* Copy intersection rectangles back into r1 */
494 GrowRectList(r1, r1_size, 0, num_rbuf, 1);
495 for (i = 0; i < num_rbuf * 4; i++) (*r1)[i] = rbuf[i];
502 float *r, *r1;
514 r1 = rect + (j * 4);
515 if (TOP(r1) <= TOP(r) && BOTTOM(r1) >= BOTTOM(r) &&
516 LEFT(r1) >= LEFT(r) && RIGHT(r1) <= RIGHT(r)) {
519 } else if (TOP(r) <= TOP(r1) && BOTTOM(r) >= BOTTOM(r1) &&
520 LEFT(r) >= LEFT(r1) && RIGHT(r) <= RIGHT(r1)) {