cairo/src
Chris Wilson fd613cb9f9 xcb: track fallback damage
And only upload the parts of the image that are modified during the
fallback. I have to keep reminding myself that the goal is always to
reduce the amount of fallbacks required...

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-09-19 15:23:57 +01:00
..
drm Implement cairo_backend_t 2011-07-15 11:05:19 +01:00
skia skia: fix compilation 2011-09-14 20:21:03 +01:00
.gitignore [build] Include all generated win32 build files in the repo 2009-01-09 15:55:24 -05:00
cairo-analysis-surface-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-analysis-surface.c analysis mask: unwrap recording surface snapshot 2011-09-16 20:53:28 +09:30
cairo-arc-private.h skia: Update to use cairo_backend_t interface 2011-08-13 09:58:02 +01:00
cairo-arc.c arc: Clamp to 65536 full circles 2010-12-09 17:33:12 +01:00
cairo-array-private.h Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-array.c Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-atomic-private.h Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-atomic.c atomic: Tweak for compilation x86. 2010-04-29 10:04:54 +01:00
cairo-backend-private.h skia: Update to use cairo_backend_t interface 2011-08-13 09:58:02 +01:00
cairo-base64-stream.c Update FSF address 2010-04-27 11:13:38 +02:00
cairo-base85-stream.c Update FSF address 2010-04-27 11:13:38 +02:00
cairo-bentley-ottmann-rectangular.c Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-bentley-ottmann-rectilinear.c Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-bentley-ottmann.c bentley-ottman: End subsumed colinear traps 2011-09-16 13:49:24 +01:00
cairo-beos-surface.cpp doc: Move tmpl/ docs to inline docs 2010-07-08 14:27:16 +02:00
cairo-beos.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-botor-scan-converter.c Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-box-private.h Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-boxes-intersect.c Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-boxes-private.h Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-boxes.c Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-cache-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-cache.c Update FSF address 2010-04-27 11:13:38 +02:00
cairo-cff-subset.c subsetting: Support unicode fontnames 2011-09-15 22:05:22 +09:30
cairo-clip-boxes.c Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-clip-polygon.c observer: further classify general clips 2011-08-18 12:37:57 +01:00
cairo-clip-private.h cairo_clip_path_t: Remove extents 2011-09-14 15:21:37 +02:00
cairo-clip-region.c Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-clip-surface.c _cairo_clip_get_surface(): Don't lose errors 2011-09-18 20:07:35 +02:00
cairo-clip-tor-scan-converter.c Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-clip.c Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-color.c color: Remove unused functions 2011-07-08 11:14:16 +02:00
cairo-combsort-private.h record: Use a bbtree to reduce is-visible checking overheads 2011-07-28 14:10:13 +01:00
cairo-compiler-private.h gl: Rectangular fast path 2011-07-29 15:06:20 +01:00
cairo-composite-rectangles-private.h xcb: track fallback damage 2011-09-19 15:23:57 +01:00
cairo-composite-rectangles.c xcb: track fallback damage 2011-09-19 15:23:57 +01:00
cairo-compositor-private.h Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-compositor.c Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-contour-private.h stroke: Convert the outlines into contour and then into a polygon 2011-08-15 10:31:47 +01:00
cairo-contour.c stroke: Convert the outlines into contour and then into a polygon 2011-08-15 10:31:47 +01:00
cairo-debug.c image: move surface definition to new header for subclassing 2011-08-13 09:54:28 +01:00
cairo-default-context-private.h Update FSF address 2011-07-31 13:05:21 +02:00
cairo-default-context.c Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-deflate-stream.c Remove if's from Makefile.sources 2011-06-14 15:25:08 +02:00
cairo-deprecated.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-device-private.h device: Make flush vfunc return a cairo_status_t 2010-06-07 13:37:48 +02:00
cairo-device.c device: Flush on a finished device is a no-op 2011-07-29 13:01:59 +02:00
cairo-directfb-surface.c Remove useless checks for NULL before freeing 2011-07-31 16:46:36 +02:00
cairo-directfb.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-drm.h drm: code dump, sorry. 2010-05-12 20:54:49 +01:00
cairo-egl-context.c egl: Ensure that the dummy pbuffer surface is compatible with the supplied context 2011-02-18 09:45:00 -05:00
cairo-error-private.h skia: Update to use cairo_backend_t interface 2011-08-13 09:58:02 +01:00
cairo-error.c clip: Rudimentary support for clip-polygon extraction 2011-07-19 21:14:34 +01:00
cairo-fallback-compositor.c Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-features-uninstalled.pc.in build: Fudge the build system some more so it handles extra libs 2010-08-10 01:24:30 +02:00
cairo-features.pc.in build: Fudge the build system some more so it handles extra libs 2010-08-10 01:24:30 +02:00
cairo-fixed-private.h clip: Rudimentary support for clip-polygon extraction 2011-07-19 21:14:34 +01:00
cairo-fixed-type-private.h Update license blocks to use "Mozilla Foundation" instead of "Mozilla Corporation" 2010-05-06 16:07:43 -04:00
cairo-fixed.c Update FSF address 2010-04-27 11:13:38 +02:00
cairo-font-face-twin-data.c [twin] Improve glyph hints 2008-12-25 02:46:27 -05:00
cairo-font-face-twin.c clip: Rudimentary support for clip-polygon extraction 2011-07-19 21:14:34 +01:00
cairo-font-face.c doc: Fix some broken references and gtk-doc warnings 2011-01-16 18:40:49 +01:00
cairo-font-options.c doc: Fix some broken references and gtk-doc warnings 2011-01-16 18:40:49 +01:00
cairo-fontconfig-private.h Make distcheck happy. 2010-07-12 11:05:57 +01:00
cairo-freed-pool-private.h Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-freed-pool.c freed-pool: Don't access beyond the end of the array. 2010-05-20 21:57:58 +01:00
cairo-freelist-private.h freelist: Separate freelist inlines from the datatype in headers. 2010-09-02 14:51:30 +01:00
cairo-freelist-type-private.h freelist: Separate freelist inlines from the datatype in headers. 2010-09-02 14:51:30 +01:00
cairo-freelist.c drm: code dump, sorry. 2010-05-12 20:54:49 +01:00
cairo-ft-font.c ft: fix warning 2011-09-12 22:01:09 +09:30
cairo-ft-private.h scaled-font: Make unscaled font utility functions static 2011-08-01 19:22:51 +02:00
cairo-ft.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-gl-composite.c Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-gl-device.c Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-gl-dispatch-private.h gl: Add GLES2 support to dispatch table initialization 2011-05-10 08:18:52 +01:00
cairo-gl-dispatch.c gl: Add fallback path for GLES2 implementations not supporting GL_OES_mapbuffer 2011-05-10 08:37:51 +01:00
cairo-gl-ext-def-private.h gl: Fix build issues for GLES2 2011-05-10 08:35:26 +01:00
cairo-gl-glyphs.c Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-gl-gradient-private.h gl: Compile fix, missing include cairo-pattern-private.h 2011-07-18 10:31:25 +01:00
cairo-gl-gradient.c gl: Use conventional texture upload for GLES2 2011-05-10 08:30:29 +01:00
cairo-gl-info.c gl: Store the GL flavor (Desktop or ES) in the device struct 2011-05-10 08:18:15 +01:00
cairo-gl-operand.c Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-gl-private.h Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-gl-shaders.c Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-gl-spans-compositor.c Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-gl-surface-legacy.c clip: Rudimentary support for clip-polygon extraction 2011-07-19 21:14:34 +01:00
cairo-gl-surface.c Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-gl-traps-compositor.c Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-gl.h gl: Fix build issues for GLES2 2011-05-10 08:35:26 +01:00
cairo-glx-context.c gl: Take advantage of GLX_MESA_multithread_makecurrent to avoid unbinding. 2011-02-26 14:09:33 -08:00
cairo-gstate-private.h clip: Rudimentary support for clip-polygon extraction 2011-07-19 21:14:34 +01:00
cairo-gstate.c Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-hash-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-hash.c hash: Code cleanup 2011-08-03 12:31:41 +02:00
cairo-hull.c Update FSF address 2010-04-27 11:13:38 +02:00
cairo-image-compositor.c image: fix compilation of spans with LERP 2011-09-14 20:21:08 +01:00
cairo-image-info-private.h Convert mime data length to use unsigned long 2010-07-10 11:16:19 +01:00
cairo-image-info.c clip: Rudimentary support for clip-polygon extraction 2011-07-19 21:14:34 +01:00
cairo-image-mask-compositor.c Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-image-source.c image: intersect the source extents with the replay extents for EXTEND_NONE 2011-09-17 12:01:49 +01:00
cairo-image-spans-compositor.c Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-image-surface-private.h Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-image-surface.c Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-list-private.h drm: code dump, sorry. 2010-05-12 20:54:49 +01:00
cairo-lzw.c Update FSF address 2010-04-27 11:13:38 +02:00
cairo-malloc-private.h malloc: Fix build on suncc 2011-09-04 16:23:37 -07:00
cairo-mask-compositor.c Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-matrix.c Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-mesh-pattern-rasterizer.c Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-mime-surface.c Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-misc.c Remove useless checks for NULL before freeing 2011-07-31 16:46:36 +02:00
cairo-mono-scan-converter.c mono: Amalgamate adjacent spans 2011-09-14 19:22:24 +01:00
cairo-mutex-impl-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-mutex-list-private.h Make error contexts static 2011-07-05 10:00:14 +02:00
cairo-mutex-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-mutex-type-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-mutex.c Update FSF address 2010-04-27 11:13:38 +02:00
cairo-no-compositor.c Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-observer.c gstate: Update cached matrix state after device transform changes on the target 2010-06-11 16:08:17 +01:00
cairo-os2-private.h os2: Fix blitting 24 bpp pixel data. 2010-08-08 22:29:39 +03:00
cairo-os2-surface.c os2-surface needs to include cairo-image-surface-private.h 2011-09-18 08:49:38 +01:00
cairo-os2.h os2: New API to create surfaces without a persistent HPS. 2010-08-08 22:29:39 +03:00
cairo-output-stream-private.h Convert mime data length to use unsigned long 2010-07-10 11:16:19 +01:00
cairo-output-stream.c Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-paginated-private.h image: extend support of direct replay for paginated surfaces 2011-07-29 18:39:27 +01:00
cairo-paginated-surface-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-paginated-surface.c Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-path-bounds.c Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-path-fill.c Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-path-fixed-private.h Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-path-fixed.c path: Fix a minor oversight in 1ce5d4707c 2011-09-16 18:00:21 +02:00
cairo-path-in-fill.c stroke: Convert the outlines into contour and then into a polygon 2011-08-15 10:31:47 +01:00
cairo-path-private.h Implement cairo_backend_t 2011-07-15 11:05:19 +01:00
cairo-path-stroke-boxes.c Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-path-stroke-polygon.c Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-path-stroke-tristrip.c Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-path-stroke.c Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-path.c Remove useless checks for NULL before freeing 2011-07-31 16:46:36 +02:00
cairo-pattern-private.h Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-pattern.c Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-pdf-operators-private.h check: make check-headers happy 2011-08-15 00:26:09 +01:00
cairo-pdf-operators.c Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-pdf-shading-private.h Update FSF address 2011-07-31 13:05:21 +02:00
cairo-pdf-shading.c Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-pdf-surface-private.h pdf: use _emit_smask() instead of _emit_imagemask to emit stencil mask 2011-09-06 21:36:54 +09:30
cairo-pdf-surface.c pdf: Use the helper functions to update the composite rectangles 2011-09-18 08:27:06 +01:00
cairo-pdf.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-pen.c Update FSF address 2010-04-27 11:13:38 +02:00
cairo-png.c image: move surface definition to new header for subclassing 2011-08-13 09:54:28 +01:00
cairo-polygon-intersect.c Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-polygon-reduce.c clip: Rudimentary support for clip-polygon extraction 2011-07-19 21:14:34 +01:00
cairo-polygon.c Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-private.h Implement cairo_backend_t 2011-07-15 11:05:19 +01:00
cairo-ps-surface-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-ps-surface.c ps: Check earlier for a supported mask 2011-09-15 14:51:11 +01:00
cairo-ps.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-qt-surface.cpp Fix surface backend structures 2011-07-26 22:03:31 +02:00
cairo-qt.h qt: Define cairo-qt's API as C symbols 2010-07-11 18:53:42 +02:00
cairo-quartz-font.c quartz-font: Fix scaled font backend hooks 2011-09-18 09:13:17 -07:00
cairo-quartz-image-surface.c Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-quartz-image.h Update license blocks to use "Mozilla Foundation" instead of "Mozilla Corporation" 2010-05-06 16:07:43 -04:00
cairo-quartz-private.h quartz: Rename declaration of _cairo_quartz_create_cgimage 2011-09-03 09:15:48 -07:00
cairo-quartz-surface.c quartz: Fix build 2011-09-18 08:48:05 -07:00
cairo-quartz.h Update license blocks to use "Mozilla Foundation" instead of "Mozilla Corporation" 2010-05-06 16:07:43 -04:00
cairo-recording-surface-private.h Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-recording-surface.c Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-rectangle.c API: map-to-image and create-similar-image 2011-07-26 14:55:58 +01:00
cairo-rectangular-scan-converter.c Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-reference-count-private.h Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-region-private.h region: _cairo_region_create_in_error() 2010-05-10 12:45:31 +01:00
cairo-region.c region: Directly handle single rectangle creation in create_rectangles() 2011-07-23 20:02:35 +01:00
cairo-rtree-private.h check: make check-headers happy 2011-08-15 00:26:09 +01:00
cairo-rtree.c rtree: Remove the unused evict hook. 2010-05-12 20:54:49 +01:00
cairo-scaled-font-private.h Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-scaled-font-subsets-private.h subsetting: Support unicode fontnames 2011-09-15 22:05:22 +09:30
cairo-scaled-font-subsets.c scaled-subsets: ensure different glyphs with same utf8 mapping are not merged together 2011-09-12 22:04:06 +09:30
cairo-scaled-font.c Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-script-private.h Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-script-surface.c script: Tag the similar surface rather than snapshot 2011-09-15 15:29:15 +01:00
cairo-script.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-skia-surface.cpp pattern: Use double precision for gradient extreme objects 2011-01-02 18:33:14 +01:00
cairo-skia.h skia: Update to use cairo_backend_t interface 2011-08-13 09:58:02 +01:00
cairo-slope-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-slope.c Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-spans-compositor-private.h Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-spans-compositor.c Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-spans-private.h Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-spans.c Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-spline.c Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-stroke-dash-private.h stroke: Rely on the tessellator to remove self-intersections 2011-08-13 16:41:28 +01:00
cairo-stroke-dash.c stroke: Rely on the tessellator to remove self-intersections 2011-08-13 16:41:28 +01:00
cairo-stroke-style.c Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-surface-backend-private.h check: Make the newly added privates pass make check 2011-09-15 15:55:52 +01:00
cairo-surface-clipper-private.h clip: Rudimentary support for clip-polygon extraction 2011-07-19 21:14:34 +01:00
cairo-surface-clipper.c clipper: Fix crashes 2011-08-05 19:44:33 +02:00
cairo-surface-fallback-private.h Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-surface-fallback.c Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-surface-observer-private.h Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-surface-observer.c Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-surface-offset-private.h clip: Rudimentary support for clip-polygon extraction 2011-07-19 21:14:34 +01:00
cairo-surface-offset.c clip: Rudimentary support for clip-polygon extraction 2011-07-19 21:14:34 +01:00
cairo-surface-private.h Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-surface-snapshot-private.h Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-surface-snapshot.c Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-surface-subsurface-private.h Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-surface-subsurface.c Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-surface-wrapper-private.h Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-surface-wrapper.c wrapper: intersect with target extents 2011-09-17 12:00:49 +01:00
cairo-surface.c Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-svg-surface-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-svg-surface.c Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-svg.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-system.c Update FSF address 2010-04-27 11:13:38 +02:00
cairo-tee-surface-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-tee-surface.c fdr,tee: Reorder master/slave invocation to capture death-upon-signals 2011-09-16 13:48:09 +01:00
cairo-tee.h clip: Rudimentary support for clip-polygon extraction 2011-07-19 21:14:34 +01:00
cairo-time-private.h Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-time.c Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-tor-scan-converter.c Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-tor22-scan-converter.c Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-toy-font-face.c font-face: Cleanup backend-specific destruction code 2011-07-31 16:46:36 +02:00
cairo-traps-compositor.c traps: use the customised _cairo_clip_get_surface 2011-09-18 09:28:17 +01:00
cairo-traps-private.h Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-traps.c Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-tristrip-private.h Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-tristrip.c Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-truetype-subset-private.h win32: add synthetic font subsetting support 2010-11-23 00:13:56 +10:30
cairo-truetype-subset.c subsetting: Support unicode fontnames 2011-09-15 22:05:22 +09:30
cairo-type1-fallback.c Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-type1-glyph-names.c Type 1 glyph names: Do not use an array of pointers for winansi glyph names 2010-11-06 22:45:11 +10:30
cairo-type1-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-type1-subset.c Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-type3-glyph-surface-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-type3-glyph-surface.c Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-types-private.h Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-unicode.c Update FSF address 2010-04-27 11:13:38 +02:00
cairo-uninstalled.pc.in Build -uninstalled.pc files 2008-09-11 00:38:30 -04:00
cairo-user-font-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-user-font.c api: Extend cairo_antialias_t to include performace/quality hints 2011-08-30 15:17:38 +01:00
cairo-version.c doc: Move tmpl/ docs to inline docs 2010-07-08 14:27:16 +02:00
cairo-version.h Some nasty tracks to make changing version number not cause a total rebuild 2008-08-28 18:18:23 -04:00
cairo-vg-surface.c api: Extend cairo_antialias_t to include performace/quality hints 2011-08-30 15:17:38 +01:00
cairo-vg.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-wgl-context.c gl: Embed the GL dispatch table in the cairo-gl context and initialize it. 2010-12-15 15:32:20 +00:00
cairo-wideint-private.h Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-wideint-type-private.h Add UINT32_MAX define. 2011-03-03 16:31:03 -05:00
cairo-wideint.c Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-win32-font.c win32: Fix compilation 2011-09-02 12:00:29 +02:00
cairo-win32-printing-surface.c Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-win32-private.h win32: Fix build breakage 2011-07-20 18:39:53 +09:30
cairo-win32-surface.c Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-win32.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-xcb-connection-core.c Remove useless checks for NULL before freeing 2011-07-31 16:46:36 +02:00
cairo-xcb-connection-render.c xcb: Remove CAIRO_XCB_RENDER_HAS_COMPOSITE_SPANS 2011-02-28 15:54:02 +01:00
cairo-xcb-connection-shm.c Remove if's from Makefile.sources 2011-06-14 15:25:08 +02:00
cairo-xcb-connection.c xcb: track fallback damage 2011-09-19 15:23:57 +01:00
cairo-xcb-private.h xcb: track fallback damage 2011-09-19 15:23:57 +01:00
cairo-xcb-screen.c hash: Compare hash values before calling keys_equal 2011-08-01 19:21:48 +02:00
cairo-xcb-shm.c xcb: Steal from the pending list for GetImage 2011-09-02 15:21:20 +02:00
cairo-xcb-surface-cairo.c clip: Rudimentary support for clip-polygon extraction 2011-07-19 21:14:34 +01:00
cairo-xcb-surface-core.c Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-xcb-surface-render.c xcb: track fallback damage 2011-09-19 15:23:57 +01:00
cairo-xcb-surface.c xcb: track fallback damage 2011-09-19 15:23:57 +01:00
cairo-xcb.h perf 2011-06-02 08:57:13 +01:00
cairo-xlib-core-compositor.c xlib-xcb: Make this compile again 2011-09-14 15:50:19 +02:00
cairo-xlib-display.c Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-xlib-fallback-compositor.c Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-xlib-private.h Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-xlib-render-compositor.c xlib-xcb: Make this compile again 2011-09-14 15:50:19 +02:00
cairo-xlib-screen.c Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-xlib-source.c Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-xlib-surface-private.h Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-xlib-surface.c Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-xlib-visual.c xlib: Fix build of xlib-xcb 2011-06-16 15:11:24 +02:00
cairo-xlib-xcb-surface.c xlib-xcb: Make this compile again 2011-09-14 15:50:19 +02:00
cairo-xlib-xrender-private.h xlib: Fix compilation when gradient functions are not available 2011-02-14 11:07:02 +01:00
cairo-xlib-xrender.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-xlib.h xlib,xcb: Force strict adherence to the Render specification when testing 2011-06-01 16:50:25 +01:00
cairo-xml-surface.c api: Extend cairo_antialias_t to include performace/quality hints 2011-08-30 15:17:38 +01:00
cairo-xml.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo.c Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo.h Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo.pc.in Improve backend .pc files generation: 2006-07-12 04:27:55 -04:00
cairoint.h Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
check-def.sh check: Fix for link-time-optimisation 2010-09-06 13:11:21 +01:00
check-doc-syntax.sh check: Allow unprefix type names in the title 2010-07-11 23:32:12 +02:00
check-has-hidden-symbols.c [check] Move the hidden symbol check into check-{def,plt}.sh 2008-01-11 21:21:34 +00:00
check-headers.sh Set LC_ALL=C instead of LANG=C 2009-09-16 15:50:34 -04:00
check-link.c [src/check-link.c] Simple test to check we can link to the built cairo.so 2008-09-02 21:31:43 -04:00
check-plt.sh Set LC_ALL=C instead of LANG=C 2009-09-16 15:50:34 -04:00
check-preprocessor-syntax.sh Set LC_ALL=C instead of LANG=C 2009-09-16 15:50:34 -04:00
Makefile.am Use detected EGREP instead of generic grep 2011-06-08 16:01:03 +02:00
Makefile.am.analysis Improve headers-standalone target 2011-03-21 09:51:00 +01:00
Makefile.sources build: Another missing private.h 2011-09-15 15:50:29 +01:00
Makefile.win32 build: Clean up environment variables and flags for the win32 build 2011-06-20 10:24:21 +02:00
Makefile.win32.features Introduce cairo_mime_surface_t 2011-08-15 00:16:09 +01:00
README Fix various README typos 2009-01-02 02:56:38 -05:00
test-base-compositor-surface.c base: Make sure we have fuzzy clip boxes! 2011-09-16 15:04:14 +01:00
test-compositor-surface-private.h check: Make the newly added privates pass make check 2011-09-15 15:55:52 +01:00
test-compositor-surface.c Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
test-compositor-surface.h Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
test-null-compositor-surface.c test-surfaces: compilation fixes 2011-09-12 11:39:59 +01:00
test-null-compositor-surface.h Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
test-paginated-surface.c Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
test-paginated-surface.h Update FSF address 2010-04-27 11:13:38 +02:00

