summaryrefslogtreecommitdiff
path: root/src/cairo-types-private.h
diff options
context:
space:
mode:
authorAdrian Johnson <ajohnson@redneon.com>2008-01-07 21:05:36 +1030
committerAdrian Johnson <ajohnson@redneon.com>2008-01-07 21:05:36 +1030
commite195cb551caa40f309127ac7a39e4a17653966c8 (patch)
treeebc4275581ca569743771a11dedae48fb3b419e7 /src/cairo-types-private.h
parentd2a5d1ace64cb9efabcb065e7fc28667dd8f779d (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.h3
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