[cairo-commit] src/cairo-ps-surface.c src/cairo-ps-surface-private.h

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Sun Dec 2 11:02:31 UTC 2018


 src/cairo-ps-surface-private.h |    2 ++
 src/cairo-ps-surface.c         |    5 +++++
 2 files changed, 7 insertions(+)

New commits:
commit 3c4570f8f49655735e13b35295ae3bc3ec81d027
Author: Adrian Johnson <ajohnson at redneon.com>
Date:   Sun Dec 2 19:44:03 2018 +1030

    ps: fix invalid matrix in eps embedding

diff --git a/src/cairo-ps-surface-private.h b/src/cairo-ps-surface-private.h
index e1681c889..f18403190 100644
--- a/src/cairo-ps-surface-private.h
+++ b/src/cairo-ps-surface-private.h
@@ -56,6 +56,8 @@ typedef struct _cairo_ps_form {
     cairo_bool_t is_image;
     int id;
     cairo_surface_t *src_surface;
+    cairo_rectangle_int_t src_surface_extents;
+    cairo_bool_t src_surface_bounded;
     cairo_filter_t filter;
 
     /* Union of source extents required for all operations using this form */
diff --git a/src/cairo-ps-surface.c b/src/cairo-ps-surface.c
index 0a17b81af..c4643f824 100644
--- a/src/cairo-ps-surface.c
+++ b/src/cairo-ps-surface.c
@@ -3548,6 +3548,8 @@ _cairo_ps_surface_use_form (cairo_ps_surface_t           *surface,
     source_entry->unique_id = unique_id;
     source_entry->id = surface->num_forms++;
     source_entry->src_surface = cairo_surface_reference (params->src_surface);
+    source_entry->src_surface_extents = *params->src_surface_extents;
+    source_entry->src_surface_bounded = params->src_surface_bounded;
     source_entry->required_extents = *params->src_op_extents;
     source_entry->filter = params->filter;
     source_entry->is_image = params->is_image;
@@ -3726,11 +3728,14 @@ _cairo_ps_form_emit (void *entry, void *closure)
 
     params.src_surface = form->src_surface;
     params.op = CAIRO_OPERATOR_OVER;
+    params.src_surface_extents = &form->src_surface_extents;
+    params.src_surface_bounded = form->src_surface_bounded;
     params.src_op_extents = &form->required_extents;
     params.filter = form->filter;
     params.stencil_mask = FALSE;
     params.is_image = form->is_image;
     params.approx_size = 0;
+    params.eod_count = 0;
 
     _cairo_output_stream_printf (surface->final_stream,
 				 "%%%%BeginResource: form cairoform-%d\n",


More information about the cairo-commit mailing list