cairo/src
Uli Schlachter 59ac884c60 Verify that surfaces leak no snapshots
Finished surfaces should own no snapshots, because finished surfaces
can't be used as sources, thus their snapshots would never be used.

When free'ing the surface in cairo_surface_destroy(), it should have
no snapshots, or they will be leaked.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2010-12-29 17:16:51 +01:00
..
drm polygon: Merge _cairo_polygon_init and _cairo_polygon_limit 2010-12-10 11:04:48 +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 PS: Fix regression - incorrect EPS bounding box 2010-11-21 00:37:29 +10:30
cairo-arc-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-arc.c arc: Clamp to 65536 full circles 2010-12-09 17:33:12 +01:00
cairo-array.c array: Fix comment 2010-11-28 09:33:14 +01:00
cairo-atomic-private.h atomic: Add memory barriers if required for intel primitives 2010-05-20 21:57:58 +01:00
cairo-atomic.c atomic: Tweak for compilation x86. 2010-04-29 10:04:54 +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 Update FSF address 2010-04-27 11:13:38 +02:00
cairo-bentley-ottmann-rectilinear.c Update FSF address 2010-04-27 11:13:38 +02:00
cairo-bentley-ottmann.c polygon: Merge _cairo_polygon_init and _cairo_polygon_limit 2010-12-10 11:04:48 +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 Update FSF address 2010-04-27 11:13:38 +02:00
cairo-box-private.h box: Add box header 2010-10-29 17:31:22 +02:00
cairo-boxes-private.h drm: code dump, sorry. 2010-05-12 20:54:49 +01:00
cairo-boxes.c drm: code dump, sorry. 2010-05-12 20:54:49 +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 Subsetting: Subset subroutines 2010-11-30 22:00:38 +10:30
cairo-clip-private.h Differentiate between reducing clip to composite extents and a rectangle 2010-07-12 16:33:38 +01:00
cairo-clip.c polygon: Merge _cairo_polygon_init and _cairo_polygon_limit 2010-12-10 11:04:48 +01:00
cairo-color.c Correct color stops comparison function 2010-08-08 10:53:44 +02:00
cairo-combsort-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-compiler-private.h Add an implementation of ffs() for MSVC 2010-05-06 11:43:52 -04:00
cairo-composite-rectangles-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-composite-rectangles.c Revert bd672d080c 2010-05-13 01:57:24 +02:00
cairo-debug.c path: Always interpret in forward direction 2010-12-10 10:58:51 +01:00
cairo-deflate-stream.c Update FSF address 2010-04-27 11:13:38 +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: Refer the user to per-backend docs about devices. 2010-08-29 00:05:51 +03:00
cairo-directfb-surface.c surface: remove content argument from is_similar 2010-06-10 16:07:41 +02:00
cairo-directfb.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-drm-xr.h drm: code dump, sorry. 2010-05-12 20:54:49 +01:00
cairo-drm.h drm: code dump, sorry. 2010-05-12 20:54:49 +01:00
cairo-egl-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-error-private.h Update FSF address 2010-04-27 11:13:38 +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 fixed: Refactor code to use more inlines and less duplication of logic. 2010-06-17 08:55:19 +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 Update FSF address 2010-04-27 11:13:38 +02:00
cairo-font-face.c doc: Move tmpl/ docs to inline docs 2010-07-08 14:27:16 +02:00
cairo-font-options.c font options: Add private round_glpyh_positions field 2010-10-21 22:20:12 +02:00
cairo-fontconfig-private.h Make distcheck happy. 2010-07-12 11:05:57 +01:00
cairo-freed-pool-private.h freed-pool: Don't access beyond the end of the array. 2010-05-20 21:57:58 +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 Document load_truetype_table function and ensure ft-font and Win32-font are compliant 2010-11-23 21:44:31 +10:30
cairo-ft-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-ft.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-gl-composite.c gl: Use the dispatch table for calling ARB/EXT functions 2010-12-15 15:32:20 +00:00
cairo-gl-device.c gl: Replace GLEW by using the facilities provided by cairo-gl-info 2010-12-15 15:32:20 +00:00
cairo-gl-dispatch-private.h gl: Enable PLT symbol hiding for dispatch entries 2010-12-25 09:50:34 +00:00
cairo-gl-dispatch.c gl: Fix #include's to pass 'make check' 2010-12-17 19:41:57 +01:00
cairo-gl-ext-def-private.h gl: Add definitions for the core variant names of used GL constants 2010-12-15 15:32:20 +00:00
cairo-gl-glyphs.c gl: Propagate surface creation error instead of crashing 2010-06-22 22:01:25 +02:00
cairo-gl-gradient-private.h gl: Replace GLEW by using the facilities provided by cairo-gl-info 2010-12-15 15:32:20 +00:00
cairo-gl-gradient.c gl: Use the dispatch table for calling ARB/EXT functions 2010-12-15 15:32:20 +00:00
cairo-gl-info.c gl: Fix #include's to pass 'make check' 2010-12-17 19:41:57 +01:00
cairo-gl-private.h gl: Replace GLEW by using the facilities provided by cairo-gl-info 2010-12-15 15:32:20 +00:00
cairo-gl-shaders.c gl: Replace GLEW by using the facilities provided by cairo-gl-info 2010-12-15 15:32:20 +00:00
cairo-gl-surface.c gl: Replace GLEW by using the facilities provided by cairo-gl-info 2010-12-15 15:32:20 +00:00
cairo-gl.h gl: Use unsigned int instead of GLuint 2010-07-09 12:49:10 +02:00
cairo-glx-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-gstate-private.h gstate: Update cached matrix state after device transform changes on the target 2010-06-11 16:08:17 +01:00
cairo-gstate.c path: Do not access flags directly 2010-10-29 17:31:21 +02:00
cairo-hash-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-hash.c Update FSF address 2010-04-27 11:13:38 +02:00
cairo-hull.c Update FSF address 2010-04-27 11:13:38 +02: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 Convert mime data length to use unsigned long 2010-07-10 11:16:19 +01:00
cairo-image-surface.c polygon: Merge _cairo_polygon_init and _cairo_polygon_limit 2010-12-10 11:04: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 Update license blocks to use "Mozilla Foundation" instead of "Mozilla Corporation" 2010-05-06 16:07:43 -04:00
cairo-matrix.c doc: Move tmpl/ docs to inline docs 2010-07-08 14:27:16 +02:00
cairo-misc.c doc: Move tmpl/ docs to inline docs 2010-07-08 14:27:16 +02:00
cairo-mutex-impl-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-mutex-list-private.h win32: Use a font_face hash table to provide unique font faces 2010-11-16 23:48:39 +10:30
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-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: Restore surface type checking in the get_extents method. 2010-08-08 22:33:43 +03: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 Convert mime data length to use unsigned long 2010-07-10 11:16:19 +01:00
cairo-paginated-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-paginated-surface-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-paginated-surface.c PS/PDF: Fix regression when changing page size to a larger size 2010-11-20 00:50:04 +10:30
cairo-path-bounds.c path: Always interpret in forward direction 2010-12-10 10:58:51 +01:00
cairo-path-fill.c polygon: Merge _cairo_polygon_init and _cairo_polygon_limit 2010-12-10 11:04:48 +01:00
cairo-path-fixed-private.h path: Always interpret in forward direction 2010-12-10 10:58:51 +01:00
cairo-path-fixed.c path: Silence warnings 2010-12-13 11:09:20 +01:00
cairo-path-in-fill.c path: Always interpret in forward direction 2010-12-10 10:58:51 +01:00
cairo-path-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-path-stroke.c polygon: Merge _cairo_polygon_init and _cairo_polygon_limit 2010-12-10 11:04:48 +01:00
cairo-path.c path: Always interpret in forward direction 2010-12-10 10:58:51 +01:00
cairo-pattern.c pattern: Add a function to interpolate gradient objects. 2010-12-13 09:46:09 +01:00
cairo-pdf-operators-private.h pdf-operators: fix bug that was causing unnecessary repositioning of text 2010-10-01 19:18:28 +09:30
cairo-pdf-operators.c path: Always interpret in forward direction 2010-12-10 10:58:51 +01:00
cairo-pdf-surface-private.h PDF: Output a stencil mask for cairo_mask() with solid source and A1 mask 2010-12-05 00:29:52 +10:30
cairo-pdf-surface.c ps,pdf: Deal with empty domain gradients. 2010-12-13 10:05:11 +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 Convert mime data length to use unsigned long 2010-07-10 11:16:19 +01:00
cairo-polygon.c polygon: Merge _cairo_polygon_init and _cairo_polygon_limit 2010-12-10 11:04:48 +01:00
cairo-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-ps-surface-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-ps-surface.c ps,pdf: Deal with empty domain gradients. 2010-12-13 10:05:11 +01:00
cairo-ps.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-qt-surface.cpp path: Always interpret in forward direction 2010-12-10 10:58:51 +01: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: Implement new load_truetype_table semantics 2010-11-23 14:29:24 +01:00
cairo-quartz-image-surface.c Update license blocks to use "Mozilla Foundation" instead of "Mozilla Corporation" 2010-05-06 16:07:43 -04: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: Move drawing state out of surface 2010-10-13 00:27:01 +02:00
cairo-quartz-surface.c quartz: Unify gradient construction and fix radial gradients. 2010-12-13 09:46:09 +01: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 recording: Avoid refcycles by always copying the command array. 2010-05-05 09:23:59 +01:00
cairo-recording-surface.c path: Always interpret in forward direction 2010-12-10 10:58:51 +01:00
cairo-rectangle.c box: Add _cairo_box_add_curve_to 2010-10-29 17:31:22 +02:00
cairo-rectangular-scan-converter.c Update FSF address 2010-04-27 11:13:38 +02:00
cairo-reference-count-private.h atomic: Remove unused function _cairo_atomic_int_set() 2010-04-29 10:52:47 +02:00
cairo-region-private.h region: _cairo_region_create_in_error() 2010-05-10 12:45:31 +01:00
cairo-region.c doc: Add missing region documentation 2010-07-09 02:11:59 +02:00
cairo-rtree-private.h rtree: Actually pin the node when pinning. 2010-05-16 10:23:30 +01:00
cairo-rtree.c rtree: Remove the unused evict hook. 2010-05-12 20:54:49 +01:00
cairo-scaled-font-private.h scaled-font: Convert to cairo_list_t 2010-05-04 18:53:03 +01:00
cairo-scaled-font-subsets-private.h win32: add synthetic font subsetting support 2010-11-23 00:13:56 +10:30
cairo-scaled-font-subsets.c PDF: Fix toUnicode for CID fonts 2010-11-07 21:50:56 +10:30
cairo-scaled-font.c scaled-font: assert that we hold the scaled-font mutex when looking up glyphs 2010-12-13 16:30:15 +00:00
cairo-script-surface.c path: Always interpret in forward direction 2010-12-10 10:58:51 +01:00
cairo-script.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-skia-surface.cpp path: Always interpret in forward direction 2010-12-10 10:58:51 +01:00
cairo-skia.h Make distcheck happy. 2010-07-12 11:05:57 +01:00
cairo-slope-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-slope.c Update FSF address 2010-04-27 11:13:38 +02:00
cairo-spans-private.h Remove _cairo_surface_composite_trapezoids_as_polygon() 2010-06-07 13:37:49 +02:00
cairo-spans.c Remove _cairo_surface_composite_trapezoids_as_polygon() 2010-06-07 13:37:49 +02:00
cairo-spline.c Update FSF address 2010-04-27 11:13:38 +02:00
cairo-stroke-style.c Update FSF address 2010-04-27 11:13:38 +02:00
cairo-surface-clipper-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-surface-clipper.c Update FSF address 2010-04-27 11:13:38 +02:00
cairo-surface-fallback-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-surface-fallback.c polygon: Merge _cairo_polygon_init and _cairo_polygon_limit 2010-12-10 11:04:48 +01:00
cairo-surface-offset-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-surface-offset.c surface-offset: Use right variable in mask 2010-08-28 17:13:46 +02:00
cairo-surface-private.h gstate: Update cached matrix state after device transform changes on the target 2010-06-11 16:08:17 +01:00
cairo-surface-snapshot-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-surface-snapshot.c snapshot: Attach the backend generated snapshot to the target 2010-04-30 10:16:23 +01:00
cairo-surface-subsurface-private.h subsurface: Don't assume we ever own the target. 2010-07-10 11:16:19 +01:00
cairo-surface-subsurface.c subsurface: Fix acquire_source_surface for out-of-bounds surfaces 2010-09-01 03:17:12 +02:00
cairo-surface-wrapper-private.h ps: Enable native encoding of subsurface patterns. 2010-04-30 10:16:24 +01:00
cairo-surface-wrapper.c Fix regression in fallback-resolution test 2010-11-21 20:09:13 +10:30
cairo-surface.c Verify that surfaces leak no snapshots 2010-12-29 17:16:51 +01:00
cairo-svg-surface-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-svg-surface.c path: Always interpret in forward direction 2010-12-10 10:58:51 +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 tee: Move definitions into separate header 2010-07-30 22:27:08 +02:00
cairo-tee.h tee: Move definitions into separate header 2010-07-30 22:27:08 +02:00
cairo-tor-scan-converter.c Replace insertion sort with mergesort in the scan converter 2010-08-10 14:39:54 +02:00
cairo-toy-font-face.c Update FSF address 2010-04-27 11:13:38 +02:00
cairo-traps.c Update FSF address 2010-04-27 11:13:38 +02: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: add missing unicode ranges to cmap 2010-11-26 21:54:39 +10:30
cairo-type1-fallback.c path: Always interpret in forward direction 2010-12-10 10:58:51 +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 Use fallback font for synthetic fonts 2010-11-23 00:13:24 +10:30
cairo-type3-glyph-surface-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-type3-glyph-surface.c type3: Minor tweaks to remove a redundant check. 2010-05-04 18:53:50 +01:00
cairo-types-private.h pattern: Add a function to interpolate gradient objects. 2010-12-13 09:46:09 +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 doc: Move tmpl/ docs to inline docs 2010-07-08 14:27:16 +02: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 path: Always interpret in forward direction 2010-12-10 10:58:51 +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 Update FSF address 2010-04-27 11:13:38 +02:00
cairo-wideint-type-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-wideint.c Remove excessive semicolons 2010-04-29 20:45:23 +02:00
cairo-win32-font.c Document load_truetype_table function and ensure ft-font and Win32-font are compliant 2010-11-23 21:44:31 +10:30
cairo-win32-printing-surface.c path: Always interpret in forward direction 2010-12-10 10:58:51 +01:00
cairo-win32-private.h win32-print: print as unicode where possible 2010-11-16 23:53:05 +10:30
cairo-win32-surface.c win32-print: print as unicode where possible 2010-11-16 23:53:05 +10:30
cairo-win32.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-xcb-connection-core.c XCB: Stop taking the xcb socket 2010-12-25 09:50:34 +00:00
cairo-xcb-connection-render.c XCB: Stop taking the xcb socket 2010-12-25 09:50:34 +00:00
cairo-xcb-connection-shm.c XCB: Stop taking the xcb socket 2010-12-25 09:50:34 +00:00
cairo-xcb-connection.c XCB: Stop taking the xcb socket 2010-12-25 09:50:34 +00:00
cairo-xcb-private.h XCB: Stop taking the xcb socket 2010-12-25 09:50:34 +00:00
cairo-xcb-screen.c xcb: trivial memfault fixes. 2010-05-10 13:36:53 +01:00
cairo-xcb-shm.c XCB: Stop taking the xcb socket 2010-12-25 09:50:34 +00:00
cairo-xcb-surface-cairo.c Update FSF address 2010-04-27 11:13:38 +02:00
cairo-xcb-surface-core.c XCB: Stop taking the xcb socket 2010-12-25 09:50:34 +00:00
cairo-xcb-surface-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-xcb-surface-render.c XCB: Stop taking the xcb socket 2010-12-25 09:50:34 +00:00
cairo-xcb-surface.c XCB: Stop taking the xcb socket 2010-12-25 09:50:34 +00:00
cairo-xcb.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-xlib-display.c freelist: Separate freelist inlines from the datatype in headers. 2010-09-02 14:51:30 +01:00
cairo-xlib-private.h freelist: Separate freelist inlines from the datatype in headers. 2010-09-02 14:51:30 +01:00
cairo-xlib-screen.c raster backends: Set round_glpyh_positions to ON 2010-10-21 22:20:31 +02:00
cairo-xlib-surface-private.h xlib: Adjust trapezoid precision based on antialias. 2010-06-11 11:16:42 +01:00
cairo-xlib-surface.c xlib: Add more _cairo_error() calls 2010-11-08 14:26:55 -05:00
cairo-xlib-visual.c xlib: Remove reference counting for cairo_xlib_screen_t 2010-05-06 10:46:49 +01:00
cairo-xlib-xcb-surface.c xcb: trivial memfault fixes. 2010-05-10 13:36:53 +01:00
cairo-xlib-xrender-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-xlib-xrender.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-xlib.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-xml-surface.c path: Always interpret in forward direction 2010-12-10 10:58:51 +01:00
cairo-xml.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo.c arc: Avoid infinite loop 2010-12-09 17:33:12 +01:00
cairo.h Add unique_id mime type 2010-11-23 00:13:02 +10:30
cairo.pc.in Improve backend .pc files generation: 2006-07-12 04:27:55 -04:00
cairoint.h pattern: Add a function to interpolate gradient objects. 2010-12-13 09:46:09 +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 gl: Remove GLEW from the build system and the source tree 2010-12-15 15:32:20 +00:00
Makefile.am.analysis build: Fix C++ issues with automake 2010-07-09 12:38:37 +02:00
Makefile.sources gl: Remove GLEW from the build system and the source tree 2010-12-15 15:32:20 +00:00
Makefile.win32 [win32] Include $(OPT) flags when linking cairo.dll 2009-02-26 16:04:49 -05:00
Makefile.win32.features Add cairo-gobject library 2010-08-07 20:19:27 +02:00
README Fix various README typos 2009-01-02 02:56:38 -05:00
test-fallback-surface.c Update FSF address 2010-04-27 11:13:38 +02:00
test-fallback-surface.h Update FSF address 2010-04-27 11:13:38 +02:00
test-fallback16-surface.c Update FSF address 2010-04-27 11:13:38 +02:00
test-fallback16-surface.h Update FSF address 2010-04-27 11:13:38 +02:00
test-null-surface.c Update FSF address 2010-04-27 11:13:38 +02:00
test-null-surface.h Update FSF address 2010-04-27 11:13:38 +02:00
test-paginated-surface.c Update FSF address 2010-04-27 11:13:38 +02:00
test-paginated-surface.h Update FSF address 2010-04-27 11:13:38 +02:00
test-wrapping-surface.c Update FSF address 2010-04-27 11:13:38 +02:00
test-wrapping-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.