[cairo-commit] src/cairo-pattern.c

Bryce Harrington bryce at kemper.freedesktop.org
Fri Jul 17 12:13:16 PDT 2015


 src/cairo-pattern.c |   10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

New commits:
commit 6951fb4238706522d357fd25236b17492baea1b0
Author: Bryce Harrington <bryce at osg.samsung.com>
Date:   Fri Jul 17 12:07:18 2015 -0700

    Revert "pattern: allow for a floating one pixel rounded difference."
    
    While this fixed a real bug, in testing this patch was found to fail a
    number of tests and thus needs further work.
    
    This reverts commit e7acf4b6dc6666c2a2c54fb08e9ad6f01a1d415f.

diff --git a/src/cairo-pattern.c b/src/cairo-pattern.c
index cdd7529..b4bc83c 100644
--- a/src/cairo-pattern.c
+++ b/src/cairo-pattern.c
@@ -3531,7 +3531,7 @@ _cairo_pattern_get_extents (const cairo_pattern_t         *pattern,
 			    cairo_rectangle_int_t         *extents)
 {
     double x1, y1, x2, y2;
-    double ix1, ix2, iy1, iy2;
+    int ix1, ix2, iy1, iy2;
     cairo_bool_t round_x = FALSE;
     cairo_bool_t round_y = FALSE;
 
@@ -3725,12 +3725,12 @@ _cairo_pattern_get_extents (const cairo_pattern_t         *pattern,
     if (x1 < CAIRO_RECT_INT_MIN)
 	ix1 = CAIRO_RECT_INT_MIN;
     else 
-	ix1 = x1;
+	ix1 = _cairo_lround (x1);
     if (x2 > CAIRO_RECT_INT_MAX)
 	ix2 = CAIRO_RECT_INT_MAX;
     else
-	ix2 = x2;
-    extents->x = ix1; extents->width  = _cairo_lround(ix2 - ix1);
+	ix2 = _cairo_lround (x2);
+    extents->x = ix1; extents->width  = ix2 - ix1;
 
     if (!round_y) {
 	y1 -= 0.5;
@@ -3744,7 +3744,7 @@ _cairo_pattern_get_extents (const cairo_pattern_t         *pattern,
 	iy2 = CAIRO_RECT_INT_MAX;
     else
 	iy2 = _cairo_lround (y2);
-    extents->y = iy1; extents->height = _cairo_lround(iy2 - iy1);
+    extents->y = iy1; extents->height = iy2 - iy1;
 
     return;
 


More information about the cairo-commit mailing list