diff options
author | Adrian Johnson <ajohnson@redneon.com> | 2010-10-13 19:20:07 +1030 |
---|---|---|
committer | Adrian Johnson <ajohnson@redneon.com> | 2010-10-15 15:26:39 +1030 |
commit | d3655e04b2e27bacdeeddbaf0c4a212b9b93b6ee (patch) | |
tree | 947232ea572afd2256e0a0e4e6b0ea3231bfa4e0 /src | |
parent | 34d929962413136ac127245c4347df5c6a5387b3 (diff) |
PDF: Remove radial gradient fallback
when one circle not inside the other. Pixman now follows the PDF
specification.
Diffstat (limited to 'src')
-rw-r--r-- | src/cairo-pdf-surface.c | 17 |
1 files changed, 1 insertions, 16 deletions
diff --git a/src/cairo-pdf-surface.c b/src/cairo-pdf-surface.c index 31790482..d8de9b91 100644 --- a/src/cairo-pdf-surface.c +++ b/src/cairo-pdf-surface.c @@ -5350,27 +5350,12 @@ _gradient_pattern_supported (const cairo_pattern_t *pattern) /* Radial gradients are currently only supported with EXTEND_NONE - * and EXTEND_PAD and when one circle is inside the other. */ + * and EXTEND_PAD. */ if (pattern->type == CAIRO_PATTERN_TYPE_RADIAL) { - double x1, y1, x2, y2, r1, r2, d; - cairo_radial_pattern_t *radial = (cairo_radial_pattern_t *) pattern; - if (extend == CAIRO_EXTEND_REPEAT || extend == CAIRO_EXTEND_REFLECT) { return FALSE; } - - x1 = _cairo_fixed_to_double (radial->c1.x); - y1 = _cairo_fixed_to_double (radial->c1.y); - r1 = _cairo_fixed_to_double (radial->r1); - x2 = _cairo_fixed_to_double (radial->c2.x); - y2 = _cairo_fixed_to_double (radial->c2.y); - r2 = _cairo_fixed_to_double (radial->r2); - - d = sqrt((x2 - x1)*(x2 - x1) + (y2 - y1)*(y2 - y1)); - if (d > fabs(r2 - r1)) { - return FALSE; - } } return TRUE; |