diff options
author | Anton Danilkin <afdw@yandex.ru> | 2021-04-11 22:42:23 +0200 |
---|---|---|
committer | Anton Danilkin <afdw@yandex.ru> | 2021-04-11 23:59:47 +0200 |
commit | c91afd777a8260931d2c19b9c19679cf3ae6bfe9 (patch) | |
tree | a32c8c654388fd6992a721480d27cb9d717cd843 /src/cairo-svg-surface.c | |
parent | d44bb67c7ffd0d42a29ecb37de0de4b768131ab8 (diff) | |
download | cairo-c91afd777a8260931d2c19b9c19679cf3ae6bfe9.tar.gz |
Do not use parent_matrix in the mask operation
Diffstat (limited to 'src/cairo-svg-surface.c')
-rw-r--r-- | src/cairo-svg-surface.c | 22 |
1 files changed, 10 insertions, 12 deletions
diff --git a/src/cairo-svg-surface.c b/src/cairo-svg-surface.c index 2e8f63fae..a54464738 100644 --- a/src/cairo-svg-surface.c +++ b/src/cairo-svg-surface.c @@ -2652,8 +2652,7 @@ _cairo_svg_surface_get_extents (void *abstract_surface, static cairo_status_t _cairo_svg_surface_emit_paint (cairo_output_stream_t *output, cairo_svg_surface_t *surface, - const cairo_pattern_t *source, - const cairo_pattern_t *mask_source) + const cairo_pattern_t *source) { cairo_status_t status; @@ -2662,7 +2661,7 @@ _cairo_svg_surface_emit_paint (cairo_output_stream_t *output, surface, (cairo_surface_pattern_t *) source, invalid_pattern_id, - mask_source ? &mask_source->matrix : NULL); + NULL); } surface->paint_used = TRUE; @@ -2803,7 +2802,7 @@ _cairo_svg_surface_do_operator (cairo_output_stream_t *output, CAIRO_SVG_FILTER_ADD, lerped_source_compositing_group_id, lerped_destination_compositing_group_id)); - status = _cairo_svg_surface_emit_paint (surface->xml_node, surface, &_cairo_pattern_black.base, NULL); + status = _cairo_svg_surface_emit_paint (surface->xml_node, surface, &_cairo_pattern_black.base); if (unlikely (status)) { return status; } @@ -2868,7 +2867,7 @@ _cairo_svg_surface_do_operator (cairo_output_stream_t *output, (void) _cairo_output_stream_destroy (mask_stream); return status; } - status = _cairo_svg_surface_emit_paint (document->xml_node_defs, surface, &_cairo_pattern_white.base, NULL); + status = _cairo_svg_surface_emit_paint (document->xml_node_defs, surface, &_cairo_pattern_white.base); if (unlikely (status)) { (void) _cairo_output_stream_destroy (destination_stream); (void) _cairo_output_stream_destroy (source_stream); @@ -3100,7 +3099,7 @@ _cairo_svg_surface_do_operator (cairo_output_stream_t *output, "filter=\"url(#filter-%d)\" mask=\"url(#mask-%d)\">\n", filter_id, positive_lerp_mask_id); - status = _cairo_svg_surface_emit_paint (document->xml_node_defs, surface, &_cairo_pattern_black.base, NULL); + status = _cairo_svg_surface_emit_paint (document->xml_node_defs, surface, &_cairo_pattern_black.base); if (unlikely (status)) { return status; } @@ -3122,7 +3121,7 @@ _cairo_svg_surface_do_operator (cairo_output_stream_t *output, CAIRO_SVG_FILTER_ADD, lerped_operation_compositing_group_id, lerped_destination_compositing_group_id)); - status = _cairo_svg_surface_emit_paint (surface->xml_node, surface, &_cairo_pattern_black.base, NULL); + status = _cairo_svg_surface_emit_paint (surface->xml_node, surface, &_cairo_pattern_black.base); if (unlikely (status)) { return status; } @@ -3149,8 +3148,7 @@ _cairo_svg_surface_do_operator (cairo_output_stream_t *output, cairo_output_stream_t *source_stream = _cairo_memory_stream_create (); \ status = _cairo_svg_surface_emit_paint (source_stream, \ surface, \ - SOURCE, \ - NULL); \ + SOURCE); \ if (unlikely (status)) { \ (void) _cairo_output_stream_destroy (source_stream); \ (void) _cairo_output_stream_destroy (mask_stream); \ @@ -3172,7 +3170,7 @@ _cairo_svg_surface_paint_impl (cairo_output_stream_t *output, cairo_svg_surface_t *surface, const cairo_pattern_t *source) { - return _cairo_svg_surface_emit_paint (output, surface, source, NULL); + return _cairo_svg_surface_emit_paint (output, surface, source); } static cairo_int_status_t @@ -3239,7 +3237,7 @@ _cairo_svg_surface_mask_impl (cairo_output_stream_t *output, _cairo_output_stream_printf (temporary_stream, "<g filter=\"url(#filter-%s)\">\n", _cairo_svg_surface_emit_static_filter (document, CAIRO_SVG_FILTER_REMOVE_COLOR)); - status = _cairo_svg_surface_emit_paint (temporary_stream, surface, mask, source); + status = _cairo_svg_surface_emit_paint (temporary_stream, surface, mask); if (unlikely (status)) { (void) _cairo_output_stream_destroy (temporary_stream); return status; @@ -3258,7 +3256,7 @@ _cairo_svg_surface_mask_impl (cairo_output_stream_t *output, "<g mask=\"url(#mask-%d)\">\n", mask_id); - status = _cairo_svg_surface_emit_paint (output, surface, source, NULL); + status = _cairo_svg_surface_emit_paint (output, surface, source); if (unlikely (status)) { return status; } |