cairo/src
Chris Wilson 2bfb9e9001 svg: Unwrap recording surfaces
As a first step towards bring SVG uptodate with the various new
patterns, first we need to prevent SVG crashing when it mishandles an
unknown recording surface.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-06-20 20:47:18 +01:00
..
drm xlib: Implement SHM fallbacks and fast upload paths 2012-08-17 13:58:09 +01:00
skia context: Add missing functions to transform between user and backend coordinates 2012-09-10 15:09:15 +01:00
win32 win32: fix corrupted drawing 2013-04-02 08:39:05 +01:00
.gitignore gitignore: negate gitignore for static pkgconfig files 2013-03-18 14:02:02 +01:00
cairo-analysis-surface-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-analysis-surface.c snapshot: Perform the cow under a mutex 2012-04-27 14:10:50 +01:00
cairo-arc-private.h skia: Update to use cairo_backend_t interface 2011-08-13 09:58:02 +01:00
cairo-arc.c arc: Use user endpoint for final step 2012-05-14 16:09:29 +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 Fix make check 2012-09-24 09:42:43 +02: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 bo-rectangular: Emit subsummed boxes for overlapping edges 2012-05-23 11:50:34 +01:00
cairo-bentley-ottmann-rectilinear.c Split cairo-combsort-privates into struct+inlines 2012-04-19 12:22:07 +01:00
cairo-bentley-ottmann.c bentley-ottmann: Cache the most recent edge colinearity check 2012-08-26 11:59:46 +01:00
cairo-beos-surface.cpp Split cairo-recording-surface-private into struct+inlines 2012-04-19 12:51:03 +01:00
cairo-beos.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-botor-scan-converter.c Remove some unused functions 2012-05-05 10:14:54 +02:00
cairo-box-inline.h Split cairo-box-privates into struct+inlines 2012-04-19 12:16:53 +01:00
cairo-boxes-intersect.c Split cairo-combsort-privates into struct+inlines 2012-04-19 12:22:07 +01:00
cairo-boxes-private.h boxes: Remove unused inline function 2012-04-19 12:14:26 +01:00
cairo-boxes.c Split cairo-box-privates into struct+inlines 2012-04-19 12:16:53 +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 cff-subset: Fix allocation of width arrays 2013-03-15 14:01:53 +00:00
cairo-clip-boxes.c Split cairo-clip-privates into struct+inlines 2012-04-19 12:19:19 +01:00
cairo-clip-inline.h Split cairo-clip-privates into struct+inlines 2012-04-19 12:19:19 +01:00
cairo-clip-polygon.c Split cairo-clip-privates into struct+inlines 2012-04-19 12:19:19 +01:00
cairo-clip-private.h Split cairo-clip-privates into struct+inlines 2012-04-19 12:19:19 +01:00
cairo-clip-region.c Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-clip-surface.c clip: Apply clip boxes to the clip surface 2012-05-11 23:14:21 +01:00
cairo-clip-tor-scan-converter.c Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-clip.c clip: Transform clip path in _cairo_clip_intersect_clip_path_transformed() 2012-07-24 11:06:29 +02:00
cairo-cogl-context-private.h backends: Adds a new Cogl based backend 2011-10-11 09:05:45 +01:00
cairo-cogl-context.c doc: fix a few typos found by codespell 2012-03-10 10:20:28 +01:00
cairo-cogl-gradient-private.h doc: ensure "compatibility" spelling 2012-03-10 10:20:29 +01:00
cairo-cogl-gradient.c doc: ensure "compatibility" spelling 2012-03-10 10:20:29 +01:00
cairo-cogl-private.h backends: Adds a new Cogl based backend 2011-10-11 09:05:45 +01:00
cairo-cogl-surface.c stroke: Make the incremental trapezoid stroker optionally available again 2013-01-03 15:07:18 +00:00
cairo-cogl-utils-private.h backends: Adds a new Cogl based backend 2011-10-11 09:05:45 +01:00
cairo-cogl-utils.c backends: Adds a new Cogl based backend 2011-10-11 09:05:45 +01:00
cairo-cogl.h backends: Adds a new Cogl based backend 2011-10-11 09:05:45 +01:00
cairo-color.c color: Remove unused functions 2011-07-08 11:14:16 +02:00
cairo-combsort-inline.h Split cairo-combsort-privates into struct+inlines 2012-04-19 12:22:07 +01:00
cairo-compiler-private.h Avoid defining inline when compling C++ on MSVC. 2011-10-17 10:48:50 -04:00
cairo-composite-rectangles-private.h xcb: track fallback damage 2011-09-19 15:23:57 +01:00
cairo-composite-rectangles.c traps: Ensure that we correctly clip when using multiple clip boxes 2013-05-30 21:05:23 +01:00
cairo-compositor-private.h xlib: Only fallback through the mask intermediate if we can composite the mask 2013-01-11 13:18:26 +00:00
cairo-compositor.c compositor: Skip invisible strokes 2012-08-26 11:07:57 +01:00
cairo-contour-inline.h Split cairo-contour-privates into struct+inlines 2012-04-19 12:25:42 +01:00
cairo-contour-private.h Split cairo-contour-privates into struct+inlines 2012-04-19 12:25:42 +01:00
cairo-contour.c Split cairo-contour-privates into struct+inlines 2012-04-19 12:25:42 +01:00
cairo-damage-private.h xlib/shm: Discard damage upon shm finish 2013-01-08 16:07:32 +00:00
cairo-damage.c xlib/shm: Discard damage upon shm finish 2013-01-08 16:07:32 +00:00
cairo-debug.c doc: Add "since" tag to documentation 2012-03-29 11:03:18 +02:00
cairo-default-context-private.h qt: Fix compilation, also minor fix for building against Qt5 2012-02-12 09:57:00 +00:00
cairo-default-context.c context: Use recording surfaces for unbounded groups 2012-12-17 18:37:09 +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 doc: Make documentation comments symmetric 2012-03-29 11:03:18 +02:00
cairo-directfb-surface.c directfb: Correctly chain up map-to-image/unmap to the image backend 2013-05-14 11:36:27 +01: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 gl: Fix typo s/bool/cairo_bool_t/ 2013-03-08 14:25:26 +00:00
cairo-error-inline.h Split cairo-error-private into struct+inlines 2012-04-19 13:17:29 +01:00
cairo-error-private.h Split cairo-error-private into struct+inlines 2012-04-19 13:17:29 +01:00
cairo-error.c clip: Rudimentary support for clip-polygon extraction 2011-07-19 21:14:34 +01:00
cairo-fallback-compositor.c surface: Use the internal map/unmap 2012-05-26 16:07:00 +02: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 Fix "make check" standalone header check 2013-03-22 14:14:29 +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: Add "since" tag to documentation 2012-03-29 11:03:18 +02:00
cairo-font-options.c doc: Silence warnings about 'Since' field in private functions 2012-03-29 11:03:19 +02: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 botor: Remove a couple of inlines to cleanup -Winline 2011-10-10 15:22:37 +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] I meant fabs(), not abs() 2013-03-21 16:49:02 -04:00
cairo-ft-private.h scaled-font: Make unscaled font utility functions static 2011-08-01 19:22:51 +02:00
cairo-ft.h doc: move value descriptions up 2012-03-10 10:20:29 +01:00
cairo-gl-composite.c gl: Fix compiler warnings in the GL backend 2013-05-07 12:01:17 -07:00
cairo-gl-device.c gles: Switch default framebuffer destinations properly 2013-05-13 15:24:55 -07:00
cairo-gl-dispatch-private.h gl/msaa: Use GL_IMG_multisampled_render_to_texture when available 2012-12-05 16:17:10 -08:00
cairo-gl-dispatch.c gl/msaa: Use GL_IMG_multisampled_render_to_texture when available 2012-12-05 16:17:10 -08: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 gl: Fix compiler warnings in the GL backend 2013-05-07 12:01:17 -07: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: Flush context upon evicting a gradient 2012-12-01 17:08:56 +00: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-msaa-compositor.c gl: Fix compiler warnings in the GL backend 2013-05-07 12:01:17 -07:00
cairo-gl-operand.c gl/msaa: Resolve multisampling on surface flush 2013-04-17 10:27:58 -07:00
cairo-gl-private.h gl: Separate framebuffer bind from destination selection 2013-04-26 15:03:46 -07:00
cairo-gl-shaders.c gl: Fix typo in gles2 shader cache lookup 2013-03-20 08:40:58 -07:00
cairo-gl-source.c gl: Replace manual vertex transformation with VS computation of texcoords 2013-02-04 09:57:53 +00:00
cairo-gl-spans-compositor.c gl/spans: Handle SOURCE operations with opaque sources. 2013-02-07 13:25:33 -08:00
cairo-gl-surface-legacy.c gl: do not force flush everytime uploading a glyph image to glyph cache 2013-02-04 10:49:37 +00:00
cairo-gl-surface.c gl: Separate framebuffer bind from destination selection 2013-04-26 15:03:46 -07:00
cairo-gl-traps-compositor.c gl: Quell warning about incompatible pointer type 2013-06-20 11:00:37 +01:00
cairo-gl.h gl: Export query for EGLContext and EGLDisplay from device 2013-03-08 11:43:39 +00:00
cairo-glx-context.c gl: Don't query the display when checking if the context changed 2013-01-23 16:55:38 -08:00
cairo-gstate-private.h context: Add missing functions to transform between user and backend coordinates 2012-09-10 15:09:15 +01:00
cairo-gstate.c gstate: Speed up stroked path extents 2013-06-20 14:26:21 +01:00
cairo-hash-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-hash.c hash: Keep a simple lut in front of the main hash 2012-03-10 10:46:49 +00:00
cairo-hull.c Update FSF address 2010-04-27 11:13:38 +02:00
cairo-image-compositor.c image: Quell warning about signed/unsigned int comparison. 2013-06-11 10:02:13 +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 snapshot: Perform the cow under a mutex 2012-04-27 14:10:50 +01:00
cairo-image-surface-inline.h image: Check for an error surface before dereferencing the backend 2012-09-08 15:12:58 +01:00
cairo-image-surface-private.h image: Add a convenience function for creating an image from another's data 2013-02-01 16:36:03 +00:00
cairo-image-surface.c image: Mark the data as owned after stealing the snapshot's image 2013-06-20 14:02:14 +01:00
cairo-list-inline.h xlib: Unlike the visual when destroying it 2013-06-03 13:56:00 +01:00
cairo-list-private.h Split cairo-list into struct+inlines 2012-04-19 13:17:29 +01:00
cairo-lzw.c Update FSF address 2010-04-27 11:13:38 +02:00
cairo-malloc-private.h doc: Make documentation comments symmetric 2012-03-29 11:03:18 +02:00
cairo-mask-compositor.c compositor: Pass back the internal failure 2013-01-13 18:37:08 +00:00
cairo-matrix.c doc: Add "since" tag to documentation 2012-03-29 11:03:18 +02:00
cairo-mempool-private.h Fix make check 2012-09-24 09:42:43 +02:00
cairo-mempool.c mempool: Reduce an assert into an error return for get_buddy() 2013-03-15 09:11:28 +00:00
cairo-mesh-pattern-rasterizer.c doc: fix a few typos found by codespell 2012-03-10 10:20:28 +01:00
cairo-misc.c doc: Add "since" tag to documentation 2012-03-29 11:03:18 +02:00
cairo-mono-scan-converter.c mono-scan-converter: Use edge->is_vertical flag 2012-03-10 10:46:50 +00:00
cairo-mutex-impl-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-mutex-list-private.h Use the new pixman_glyph_cache_t API that will be in pixman 0.28.0 2012-06-09 15:52:59 -04: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 Split cairo-list into struct+inlines 2012-04-19 13:17:29 +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 surface: Make backend-specific map/unmap functions symmetric 2012-05-26 16:06:31 +02: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 Split cairo-surface-subsurface-private into struct+inlines 2012-04-19 13:17:29 +01:00
cairo-path-bounds.c Split cairo-box-privates into struct+inlines 2012-04-19 12:16:53 +01:00
cairo-path-fill.c fill: Fix unantialiased rectilinear-fill-to-boxes 2011-09-30 15:58:14 +01:00
cairo-path-fixed-private.h Mark _cairo_path_is_simple_quad as private 2013-01-27 16:29:41 +00:00
cairo-path-fixed.c path: Fix a bug in line intersection 2013-03-14 09:44:35 -07: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 stroker: Avoid emitting a miter join for across an elided degenerate segment 2012-08-20 14:21:23 +01:00
cairo-path-stroke-polygon.c stroke: Fix calling '_cairo_spline_intersect' for in-bounds checking of splines 2012-11-02 14:53:18 +00:00
cairo-path-stroke-traps.c stroke: Flip the dev slope as well for computing the cusp on a degeneracy 2013-01-09 12:31:10 +00:00
cairo-path-stroke-tristrip.c Split cairo-box-privates into struct+inlines 2012-04-19 12:16:53 +01:00
cairo-path-stroke.c stroke: Use round-joins near inflection points of splines 2013-03-14 10:32:43 -07:00
cairo-path.c path: Convert from backend coordinates back into user coordinates 2012-09-10 15:09:18 +01:00
cairo-pattern-inline.h Split cairo-list into struct+inlines 2012-04-19 13:17:29 +01:00
cairo-pattern-private.h Remove an unimplemented function declaration 2012-09-24 09:42:43 +02:00
cairo-pattern.c snapshot: Perform the cow under a mutex 2012-04-27 14:10:50 +01:00
cairo-pdf-operators-private.h pdf: Improve consistency in use of cairo_int_status_t 2013-06-20 11:09:53 +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: fix the offset of padded images 2012-06-02 19:01:18 +09:30
cairo-pdf-surface.c pdf: Fix compiler warning for use of unitialised variable along error path 2013-06-20 11:11:20 +01:00
cairo-pdf.h Revert accidental push of ps debugging API. 2012-04-14 14:54:07 +01:00
cairo-pen.c pen: Tighten checking for bevel (start==stop) joins 2012-11-01 11:42:46 +00:00
cairo-png.c png: Avoid marking the surface as in error after a png warning 2013-04-16 11:07:03 +01:00
cairo-polygon-intersect.c polygon-intersect: Exclude non-overlapping clip boxes from consideration 2012-09-27 11:13:23 +01:00
cairo-polygon-reduce.c polygon-reduce: Reduce broken stopped-edge continuation 2012-06-08 17:26:11 +01:00
cairo-polygon.c polygon: Avoid computing the unused intersection coordinates 2013-02-08 13:22:01 +00:00
cairo-private.h Implement cairo_backend_t 2011-07-15 11:05:19 +01:00
cairo-ps-surface-private.h ps: support RASTER_SOURCE patterns 2012-01-31 23:53:45 +10:30
cairo-ps-surface.c pdf: Improve consistency in use of cairo_int_status_t 2013-06-20 11:09:53 +01:00
cairo-ps.h Revert accidental push of ps debugging API. 2012-04-14 14:54:07 +01:00
cairo-qt-surface.cpp qt: Update for fallback compositor 2013-02-03 12:51:13 +00: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 doc: Add "since" tag to documentation 2012-03-29 11:03:18 +02:00
cairo-quartz-image-surface.c xlib: Implement SHM fallbacks and fast upload paths 2012-08-17 13:58:09 +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: Do not export private functions 2012-01-15 16:23:14 +01:00
cairo-quartz-surface.c quartz: Don't release memory we don't own 2013-03-29 02:40:13 +01:00
cairo-quartz.h quartz: Fix the 32-bits build on MacOSX 10.7 2011-10-01 09:24:08 -07:00
cairo-raster-source-pattern.c cairo: Add some missing doc entries for cairo_raster_source_pattern_t 2012-03-23 18:09:19 +00:00
cairo-recording-surface-inline.h Split cairo-recording-surface-private into struct+inlines 2012-04-19 12:46:34 +01:00
cairo-recording-surface-private.h recording: Fix inconsistent usage of types for indices 2013-06-11 10:02:13 +01:00
cairo-recording-surface.c recording: Prevent invalid memory access with zero length command array 2013-06-18 15:48:26 +01:00
cairo-rectangle.c stroke: Make the incremental trapezoid stroker optionally available again 2013-01-03 15:07:18 +00:00
cairo-rectangular-scan-converter.c Split cairo-combsort-privates into struct+inlines 2012-04-19 12:22:07 +01:00
cairo-reference-count-private.h Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-region-private.h Add preliminary damage tracking 2012-02-15 14:21:00 +00:00
cairo-region.c doc: Add since documentation for enumeration values 2012-03-29 11:03:19 +02:00
cairo-rtree-private.h Split cairo-list into struct+inlines 2012-04-19 13:17:29 +01:00
cairo-rtree.c gl: Decouple the glyph upon eviction 2011-12-07 18:00:18 +00: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 doc: Make the documentation name match the function name 2012-03-29 11:03:18 +02:00
cairo-scaled-font-subsets.c Remove some dead code 2012-05-05 10:14:54 +02:00
cairo-scaled-font.c scaled-font: Prevent a recursive mutex lock for removing a failed glyph 2013-06-18 16:08:27 +01:00
cairo-script-private.h Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-script-surface.c script: Thaw the scaled font cache on the error path 2013-01-08 15:01:38 +00:00
cairo-script.h doc: Add since documentation for enumeration values 2012-03-29 11:03:19 +02:00
cairo-shape-mask-compositor.c spans+image: Fix clipping with polygons and spans 2012-02-28 22:27:18 +00:00
cairo-skia-surface.cpp Split cairo-recording-surface-private into struct+inlines 2012-04-19 12:51:03 +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 image: Enable inplace compositing with opacities for general routines 2013-01-26 16:10:47 +00:00
cairo-spans-compositor.c spans: Mark the surface as cleared in preparing for recording surface playback 2013-02-12 10:11:12 +00: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 Split cairo-box-privates into struct+inlines 2012-04-19 12:16:53 +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 dash: Increment dash_remain by the next segment to reduce accumulation errors 2012-04-19 16:12:55 +01:00
cairo-stroke-style.c stroke: Make the incremental trapezoid stroker optionally available again 2013-01-03 15:07:18 +00:00
cairo-surface-backend-private.h xlib: Implement SHM fallbacks and fast upload paths 2012-08-17 13:58:09 +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 Split cairo-clip-privates into struct+inlines 2012-04-19 12:19:19 +01: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-inline.h xlib: Implement SHM fallbacks and fast upload paths 2012-08-17 13:58:09 +01:00
cairo-surface-observer-inline.h Split cairo-surface-observer-private into struct+inlines 2012-04-19 12:35:20 +01:00
cairo-surface-observer-private.h Split cairo-surface-observer-private into struct+inlines 2012-04-19 12:35:20 +01:00
cairo-surface-observer.c xlib: Implement SHM fallbacks and fast upload paths 2012-08-17 13:58:09 +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 Split cairo-clip-privates into struct+inlines 2012-04-19 12:19:19 +01:00
cairo-surface-private.h xlib: Implement SHM fallbacks and fast upload paths 2012-08-17 13:58:09 +01:00
cairo-surface-snapshot-inline.h snapshot: Avoid triggering assertion for grabbing the target during destroy 2012-05-01 16:55:22 +01:00
cairo-surface-snapshot-private.h snapshot: Perform the cow under a mutex 2012-04-27 14:10:50 +01:00
cairo-surface-snapshot.c xlib: Implement SHM fallbacks and fast upload paths 2012-08-17 13:58:09 +01:00
cairo-surface-subsurface-inline.h Split cairo-surface-subsurface-private into struct+inlines 2012-04-19 13:17:29 +01:00
cairo-surface-subsurface-private.h Split cairo-surface-subsurface-private into struct+inlines 2012-04-19 13:17:29 +01:00
cairo-surface-subsurface.c xlib: Implement SHM fallbacks and fast upload paths 2012-08-17 13:58:09 +01:00
cairo-surface-wrapper-private.h Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-surface-wrapper.c Split cairo-clip-privates into struct+inlines 2012-04-19 12:19:19 +01:00
cairo-surface.c surface: Prevent reads from the user-data arrays during teardown 2013-02-02 09:00:45 +00:00
cairo-svg-surface-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-svg-surface.c svg: Unwrap recording surfaces 2013-06-20 20:47:18 +01:00
cairo-svg.h doc: Add since documentation for enumeration values 2012-03-29 11:03:19 +02:00
cairo-tee-surface-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-tee-surface.c Split cairo-recording-surface-private into struct+inlines 2012-04-19 12:51:03 +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 win32: Fix return value for cairo_time_get 2012-05-20 10:55:25 +01:00
cairo-tor-scan-converter.c tor: Fudge the edge if it is projected into a point 2012-09-27 15:29:36 +01:00
cairo-tor22-scan-converter.c tor: Fudge the edge if it is projected into a point 2012-09-27 15:29:36 +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: Ensure that we correctly clip when using multiple clip boxes 2013-05-30 21:05:23 +01:00
cairo-traps-private.h stroke: Make the incremental trapezoid stroker optionally available again 2013-01-03 15:07:18 +00:00
cairo-traps.c stroke: Make the incremental trapezoid stroker optionally available again 2013-01-03 15:07:18 +00: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 truetype-subset: remove unused variable 2011-12-06 20:44:22 +10: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 type1-subset: Fix typos in function comment 2013-06-20 10:58:52 +01:00
cairo-type3-glyph-surface-private.h pdf: Improve consistency in use of cairo_int_status_t 2013-06-20 11:09:53 +01:00
cairo-type3-glyph-surface.c Replace the ad-hoc surface unwrappers with a function pointer 2012-02-09 13:01:17 +00:00
cairo-types-private.h doc: Make documentation comments symmetric 2012-03-29 11:03:18 +02: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 doc: Do not use the '@' prefix on some tags 2012-03-29 11:03:18 +02:00
cairo-version.c doc: Add "since" tag to documentation 2012-03-29 11:03:18 +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 Split cairo-recording-surface-private into struct+inlines 2012-04-19 12:46:34 +01:00
cairo-vg.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-wgl-context.c gl: Check against user-provided invalid sizes 2011-12-05 17:17:26 +00:00
cairo-wideint-private.h wideint: Fix compilation failure for bare use of uint64_t for !HAVE_UINT64_T 2012-05-20 10:55:26 +01:00
cairo-wideint-type-private.h Add UINT32_MAX define. 2011-03-03 16:31:03 -05:00
cairo-wideint.c doc: Manually fix remaining warnings about symmetry 2012-03-29 11:03:18 +02:00
cairo-win32.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-xcb-connection-core.c xcb: Fix xcb-huge-subimage 2012-12-17 18:37:10 +01:00
cairo-xcb-connection-render.c xcb: Verify extension support before sending 2012-09-25 11:27:59 +02:00
cairo-xcb-connection-shm.c xcb: Verify extension support before sending 2012-09-25 11:27:59 +02:00
cairo-xcb-connection.c Split cairo-list into struct+inlines 2012-04-19 13:17:29 +01:00
cairo-xcb-private.h xcb: Switch to compositor architecture 2012-09-24 09:44:10 +02:00
cairo-xcb-screen.c Split cairo-list into struct+inlines 2012-04-19 13:17:29 +01:00
cairo-xcb-shm.c mempool: Reduce the assertion into an alignment adjustment for the base 2012-12-01 09:23:37 +00:00
cairo-xcb-surface-core.c Convert cairo_mime_surface_t to cairo_raster_source_pattern_t 2011-11-25 10:35:42 +00:00
cairo-xcb-surface-render.c xcb: Clear temporary replay image in recording playback 2013-03-22 18:19:00 +01:00
cairo-xcb-surface.c xcb: Clear the result of create_similar_image 2012-10-06 15:00:51 +02:00
cairo-xcb.h Add cairo_xcb_surface_set_drawable 2011-12-02 15:31:51 +00:00
cairo-xlib-core-compositor.c xlib: Handle lack of XRenderFillRectangles 2013-01-13 18:37:08 +00:00
cairo-xlib-display.c xlib: Fix invocation of XRenderFindFormat() 2013-02-24 17:07:54 +00:00
cairo-xlib-fallback-compositor.c xlib/shm: Limit use of the impromptu fallback pixmap for uploads 2012-08-17 23:20:01 +01:00
cairo-xlib-private.h xlib: Handle lack of XRenderFillRectangles 2013-01-13 18:37:08 +00:00
cairo-xlib-render-compositor.c xlib: Only apply the dst offset to the glyph strings once 2013-02-08 15:20:41 +00:00
cairo-xlib-screen.c Split cairo-list into struct+inlines 2012-04-19 13:17:29 +01:00
cairo-xlib-source.c xlib: Trim uploads for surfaces extended by PAD 2013-04-06 09:09:23 +01:00
cairo-xlib-surface-private.h Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-xlib-surface-shm.c xlib/shm: More clarification of seqno required 2013-01-29 23:51:44 +00:00
cairo-xlib-surface.c xlib: Aquire display before using it in DEBUG message. 2013-04-25 09:03:02 +01:00
cairo-xlib-visual.c xlib: Unlike the visual when destroying it 2013-06-03 13:56:00 +01:00
cairo-xlib-xcb-surface.c xlib: Implement SHM fallbacks and fast upload paths 2012-08-17 13:58:09 +01: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: Replace obsolete disable-xrender with shiny new device debug interface 2012-02-22 10:41:37 +00:00
cairo-xml-surface.c Split cairo-recording-surface-private into struct+inlines 2012-04-19 12:46:34 +01:00
cairo-xml.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo.c Satisfy check-doc-syntax.awk for unimplemented functions 2012-04-29 12:22:20 +01:00
cairo.h doc: Add since documentation for enumeration values 2012-03-29 11:03:19 +02:00
cairo.pc.in Improve backend .pc files generation: 2006-07-12 04:27:55 -04:00
cairoint.h Add missing local slim proto for cairo_recording_surface_create 2013-01-03 15:07:18 +00:00
check-def.sh check: Fix for link-time-optimisation 2010-09-06 13:11:21 +01:00
check-doc-syntax.awk check-doc-syntax: Find duplicate "Since:" tags 2012-05-09 16:59:58 +02:00
check-doc-syntax.sh check-doc-syntax: Make this work again 2012-05-09 16:59:58 +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 doc: Add script to enforce stricter validation of documentation comments 2012-03-29 11:03:18 +02:00
Makefile.am.analysis Improve headers-standalone target 2011-03-21 09:51:00 +01:00
Makefile.sources stroke: Make the incremental trapezoid stroker optionally available again 2013-01-03 15:07:18 +00: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 backends: Adds a new Cogl based backend 2011-10-11 09:05:45 +01:00
README Fix various README typos 2009-01-02 02:56:38 -05:00
test-base-compositor-surface.c stroke: Make the incremental trapezoid stroker optionally available again 2013-01-03 15:07:18 +00: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 Replace the ad-hoc surface unwrappers with a function pointer 2012-02-09 13:01:17 +00:00
test-compositor-surface.h Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
test-null-compositor-surface.c spans: Pass antialiasing hint down to the backends 2012-03-04 15:38:56 +00:00
test-null-compositor-surface.h Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
test-paginated-surface.c Replace the ad-hoc surface unwrappers with a function pointer 2012-02-09 13:01:17 +00: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.