[Pixman] [PATCH 4/4] Use find_box_for_y() in pixman_region_contains_point() too

Søren Sandmann sandmann at cs.au.dk
Fri Aug 5 19:26:06 PDT 2011


From: Søren Sandmann Pedersen <ssp at redhat.com>

The same binary search from the previous commit can be used in this
function too.

V2: Remove check from loop that is not needed anymore, pointed out by
Andrea Canciani.
---
 pixman/pixman-region.c |   12 ++++++------
 1 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/pixman/pixman-region.c b/pixman/pixman-region.c
index 71995fd..9ff5157 100644
--- a/pixman/pixman-region.c
+++ b/pixman/pixman-region.c
@@ -2378,13 +2378,13 @@ PREFIX (_contains_point) (region_type_t * region,
         return(TRUE);
     }
 
-    for (pbox = PIXREGION_BOXPTR (region), pbox_end = pbox + numRects;
-	 pbox != pbox_end;
-	 pbox++)
-    {
-        if (y >= pbox->y2)
-	    continue;           /* not there yet */
+    pbox = PIXREGION_BOXPTR (region);
+    pbox_end = pbox + numRects;
+
+    pbox = find_box_for_y (pbox, pbox_end, y);
 
+    for (;pbox != pbox_end; pbox++)
+    {
         if ((y < pbox->y1) || (x < pbox->x1))
 	    break;              /* missed it */
 
-- 
1.7.4



More information about the Pixman mailing list