cairo/src
Chris Wilson f2c32d0183 Unify the two freed object pools
Discard some duplicate code and shared a single freed object pointer
pool between the pattern and clip.
2010-01-22 23:01:50 +00:00
..
drm Constify stroke style and matrices. 2010-01-22 23:01:49 +00:00
glew Add a private copy of GLEW 2009-09-14 09:26:02 +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 Remove clip handling from generic surface layer. 2009-07-23 15:32:14 +01:00
cairo-analysis-surface.c Constify stroke style and matrices. 2010-01-22 23:01:49 +00:00
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 [build] Add options for warning about bad casts 2009-08-29 08:08:38 +01:00
cairo-array.c Move _cairo_error() to a standalone header 2010-01-22 22:30:43 +00:00
cairo-atomic-private.h atomic: correct libatomic_ops version of _cairo_atomic_int_cmpxchg 2009-10-19 22:28:05 +08:00
cairo-atomic.c [atomic] Use an integer __sync_val_compare_and_swap() for pointer CAS. 2009-06-21 17:34:12 +03:00
cairo-base64-stream.c Move _cairo_error() to a standalone header 2010-01-22 22:30:43 +00:00
cairo-base85-stream.c Move _cairo_error() to a standalone header 2010-01-22 22:30:43 +00:00
cairo-bentley-ottmann-rectangular.c Move _cairo_error() to a standalone header 2010-01-22 22:30:43 +00:00
cairo-bentley-ottmann-rectilinear.c Move _cairo_error() to a standalone header 2010-01-22 22:30:43 +00:00
cairo-bentley-ottmann.c Move _cairo_error() to a standalone header 2010-01-22 22:30:43 +00:00
cairo-beos-surface.cpp Move _cairo_error() to a standalone header 2010-01-22 22:30:43 +00:00
cairo-beos.h Use #include "cairo-*." instead of #include <cairo-*.h> 2008-06-23 00:30:04 -04:00
cairo-cache-private.h [cache] Expose init/fini methods so that caches can be embedded. 2009-06-01 18:04:14 +01:00
cairo-cache.c Move _cairo_error() to a standalone header 2010-01-22 22:30:43 +00:00
cairo-cff-subset.c Move _cairo_error() to a standalone header 2010-01-22 22:30:43 +00:00
cairo-clip-private.h [clip] Remove non-existing functions from header 2009-10-18 21:32:10 +02:00
cairo-clip.c Unify the two freed object pools 2010-01-22 23:01:50 +00:00
cairo-color.c [directfb] When blitting check if we need the un-premultiplied color. 2008-10-20 23:20:24 +01:00
cairo-combsort-private.h [tessellator] Special case rectilinear tessellation 2009-08-29 08:08:29 +01:00
cairo-compiler-private.h [win32] Use _hypot instead of hypot 2009-03-21 11:56:18 -07:00
cairo-debug.c [debug] Path printer 2009-08-29 08:08:33 +01:00
cairo-deflate-stream.c Move _cairo_error() to a standalone header 2010-01-22 22:30:43 +00:00
cairo-deprecated.h [cairo-deprecated.h] Remove mention of cairoint.h from public header 2008-05-09 15:54:10 +02:00
cairo-directfb-surface.c Move _cairo_error() to a standalone header 2010-01-22 22:30:43 +00:00
cairo-directfb.h Make sure feature macros are checked using #if, not #ifdef; add a test for it 2008-09-20 17:20:36 -04:00
cairo-drm.h [drm] Add an accelerated image surface. 2009-07-23 16:18:42 +01:00
cairo-eagle-context.c Move _cairo_error() to a standalone header 2010-01-22 22:30:43 +00:00
cairo-error-private.h Move _cairo_error() to a standalone header 2010-01-22 22:30:43 +00:00
cairo-features-uninstalled.pc.in Build -uninstalled.pc files 2008-09-11 00:38:30 -04:00
cairo-features.pc.in More fixes for pkgconfig files 2008-09-10 12:41:57 -04:00
cairo-fixed-private.h [xlib] Fix new Composite test 2009-11-04 11:20:45 +01:00
cairo-fixed-type-private.h Eliminate self-intersecting strokes. 2009-08-29 08:08:28 +01:00
cairo-fixed.c [fixpt] Make fixed point methods static inline and generic 2007-07-18 22:45:21 +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 Move _cairo_error() to a standalone header 2010-01-22 22:30:43 +00:00
cairo-font-face.c Move _cairo_error() to a standalone header 2010-01-22 22:30:43 +00:00
cairo-font-options.c Move _cairo_error() to a standalone header 2010-01-22 22:30:43 +00:00
cairo-freed-pool-private.h Unify the two freed object pools 2010-01-22 23:01:50 +00:00
cairo-freed-pool.c Unify the two freed object pools 2010-01-22 23:01:50 +00:00
cairo-freelist-private.h [xcb] Deferred error checking. 2009-09-30 20:11:07 +01:00
cairo-freelist.c Move _cairo_error() to a standalone header 2010-01-22 22:30:43 +00:00
cairo-ft-font.c Move _cairo_error() to a standalone header 2010-01-22 22:30:43 +00:00
cairo-ft-private.h Add CairoScript backend. 2008-11-13 11:36:54 +00:00
cairo-ft.h Support compiling without fontconfig 2009-03-17 00:58:40 -04:00
cairo-gl-glyphs.c Move _cairo_error() to a standalone header 2010-01-22 22:30:43 +00:00
cairo-gl-private.h [gl] Cache a temporary glyph compositing mask for reuse later. 2010-01-22 09:21:36 -08:00
cairo-gl-shaders.c Move _cairo_error() to a standalone header 2010-01-22 22:30:43 +00:00
cairo-gl-surface.c Move _cairo_error() to a standalone header 2010-01-22 22:30:43 +00:00
cairo-gl.h Merge commit 'anholt/gl' 2009-07-21 22:28:44 +01:00
cairo-glitz-private.h [slim] hide cairo_glitz_surface_create() (#8551) 2006-10-08 17:07:17 -04:00
cairo-glitz-surface.c Move _cairo_error() to a standalone header 2010-01-22 22:30:43 +00:00
cairo-glitz.h Use #include "cairo-*." instead of #include <cairo-*.h> 2008-06-23 00:30:04 -04:00
cairo-glx-context.c Move _cairo_error() to a standalone header 2010-01-22 22:30:43 +00:00
cairo-gstate-private.h [cairo] Track the MRU scaled font 2009-06-02 15:13:44 +01:00
cairo-gstate.c Move _cairo_error() to a standalone header 2010-01-22 22:30:43 +00:00
cairo-hash-private.h [scaled-font] Lean and mean global glyph cache. 2009-03-16 20:51:50 +00:00
cairo-hash.c Move _cairo_error() to a standalone header 2010-01-22 22:30:43 +00:00
cairo-hull.c Move _cairo_error() to a standalone header 2010-01-22 22:30:43 +00:00
cairo-image-info-private.h Add PNG get info function 2008-11-24 22:27:09 +10:30
cairo-image-info.c Change uint to uint32_t 2008-11-26 06:40:47 +10:30
cairo-image-surface.c Move _cairo_error() to a standalone header 2010-01-22 22:30:43 +00:00
cairo-list-private.h [script] Trim some excess verbage 2009-07-03 16:47:42 +01:00
cairo-lzw.c Move _cairo_error() to a standalone header 2010-01-22 22:30:43 +00:00
cairo-malloc-private.h [memfault] Update macros to avoid namescape collision with memcheck 2009-05-15 21:31:03 +01:00
cairo-matrix.c Move _cairo_error() to a standalone header 2010-01-22 22:30:43 +00:00
cairo-misc.c Move _cairo_error() to a standalone header 2010-01-22 22:30:43 +00:00
cairo-mutex-impl-private.h [build] Link against pthread-stubs 2009-10-15 13:05:47 +01:00
cairo-mutex-list-private.h [drm] Add an accelerated image surface. 2009-07-23 16:18:42 +01:00
cairo-mutex-private.h [cairo-mutex] Move semicolons out of cairo-mutex-list-private.h 2008-09-19 18:45:44 -04:00
cairo-mutex-type-private.h Ensure that the scaled font is frozen for the lifetime of the scaled glyph. 2008-10-22 00:53:55 +01:00
cairo-mutex.c [cairo-mutex] Move semicolons out of cairo-mutex-list-private.h 2008-09-19 18:45:44 -04:00
cairo-os2-private.h [os2] Fix includes 2008-11-26 20:22:57 +00:00
cairo-os2-surface.c Move _cairo_error() to a standalone header 2010-01-22 22:30:43 +00:00
cairo-os2.h [os2] Move include cairo.h before os2.h 2008-11-26 20:23:05 +00:00
cairo-output-stream-private.h Add xml surface 2009-08-29 17:07:34 +01:00
cairo-output-stream.c Move _cairo_error() to a standalone header 2010-01-22 22:30:43 +00:00
cairo-paginated-private.h [meta] Rename cairo_meta_surface_t to cairo_recording_surface_t. 2009-10-22 02:29:47 +03:00
cairo-paginated-surface-private.h [meta] Rename cairo_meta_surface_t to cairo_recording_surface_t. 2009-10-22 02:29:47 +03:00
cairo-paginated-surface.c Constify stroke style and matrices. 2010-01-22 23:01:49 +00:00
cairo-path-bounds.c Constify stroke style and matrices. 2010-01-22 23:01:49 +00:00
cairo-path-fill.c Move _cairo_error() to a standalone header 2010-01-22 22:30:43 +00:00
cairo-path-fixed-private.h [path] Standalone header-compilation 2009-09-01 14:31:38 +01:00
cairo-path-fixed.c Move _cairo_error() to a standalone header 2010-01-22 22:30:43 +00:00
cairo-path-in-fill.c Remove clip handling from generic surface layer. 2009-07-23 15:32:14 +01:00
cairo-path-private.h [cairo-path] Make _cairo_path_nil static. 2007-10-30 10:58:16 +00:00
cairo-path-stroke.c Constify stroke style and matrices. 2010-01-22 23:01:49 +00:00
cairo-path.c Move _cairo_error() to a standalone header 2010-01-22 22:30:43 +00:00
cairo-pattern.c Unify the two freed object pools 2010-01-22 23:01:50 +00:00
cairo-pdf-operators-private.h Constify stroke style and matrices. 2010-01-22 23:01:49 +00:00
cairo-pdf-operators.c Constify stroke style and matrices. 2010-01-22 23:01:49 +00:00
cairo-pdf-surface-private.h Constify stroke style and matrices. 2010-01-22 23:01:49 +00:00
cairo-pdf-surface.c Constify stroke style and matrices. 2010-01-22 23:01:49 +00:00
cairo-pdf.h Document PDF restrict_to_version API 2008-12-23 15:04:10 +10:30
cairo-pen.c Move _cairo_error() to a standalone header 2010-01-22 22:30:43 +00:00
cairo-png.c Move _cairo_error() to a standalone header 2010-01-22 22:30:43 +00:00
cairo-polygon.c Move _cairo_error() to a standalone header 2010-01-22 22:30:43 +00:00
cairo-private.h [cairo] Embed a second gstate. 2009-01-02 09:53:25 +00:00
cairo-ps-surface-private.h PS: Add DocumentMedia/PageMedia DSC comments 2009-09-25 23:24:36 +09:30
cairo-ps-surface.c Constify stroke style and matrices. 2010-01-22 23:01:49 +00:00
cairo-ps.h Use #include "cairo-*." instead of #include <cairo-*.h> 2008-06-23 00:30:04 -04:00
cairo-qt-surface.cpp Constify stroke style and matrices. 2010-01-22 23:01:49 +00:00
cairo-qt.h Import Qt backend by Mozilla 2009-06-16 11:03:46 +01:00
cairo-quartz-font.c Move _cairo_error() to a standalone header 2010-01-22 22:30:43 +00:00
cairo-quartz-image-surface.c Move _cairo_error() to a standalone header 2010-01-22 22:30:43 +00:00
cairo-quartz-image.h Use #include "cairo-*." instead of #include <cairo-*.h> 2008-06-23 00:30:04 -04:00
cairo-quartz-private.h Remove clip handling from generic surface layer. 2009-07-23 15:32:14 +01:00
cairo-quartz-surface.c Constify stroke style and matrices. 2010-01-22 23:01:49 +00:00
cairo-quartz.h Fix compilation on OS X when compiling for 64 bit 2009-06-11 17:32:23 -04:00
cairo-recording-surface-private.h [meta] Rename cairo_meta_surface_t to cairo_recording_surface_t. 2009-10-22 02:29:47 +03:00
cairo-recording-surface.c Constify stroke style and matrices. 2010-01-22 23:01:49 +00:00
cairo-rectangle.c [clip] Use geometric clipping for unaligned clips 2009-08-29 08:08:33 +01:00
cairo-reference-count-private.h Make sure (and check) that all private headers include some cairo header first 2008-09-19 17:19:10 -04:00
cairo-region-private.h [traps] Compute extents on demand. 2009-08-29 08:08:28 +01:00
cairo-region.c Move _cairo_error() to a standalone header 2010-01-22 22:30:43 +00:00
cairo-rtree-private.h [gl] Actually remove the glyph from the rtree on scaled_font_fini 2009-07-27 13:16:30 -07:00
cairo-rtree.c Move _cairo_error() to a standalone header 2010-01-22 22:30:43 +00:00
cairo-scaled-font-private.h Add 'flight-data-recorder' utility. 2009-08-29 08:08:39 +01:00
cairo-scaled-font-subsets-private.h [scaled-font] Fix up syntax in doc comments 2009-01-29 10:10:39 +00:00
cairo-scaled-font-subsets.c Move _cairo_error() to a standalone header 2010-01-22 22:30:43 +00:00
cairo-scaled-font.c Move _cairo_error() to a standalone header 2010-01-22 22:30:43 +00:00
cairo-script-surface.c Constify stroke style and matrices. 2010-01-22 23:01:49 +00:00
cairo-script.h [meta] Rename cairo_meta_surface_t to cairo_recording_surface_t. 2009-10-22 02:29:47 +03:00
cairo-skia-surface.cpp Add skia backend 2009-08-29 17:07:35 +01:00
cairo-skia.h Add skia backend 2009-08-29 17:07:35 +01:00
cairo-slope-private.h path: Do not remove anti-parallel line segments in case we are stroking 2010-01-12 17:07:30 +00:00
cairo-slope.c [slope] Inline _cairo_slope_init() 2009-08-29 08:08:33 +01:00
cairo-spans-private.h traps-as-spans 2009-08-29 08:08:32 +01:00
cairo-spans.c [spans] Correct offsets for trapezoids 2009-09-08 19:02:04 +01:00
cairo-spline.c Add a description of how we compute the spline_error_squared. 2009-09-18 12:17:46 -04:00
cairo-stroke-style.c Constify stroke style and matrices. 2010-01-22 23:01:49 +00:00
cairo-surface-clipper-private.h Remove clip handling from generic surface layer. 2009-07-23 15:32:14 +01:00
cairo-surface-clipper.c Remove clip handling from generic surface layer. 2009-07-23 15:32:14 +01:00
cairo-surface-fallback-private.h Constify stroke style and matrices. 2010-01-22 23:01:49 +00:00
cairo-surface-fallback.c Constify stroke style and matrices. 2010-01-22 23:01:49 +00:00
cairo-surface-private.h Make the surface->is_clear logic common 2009-10-21 11:37:16 +01:00
cairo-surface-wrapper-private.h Constify stroke style and matrices. 2010-01-22 23:01:49 +00:00
cairo-surface-wrapper.c Constify stroke style and matrices. 2010-01-22 23:01:49 +00:00
cairo-surface.c Constify stroke style and matrices. 2010-01-22 23:01:49 +00:00
cairo-svg-surface-private.h Remove clip handling from generic surface layer. 2009-07-23 15:32:14 +01:00
cairo-svg-surface.c Constify stroke style and matrices. 2010-01-22 23:01:49 +00:00
cairo-svg.h Use #include "cairo-*." instead of #include <cairo-*.h> 2008-06-23 00:30:04 -04:00
cairo-system.c [cairo.h] Don't define cairo_public to __declspec(dllimport) for static build 2008-09-26 13:27:42 -04:00
cairo-tee-surface-private.h Introduce cairo_tee_surface_t 2009-08-29 08:08:39 +01:00
cairo-tee-surface.c Constify stroke style and matrices. 2010-01-22 23:01:49 +00:00
cairo-tor-scan-converter.c Move _cairo_error() to a standalone header 2010-01-22 22:30:43 +00:00
cairo-toy-font-face.c Move _cairo_error() to a standalone header 2010-01-22 22:30:43 +00:00
cairo-traps.c Move _cairo_error() to a standalone header 2010-01-22 22:30:43 +00:00
cairo-truetype-subset-private.h Fix TrueType subsetting bug 2009-04-05 01:09:32 +10:30
cairo-truetype-subset.c Move _cairo_error() to a standalone header 2010-01-22 22:30:43 +00:00
cairo-type1-fallback.c Move _cairo_error() to a standalone header 2010-01-22 22:30:43 +00:00
cairo-type1-private.h Revamp the build system. 2008-09-02 20:24:08 -04:00
cairo-type1-subset.c Move _cairo_error() to a standalone header 2010-01-22 22:30:43 +00:00
cairo-type3-glyph-surface-private.h Remove clip handling from generic surface layer. 2009-07-23 15:32:14 +01:00
cairo-type3-glyph-surface.c Constify stroke style and matrices. 2010-01-22 23:01:49 +00:00
cairo-types-private.h [meta] Rename cairo_meta_surface_t to cairo_recording_surface_t. 2009-10-22 02:29:47 +03:00
cairo-unicode.c Move _cairo_error() to a standalone header 2010-01-22 22:30:43 +00:00
cairo-uninstalled.pc.in Build -uninstalled.pc files 2008-09-11 00:38:30 -04:00
cairo-user-font-private.h Revamp the build system. 2008-09-02 20:24:08 -04:00
cairo-user-font.c Move _cairo_error() to a standalone header 2010-01-22 22:30:43 +00:00
cairo-version.c Some nasty tracks to make changing version number not cause a total rebuild 2008-08-28 18:18:23 -04: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 Move _cairo_error() to a standalone header 2010-01-22 22:30:43 +00:00
cairo-vg.h Add OpenVG backend. 2009-07-17 11:50:02 +01:00
cairo-wideint-private.h wideint: Protect 64_32_div for non-HAVE_UINT16_T systems 2009-10-25 11:04:17 +00:00
cairo-wideint-type-private.h Use __uint128_t and __int128_t if available 2009-09-15 18:19:08 +01:00
cairo-wideint.c Use __uint128_t and __int128_t if available 2009-09-15 18:19:08 +01:00
cairo-win32-font.c Move _cairo_error() to a standalone header 2010-01-22 22:30:43 +00:00
cairo-win32-printing-surface.c Constify stroke style and matrices. 2010-01-22 23:01:49 +00:00
cairo-win32-private.h win32-printing: Allow GDI CTM with scale < 1 to be set 2009-09-22 22:36:20 +09:30
cairo-win32-surface.c Move _cairo_error() to a standalone header 2010-01-22 22:30:43 +00:00
cairo-win32.h Make sure feature macros are checked using #if, not #ifdef; add a test for it 2008-09-20 17:20:36 -04:00
cairo-xcb-surface.c Move _cairo_error() to a standalone header 2010-01-22 22:30:43 +00:00
cairo-xcb-xrender.h Use #include "cairo-*." instead of #include <cairo-*.h> 2008-06-23 00:30:04 -04:00
cairo-xcb.h Use #include "cairo-*." instead of #include <cairo-*.h> 2008-06-23 00:30:04 -04:00
cairo-xlib-display.c Move _cairo_error() to a standalone header 2010-01-22 22:30:43 +00:00
cairo-xlib-private.h [atomic] Fallback to libatomic-ops-dev 2009-10-15 13:05:46 +01:00
cairo-xlib-screen.c Move _cairo_error() to a standalone header 2010-01-22 22:30:43 +00:00
cairo-xlib-surface-private.h Support component-alpha. 2009-10-21 11:37:16 +01:00
cairo-xlib-surface.c Move _cairo_error() to a standalone header 2010-01-22 22:30:43 +00:00
cairo-xlib-visual.c Move _cairo_error() to a standalone header 2010-01-22 22:30:43 +00:00
cairo-xlib-xrender-private.h Fix build on systems with older Xrender headers. 2009-08-29 17:10:05 +01:00
cairo-xlib-xrender.h Use #include "cairo-*." instead of #include <cairo-*.h> 2008-06-23 00:30:04 -04:00
cairo-xlib.h Use #include "cairo-*." instead of #include <cairo-*.h> 2008-06-23 00:30:04 -04:00
cairo-xml-surface.c Constify stroke style and matrices. 2010-01-22 23:01:49 +00:00
cairo-xml.h [meta] Rename cairo_meta_surface_t to cairo_recording_surface_t. 2009-10-22 02:29:47 +03:00
cairo.c Move _cairo_error() to a standalone header 2010-01-22 22:30:43 +00:00
cairo.h [meta] Rename cairo_meta_surface_t to cairo_recording_surface_t. 2009-10-22 02:29:47 +03:00
cairo.pc.in Improve backend .pc files generation: 2006-07-12 04:27:55 -04:00
cairoint.h Constify stroke style and matrices. 2010-01-22 23:01:49 +00:00
check-def.sh Set LC_ALL=C instead of LANG=C 2009-09-16 15:50:34 -04:00
check-doc-syntax.sh Set LC_ALL=C instead of LANG=C 2009-09-16 15:50:34 -04: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 Add a private copy of GLEW 2009-09-14 09:26:02 +01:00
Makefile.am.analysis [check] Quieten output during checking headers-standalone 2009-05-07 15:14:14 +01:00
Makefile.sources Unify the two freed object pools 2010-01-22 23:01:50 +00:00
Makefile.win32 [win32] Include $(OPT) flags when linking cairo.dll 2009-02-26 16:04:49 -05:00
Makefile.win32.features [meta] Rename cairo_meta_surface_t to cairo_recording_surface_t. 2009-10-22 02:29:47 +03:00
README Fix various README typos 2009-01-02 02:56:38 -05:00
test-fallback-surface.c Move _cairo_error() to a standalone header 2010-01-22 22:30:43 +00:00
test-fallback-surface.h [test-surfaces] Prefix public symbols with _cairo 2007-03-13 05:14:19 -04:00
test-fallback16-surface.c Move _cairo_error() to a standalone header 2010-01-22 22:30:43 +00:00
test-fallback16-surface.h [test] Create a new fallback surface to exercise 16-bit paths. 2009-05-05 21:17:11 +01:00
test-null-surface.c Constify stroke style and matrices. 2010-01-22 23:01:49 +00:00
test-null-surface.h Missing header file for cairo-test-null-surface. 2009-06-15 12:14:51 +01:00
test-paginated-surface.c Constify stroke style and matrices. 2010-01-22 23:01:49 +00:00
test-paginated-surface.h Remove clip handling from generic surface layer. 2009-07-23 15:32:14 +01:00
test-wrapping-surface.c Constify stroke style and matrices. 2010-01-22 23:01:49 +00:00
test-wrapping-surface.h Remove clip handling from generic surface layer. 2009-07-23 15:32:14 +01: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.