mirror of
https://gitlab.freedesktop.org/cairo/cairo.git
synced 2025-12-27 08:10:10 +01:00
Do not use PDF fill-stroke operator with transparent fill
because the PDF rendering does not match cairo. See PDF Reference 7.6.3. Bug report at https://bugs.launchpad.net/inkscape/+bug/202096
This commit is contained in:
parent
0aef7c1a34
commit
7e83d6e6fb
1 changed files with 5 additions and 10 deletions
|
|
@ -4536,19 +4536,14 @@ _cairo_pdf_surface_fill_stroke (void *abstract_surface,
|
|||
if (surface->paginated_mode == CAIRO_PAGINATED_MODE_ANALYZE)
|
||||
return CAIRO_INT_STATUS_UNSUPPORTED;
|
||||
|
||||
/* Fill-stroke with patterns requiring an SMask are not currently
|
||||
* implemented. Non opaque stroke patterns are not supported
|
||||
* because the PDF fill-stroke operator does not blend a
|
||||
* transparent stroke with the fill.
|
||||
/* PDF rendering of fill-stroke is not the same as cairo when
|
||||
* either the fill or stroke is not opaque.
|
||||
*/
|
||||
if (fill_source->type == CAIRO_PATTERN_TYPE_LINEAR ||
|
||||
fill_source->type == CAIRO_PATTERN_TYPE_RADIAL)
|
||||
if ( !_cairo_pattern_is_opaque (fill_source) ||
|
||||
!_cairo_pattern_is_opaque (stroke_source))
|
||||
{
|
||||
if (!_cairo_pattern_is_opaque (fill_source))
|
||||
return CAIRO_INT_STATUS_UNSUPPORTED;
|
||||
}
|
||||
if (!_cairo_pattern_is_opaque (stroke_source))
|
||||
return CAIRO_INT_STATUS_UNSUPPORTED;
|
||||
}
|
||||
|
||||
fill_pattern_res.id = 0;
|
||||
gstate_res.id = 0;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue