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-types-private.h | |
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-types-private.h')
-rw-r--r-- | src/cairo-types-private.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/cairo-types-private.h b/src/cairo-types-private.h index a7af7126..3954f13b 100644 --- a/src/cairo-types-private.h +++ b/src/cairo-types-private.h @@ -123,7 +123,8 @@ struct _cairo_cache { typedef enum _cairo_paginated_mode { CAIRO_PAGINATED_MODE_ANALYZE, /* analyze page regions */ - CAIRO_PAGINATED_MODE_RENDER /* render page contents */ + CAIRO_PAGINATED_MODE_RENDER, /* render page contents */ + CAIRO_PAGINATED_MODE_FALLBACK /* paint fallback images */ } cairo_paginated_mode_t; /* Sure wish C had a real enum type so that this would be distinct |