diff options
author | Adrian Johnson <ajohnson@redneon.com> | 2008-01-07 21:05:36 +1030 |
---|---|---|
committer | Adrian Johnson <ajohnson@redneon.com> | 2008-01-07 21:05:36 +1030 |
commit | e195cb551caa40f309127ac7a39e4a17653966c8 (patch) | |
tree | ebc4275581ca569743771a11dedae48fb3b419e7 /src/cairo-paginated-surface.c | |
parent | d2a5d1ace64cb9efabcb065e7fc28667dd8f779d (diff) |
Add FALLBACK mode to paginated surface
The PDF surface needs to know when the fallback images start so it can
close off the content stream and create a knockout transparency group
for the fallback images. Currently it does this by looking for
operations with CAIRO_OPERATOR_SOURCE. PDF returns unsupported for
_SOURCE during the analysis phase so _SOURCE will never appear during
native operations. However this prevents the PDF surface from
supporting _SOURCE operations that can be natively supported. For
example a _SOURCE operation with nothing painting under it can be
converted to _OVER and natively supported.
A third mode, CAIRO_PAGINATED_MODE_FALLBACK, has been added. The
paginated surface will set this mode before it paints finer-grained
fallback images.
Diffstat (limited to 'src/cairo-paginated-surface.c')
-rw-r--r-- | src/cairo-paginated-surface.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/cairo-paginated-surface.c b/src/cairo-paginated-surface.c index 068a60c1..d644d874 100644 --- a/src/cairo-paginated-surface.c +++ b/src/cairo-paginated-surface.c @@ -365,7 +365,9 @@ _paint_page (cairo_paginated_surface_t *surface) cairo_box_int_t *boxes; int num_boxes, i; - /* Reset clip region before drawing the fall back images */ + surface->backend->set_paginated_mode (surface->target, CAIRO_PAGINATED_MODE_FALLBACK); + + /* Reset clip region before drawing the fall back images */ status = _cairo_surface_intersect_clip_path (surface->target, NULL, CAIRO_FILL_RULE_WINDING, |