cairo/src
Adrian Johnson bf92255edd PS: Add finer-grained image fallback support
The analysis surface now keeps track of two regions: supported
operations, and unsupported operations. If the target surface returns
CAIRO_INT_STATUS_FLATTEN_TRANSPARENCY, the analysis surface will check
if any previous operation intersects with this operation. If there is
nothing previously drawn under the operation, the status is changed to
supported.

The meta surface has two new functions:
        _cairo_meta_surface_replay_region()
        _cairo_meta_surface_replay_and_create_regions()

During the analysis stage, the paginated surface replays the meta
surface using _cairo_meta_surface_replay_and_create_regions(). The
return status from each analyzed operation is saved in the meta
surface. The _cairo_meta_surface_replay_region() function allows only
operations from either the supported or unsupported region to be
replayed. This allows the paginated surface to replay only the
supported operations before emitting a fallback image for each
rectangle in the unsupported region.
2007-08-21 22:27:57 +09:30
..
.gitignore Update .gitignore 2007-04-16 15:08:54 +01:00
cairo-analysis-surface-private.h PS: Add finer-grained image fallback support 2007-08-21 22:27:57 +09:30
cairo-analysis-surface.c PS: Add finer-grained image fallback support 2007-08-21 22:27:57 +09:30
cairo-arc-private.h Add cairo_private to several function prototypes that were missing it. 2005-08-09 13:01:14 +00:00
cairo-arc.c Rename ARRAY_LEN to ARRAY_LENGTH 2007-04-10 10:14:49 -07:00
cairo-array.c Spell check the docs 2007-01-07 02:08:15 -05:00
cairo-atsui-font.c Fix device_offset misuse in all glyph surface uses 2007-08-20 21:01:55 -04:00
cairo-atsui.h Bring the ATSUI backend up to date wrt the new font backend changes. Also, add cairo_atsui_font_face_create_for_atsu_font_id which takes an ATSUFontID and returns a cairo_font_face_t. 2005-09-30 08:31:36 +00:00
cairo-backend.pc.in Fix Name tag in backend .pc files to include "cairo-". 2006-07-13 14:33:41 -04:00
cairo-base85-stream.c Make sure all nil objects start with _cairo_ 2007-04-03 19:26:18 -04:00
cairo-bentley-ottmann.c [fix] Avoid int overflow when allocating large buffers 2007-06-29 09:46:08 -07:00
cairo-beos-surface.cpp [fix] Avoid int overflow when allocating large buffers 2007-06-29 09:46:08 -07:00
cairo-beos.h Remove initial, final, and duplicate blank lines. 2006-06-06 15:50:33 -07:00
cairo-cache-private.h Move cairo_cache_t to cairo-types-private.h 2007-04-21 03:18:30 -04:00
cairo-cache.c Move cairo_cache_t to cairo-types-private.h 2007-04-21 03:18:30 -04:00
cairo-cff-subset.c CFF Subsetting: fix integer encoding bug 2007-08-02 21:25:46 +09:30
cairo-clip-private.h [fixpt] Create cairo_region wrapper around pixman_region16_t 2007-07-18 22:46:46 +02:00
cairo-clip.c [fixpt] Fixup malloc usage to use _cairo_malloc_* 2007-07-18 22:46:46 +02:00
cairo-color.c [cairo-color] Only compare the shorts for equality. 2007-05-05 12:33:29 +01:00
cairo-debug.c [cairo-xlib] Split per-display attributes from per-screen. 2007-05-04 14:02:28 +01:00
cairo-deflate-stream.c [cairo-deflate-stream] Free the stream on error. 2007-05-16 16:06:25 +01:00
cairo-deprecated.h Move the REPLACED/DEPRECATED_BY macros from cairo.h to cairo-deprecated.h 2006-09-11 11:12:47 -07:00
cairo-directfb-surface.c Fix device_offset misuse in all glyph surface uses 2007-08-20 21:01:55 -04:00
cairo-directfb.h Fixed compile error from missing directfb.h include 2007-04-11 21:42:57 -07:00
cairo-fixed-private.h [fixpt] Let the compiler calculate the magic double-to-fixed value 2007-07-18 22:46:46 +02:00
cairo-fixed.c [fixpt] Make fixed point methods static inline and generic 2007-07-18 22:45:21 +02:00
cairo-font-face.c [cairo-font-options] Check for the nil-object. 2007-05-08 22:00:46 +01:00
cairo-font-options.c [cairo-font-options] Check for the nil-object. 2007-05-08 22:00:46 +01:00
cairo-freelist-private.h [cairo-freelist] Remove redundant struct declarations 2007-04-19 16:07:15 -04:00
cairo-freelist.c [src] Make sure all source files #include "cairoint.h" as their first include 2007-04-03 20:28:11 -04:00
cairo-ft-font.c Fix device_offset misuse in all glyph surface uses 2007-08-20 21:01:55 -04:00
cairo-ft-private.h slim_hidden_proto: Move smeicolon from definition to use for consistency and legibility 2006-09-05 17:22:07 -07:00
cairo-ft.h Give cairo_public an empty definition by default. 2005-09-07 16:31:22 +00:00
cairo-glitz-private.h [slim] hide cairo_glitz_surface_create() (#8551) 2006-10-08 17:07:17 -04:00
cairo-glitz-surface.c Fix device_offset misuse in all glyph surface uses 2007-08-20 21:01:55 -04:00
cairo-glitz.h Give cairo_public an empty definition by default. 2005-09-07 16:31:22 +00:00
cairo-gstate-private.h Remove extraneous whitespace from "blank" lines. 2006-06-06 15:25:49 -07:00
cairo-gstate.c [fixpt] Replace cairo_rectangle_int16_t with cairo_rectangle_int_t 2007-07-18 22:45:21 +02:00
cairo-hash-private.h Move cairo_hash_entry_t to cairo-types-private.h 2007-04-21 03:35:07 -04:00
cairo-hash.c Rename ARRAY_LEN to ARRAY_LENGTH 2007-04-10 10:14:49 -07:00
cairo-hull.c [fix] Avoid int overflow when allocating large buffers 2007-06-29 09:46:08 -07:00
cairo-image-surface.c [cairo-image-surface] Simplify device-offset usage 2007-08-20 21:01:55 -04:00
cairo-lzw.c Spell check the docs 2007-01-07 02:08:15 -05:00
cairo-malloc-private.h [fix] Avoid int overflow when allocating large buffers 2007-06-29 09:46:08 -07:00
cairo-matrix.c [fixpt] remove dependency on some pixman types 2007-07-18 22:45:21 +02:00
cairo-meta-surface-private.h PS: Add finer-grained image fallback support 2007-08-21 22:27:57 +09:30
cairo-meta-surface.c PS: Add finer-grained image fallback support 2007-08-21 22:27:57 +09:30
cairo-mutex-list-private.h [cairo-pattern] Cache surface for solid patterns 2007-05-04 14:29:38 +01:00
cairo-mutex-private.h [cairo-mutex] Rewrite defaults for CAIRO_MUTEX macros not defined by the implementation 2007-05-01 19:45:29 -04:00
cairo-mutex-type-private.h [cairo-mutex] Document the API for adding cairo_mutex_t implementations 2007-05-01 20:10:39 -04:00
cairo-mutex.c [cairo-mutex] Fix typo. 2007-05-03 19:04:21 -04:00
cairo-operator.c Remove extraneous whitespace from "blank" lines. 2006-06-06 15:25:49 -07:00
cairo-os2-private.h OS/2 backend files 2006-09-15 11:18:14 +02:00
cairo-os2-surface.c [fixpt] Replace cairo_rectangle_int16_t with cairo_rectangle_int_t 2007-07-18 22:45:21 +02:00
cairo-os2.h [directfb,os2] #error if the backend is not compiled in, like others do 2007-03-13 05:14:18 -04:00
cairo-output-stream-private.h [pdf] Move cairo_pdf_surface_t to cairo-pdf-surface-private.h 2007-04-21 02:10:34 -04:00
cairo-output-stream.c Make cairo-output-stream.c accept variable width printf fields 2007-04-20 22:43:37 +09:30
cairo-paginated-private.h [paginated] Move cairo_paginated_surface_t to cairo-paginated-surface-private.h 2007-04-21 02:43:28 -04:00
cairo-paginated-surface-private.h [paginated] Include cairo-surface-private.h 2007-04-21 03:04:03 -04:00
cairo-paginated-surface.c PS: Add finer-grained image fallback support 2007-08-21 22:27:57 +09:30
cairo-path-bounds.c Make _cairo_path_bounder_add_point void 2007-04-09 17:16:30 -07:00
cairo-path-fill.c Add a status field to cairo_polygon_t 2007-04-10 10:45:15 -07:00
cairo-path-fixed-private.h [cairo-path-fixed] Fine-tune size of buffer 2007-03-13 05:14:18 -04:00
cairo-path-fixed.c Fix path_fixed_offset_and_scale to apply scale and offset in right order 2007-08-20 17:32:05 -07:00
cairo-path-private.h Rename remaining cairo_path_data to cairo_path in function names, etc. 2006-12-19 13:10:14 -08:00
cairo-path-stroke.c [cairo-pen] Remove status from _cairo_pen_find_active_vertex_*() 2007-08-16 15:20:25 +01:00
cairo-path.c [fix] Avoid int overflow when allocating large buffers 2007-06-29 09:46:08 -07:00
cairo-pattern.c [cairo-pattern] Assert that the pattern->matrix is invertible. 2007-08-16 15:12:00 +01:00
cairo-pdf-surface-private.h PDF: Change CTM to identity 2007-04-27 16:13:01 -07:00
cairo-pdf-surface.c [cairo-pdf-surface] Check for errors during compression. 2007-08-16 15:29:47 +01:00
cairo-pdf.h cairo-pdf.h: Add missing cairo_public decorators 2006-09-18 13:32:00 -04:00
cairo-pen.c [cairo-pen] Remove status from _cairo_pen_find_active_vertex_*() 2007-08-16 15:20:25 +01:00
cairo-png.c [cairo-png] Protect against malloc(0). 2007-08-16 15:32:02 +01:00
cairo-polygon.c [fix] Avoid int overflow when allocating large buffers 2007-06-29 09:46:08 -07:00
cairo-private.h [cairo_t] Embed a gstate into cairo_t 2007-03-13 05:14:19 -04:00
cairo-ps-surface-private.h [ps] Get rid of _cairo_ps_test_force_fallbacks 2007-04-21 02:51:22 -04:00
cairo-ps-surface.c PS: Add finer-grained image fallback support 2007-08-21 22:27:57 +09:30
cairo-ps.h New API: Replace cairo_{ps,pdf,svg}_set_dpi with new cairo_surface_set_fallback_resolution. 2006-06-09 16:52:17 -07:00
cairo-quartz-private.h [fixpt] Replace cairo_rectangle_int16_t with cairo_rectangle_int_t 2007-07-18 22:45:21 +02:00
cairo-quartz-surface.c [fixpt] Replace cairo_rectangle_int16_t with cairo_rectangle_int_t 2007-07-18 22:45:21 +02:00
cairo-quartz.h [quartz] Remove (disabled) support for rendering via AGL/CGGL 2007-02-20 16:18:27 -08:00
cairo-rectangle.c [fixpt] Replace cairo_rectangle_int16_t with cairo_rectangle_int_t 2007-07-18 22:45:21 +02:00
cairo-region-private.h PS: Add finer-grained image fallback support 2007-08-21 22:27:57 +09:30
cairo-region.c PS: Add finer-grained image fallback support 2007-08-21 22:27:57 +09:30
cairo-scaled-font-private.h [cairo-mutex-private.h] Move implementation-specific parts to cairo-mutex-type-private.h 2007-05-01 00:41:47 -04:00
cairo-scaled-font-subsets-private.h [pdf] Move cairo_pdf_surface_t to cairo-pdf-surface-private.h 2007-04-21 02:10:34 -04:00
cairo-scaled-font-subsets.c [fix] Avoid int overflow when allocating large buffers 2007-06-29 09:46:08 -07:00
cairo-scaled-font.c [cairo-scaled-font] Document how glyph surfaces use device offsets 2007-08-20 21:01:55 -04:00
cairo-skiplist-private.h [cairo-skiplist] Use one random number per insertion, instead of two 2007-04-09 19:39:50 -04:00
cairo-skiplist.c Merge branch 'warn-unused-result' into cairo 2007-04-11 13:15:57 -07:00
cairo-slope.c [cairo-slope] Make comparison stable if both vectors are zero 2007-03-13 05:14:20 -04:00
cairo-spline.c [fix] Avoid int overflow when allocating large buffers 2007-06-29 09:46:08 -07:00
cairo-stroke-style.c [fix] Avoid int overflow when allocating large buffers 2007-06-29 09:46:08 -07:00
cairo-surface-fallback-private.h [fixpt] Replace cairo_rectangle_int16_t with cairo_rectangle_int_t 2007-07-18 22:45:21 +02:00
cairo-surface-fallback.c [fixpt] Create cairo_region wrapper around pixman_region16_t 2007-07-18 22:46:46 +02:00
cairo-surface-private.h [cairo-surface] Move cairo_surface_t struct in cairo-surface-private.h 2007-04-21 02:08:37 -04:00
cairo-surface.c [fixpt] Create cairo_region wrapper around pixman_region16_t 2007-07-18 22:46:46 +02:00
cairo-svg-surface-private.h SVG: Don't clip SVG element, as clipping region is implicit. 2007-05-08 09:11:57 +02:00
cairo-svg-surface.c Fix device_offset misuse in all glyph surface uses 2007-08-20 21:01:55 -04:00
cairo-svg.h [SVG] Define enum _cairo_svg_version. 2006-11-21 00:22:19 -05:00
cairo-traps.c [fixpt] Create cairo_region wrapper around pixman_region16_t 2007-07-18 22:46:46 +02:00
cairo-truetype-subset-private.h TrueType: fix bug #9998 - build error with gcc 2.95 2007-02-17 10:55:14 +10:30
cairo-truetype-subset.c [cairo-truetype-subset] Avoid malloc(0). 2007-08-16 15:33:54 +01:00
cairo-type1-fallback.c [cairo-scaled-font] Check for allocation failure. 2007-05-10 17:18:27 +01:00
cairo-type1-private.h [Type1] Add cairo-type1-private.h that Type1 fallback and subset code share 2007-03-07 16:02:08 -05:00
cairo-type1-subset.c [Type1] #include <ctype.h> (#10989) 2007-05-18 11:55:56 -04:00
cairo-types-private.h Move a couple typedefs to cairo-types-private.h 2007-04-21 03:38:24 -04:00
cairo-unicode.c [fix] Avoid int overflow when allocating large buffers 2007-06-29 09:46:08 -07:00
cairo-wideint-private.h Define INT32 limits on MSVC as noticed by Hans-Jürgen Schäler 2007-04-19 14:54:30 +02:00
cairo-wideint.c cairo-wideint: Fix to eliminate comparison of signed and unsigned values 2007-01-20 02:01:29 -08:00
cairo-win32-font.c [fix] Avoid int overflow when allocating large buffers 2007-06-29 09:46:08 -07:00
cairo-win32-private.h [fixpt] Replace cairo_rectangle_int16_t with cairo_rectangle_int_t 2007-07-18 22:45:21 +02:00
cairo-win32-surface.c [win32] compilation fix for win32 2007-08-03 14:20:14 -07:00
cairo-win32.h Remove WINVER from public header file 2007-01-04 16:46:22 +01:00
cairo-xcb-surface.c Fix device_offset misuse in all glyph surface uses 2007-08-20 21:01:55 -04:00
cairo-xcb-xrender.h XCB: Move slim_hidden_def to cairo-xcb-surface.c, not cairo-xcb-xrender.h. 2006-10-16 11:44:08 -07:00
cairo-xcb.h Update XCB names for XCB 1.0 RC2 release. 2006-10-11 21:52:49 -07:00
cairo-xlib-display.c Prefer local dpy variable instead of display->display 2007-06-27 11:11:36 -07:00
cairo-xlib-private.h [cairo-xlib-screen] Increase number of GC depths. 2007-05-16 16:06:25 +01:00
cairo-xlib-screen.c [cairo-xlib-screen] Increase number of GC depths. 2007-05-16 16:06:25 +01:00
cairo-xlib-surface-private.h [cairo-xlib-surface] Defer application of clip mask until required. 2007-05-04 14:19:57 +01:00
cairo-xlib-surface.c Fix device_offset misuse in all glyph surface uses 2007-08-20 21:01:55 -04:00
cairo-xlib-xrender.h Add include of X11/Xlib.h to cairo-xlib-xrender.h 2007-06-08 15:36:05 -07:00
cairo-xlib.h Surface size getters for xlib 2006-06-25 11:23:43 +02:00
cairo.c [fixpt] Replace cairo_rectangle_int16_t with cairo_rectangle_int_t 2007-07-18 22:45:21 +02:00
cairo.h [doc] Minor documentation fixes 2007-05-28 17:05:40 -04:00
cairo.pc.in Improve backend .pc files generation: 2006-07-12 04:27:55 -04:00
cairoint.h PS: Add finer-grained image fallback support 2007-08-21 22:27:57 +09:30
check-cairoint.sh [pixman/src/check-config.sh] Test that all source files #include <config.h> 2007-04-03 20:30:30 -04:00
check-def.sh [check-def.sh] Do not allow _cairo_.*_test_ symbols anymore 2007-04-21 03:44:53 -04:00
check-headers.sh Add attribute(warn_unused_result) 2007-04-09 15:01:58 +01:00
check-plt.sh [check-plt] Ignore entries for pixman. 2007-07-05 19:15:10 +01:00
Makefile.am [pixman] Initial port to standalone pixman library. 2007-06-21 22:21:11 -07:00
Makefile.win32 Rename cairo-font.c to cairo-font-face.c 2007-04-18 18:24:09 -04:00
test-fallback-surface.c [fixpt] Replace cairo_rectangle_int16_t with cairo_rectangle_int_t 2007-07-18 22:45:21 +02:00
test-fallback-surface.h [test-surfaces] Prefix public symbols with _cairo 2007-03-13 05:14:19 -04:00
test-meta-surface.c [fixpt] Replace cairo_rectangle_int16_t with cairo_rectangle_int_t 2007-07-18 22:45:21 +02:00
test-meta-surface.h [test-surfaces] Prefix public symbols with _cairo 2007-03-13 05:14:19 -04:00
test-paginated-surface.c [fixpt] Create cairo_region wrapper around pixman_region16_t 2007-07-18 22:46:46 +02:00
test-paginated-surface.h [test-surfaces] Prefix public symbols with _cairo 2007-03-13 05:14:19 -04:00