summaryrefslogtreecommitdiff
path: root/src/cairo-pattern.c
diff options
context:
space:
mode:
authorBryce Harrington <bryce@osg.samsung.com>2015-07-17 12:07:18 -0700
committerBryce Harrington <bryce@osg.samsung.com>2015-07-17 12:07:18 -0700
commit6951fb4238706522d357fd25236b17492baea1b0 (patch)
treede48bc499afa9db505ca3a4fc7b6455c5746dd41 /src/cairo-pattern.c
parentedd321c2f52daaef9804481bc4d0aa84f8ff0060 (diff)
downloadcairo-6951fb4238706522d357fd25236b17492baea1b0.tar.gz
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.
Diffstat (limited to 'src/cairo-pattern.c')
-rw-r--r--src/cairo-pattern.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/cairo-pattern.c b/src/cairo-pattern.c
index cdd7529dd..b4bc83c0e 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;