Cairo Library Source Code
=========================

This directory contains the source code of the cairo library.


Source Code Listing
-------------------

The canonical list of source files is the file Makefile.sources.  See that
file for how it works.


New Backends
------------

The rule of the thumb for adding new backends is to see how other
backends are integrated.  Pick one of the simpler, unsupported, backends
and search the entire tree for it, and go from there.

To add new backends you need to basically:

  * Modify $(top_srcdir)/configure.in to add checks for your backend.

  * Modify Makefile.sources to add source files for your backend,

  * Modify $(top_srcdir)/boilerplate/ to add boilerplate code for
    testing your new backend.


New API
-------

After adding new API, run "make check" in this directory and fix any
reported issues.  Also add new API to the right location in
$(top_srcdir)/doc/public/cairo-sections.txt and run "make check"
in $(top_builddir)/doc/public to make sure that any newly added
documentation is correctly hooked up.

Do not forget to add tests for the new API.  See next section.


Tests
-----

There are some tests in this directory that check the source code and
the build for various issues.  The tests are very quick to run, and
particularly should be run after any documentation or API changes.  It
does not hurt to run them after any source modification either.  Run
them simply by calling:

	make check

There are also extensive regression tests in $(top_srcdir)/test.  It is
a good idea to run that test suite for any changes made to the source
code.  Moreover, for any new feature, API, or bug fix, new tests should
be added to the regression test suite to test the new code.


Bibliography
------------

A detailed list of academic publications used in cairo code is available
in the file $(top_srcdir)/BIBLIOGRAPHY.  Feel free to update as you
implement more papers.

For more technical publications (eg. Adobe technical reports) just
point them out in a comment in the header of the file implementing them.