summaryrefslogtreecommitdiff
path: root/src/cairo-pdf-surface-private.h
diff options
context:
space:
mode:
authorAdrian Johnson <ajohnson@redneon.com>2016-06-04 14:43:43 +0930
committerAdrian Johnson <ajohnson@redneon.com>2016-06-05 20:43:36 +0930
commita736fd8699e0ebcdd98392acb8383ea414688caf (patch)
tree6504e48c57df95103f89d2f40ce4821500e07942 /src/cairo-pdf-surface-private.h
parent1e07ced66d26475e6631df9ffa2a15709104bd8f (diff)
downloadcairo-a736fd8699e0ebcdd98392acb8383ea414688caf.tar.gz
Fix PDF record-neg-extents test failure
Modify PDF surface to allow surface extents to have negative x, y. When emitting recording surfaces, set the surface extents to the recording extents.
Diffstat (limited to 'src/cairo-pdf-surface-private.h')
-rw-r--r--src/cairo-pdf-surface-private.h10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/cairo-pdf-surface-private.h b/src/cairo-pdf-surface-private.h
index 66ebf609d..cf1a60881 100644
--- a/src/cairo-pdf-surface-private.h
+++ b/src/cairo-pdf-surface-private.h
@@ -76,9 +76,14 @@ typedef struct _cairo_pdf_source_surface_entry {
cairo_bool_t smask;
cairo_pdf_resource_t surface_res;
cairo_pdf_resource_t smask_res;
- int width;
- int height;
+
+ /* Extents of the source surface. If bounded is false,
+ * extents is the ink extents. */
+ cairo_bool_t bounded;
cairo_rectangle_int_t extents;
+
+ /* Union of source extents requried for all operations using this source */
+ cairo_rectangle_int_t required_extents;
} cairo_pdf_source_surface_entry_t;
typedef struct _cairo_pdf_source_surface {
@@ -160,6 +165,7 @@ struct _cairo_pdf_surface {
double width;
double height;
+ cairo_rectangle_int_t surface_extents;
cairo_matrix_t cairo_to_pdf;
cairo_bool_t in_xobject;