cairo/src
Benjamin Otte 1c15510c3d Call cairo_surface_flush() before setting finished
With the current code, the surface will never be flushed as the flush
function checks if the surface is finished, and if so, doesn't call the
vfunc. Ooops.
2010-06-07 13:37:48 +02:00
..
drm color: Special case comparing color stops. 2010-05-13 09:52:39 +01:00
glew glew: don't pull in GL/glu.h 2010-03-07 16:59:57 +00: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: Enable native encoding of subsurface patterns. 2010-04-30 10:16:24 +01:00
cairo-arc-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-arc.c Update FSF address 2010-04-27 11:13:38 +02:00
cairo-array.c Fix typo in docs 2010-05-05 12:30:01 +02: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 Update FSF address 2010-04-27 11:13:38 +02:00
cairo-beos-surface.cpp Update FSF address 2010-04-27 11:13:38 +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-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: Use correct glyph advance when subsetting cff fonts 2010-05-16 20:52:31 +09:30
cairo-clip-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-clip.c clip: Fill instead of creating intermediate surfaces. 2010-05-12 20:42:18 +01:00
cairo-color.c Make _cairo_color_equal() work for unmultiplied colors, too 2010-05-13 12:11:09 +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 Update FSF address 2010-04-27 11:13:38 +02: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: Make flush vfunc return a cairo_status_t 2010-06-07 13:37:48 +02:00
cairo-directfb-surface.c Update FSF address 2010-04-27 11:13:38 +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 Update FSF address 2010-04-27 11:13:38 +02:00
cairo-error-private.h Update FSF address 2010-04-27 11:13:38 +02: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 drm: code dump, sorry. 2010-05-12 20:54:49 +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 Update FSF address 2010-04-27 11:13:38 +02:00
cairo-font-options.c Update FSF address 2010-04-27 11:13:38 +02: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 drm: code dump, sorry. 2010-05-12 20:54:49 +01:00
cairo-freelist.c drm: code dump, sorry. 2010-05-12 20:54:49 +01:00
cairo-ft-font.c ft: Convert an assert into an unlikely error return. 2010-05-03 19:18:49 +01:00
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: Don't reset vertex size 2010-06-07 13:37:48 +02:00
cairo-gl-device.c gl: Flush properly in set_destination 2010-06-07 13:37:48 +02:00
cairo-gl-glyphs.c gl: Get rid of operand argument to emit functions 2010-06-07 13:37:47 +02:00
cairo-gl-private.h gl: Remove check if we're between begin/end 2010-06-07 13:37:48 +02:00
cairo-gl-shaders.c gl: Make _shader_by_type() a getter 2010-06-07 13:37:48 +02:00
cairo-gl-surface.c gl: Set GL_BLEND and GL_SCISSOR_TEST globally 2010-06-07 13:37:48 +02:00
cairo-gl.h gl: Get rid of cairo_gl_surface_glfinish() from public API 2010-05-05 12:30:01 +02:00
cairo-glx-context.c Update FSF address 2010-04-27 11:13:38 +02:00
cairo-gstate-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-gstate.c Revert "gstate: reduce a couple more operators" 2010-06-06 16:53:46 +01: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 Update FSF address 2010-04-27 11:13:38 +02:00
cairo-image-info.c Update FSF address 2010-04-27 11:13:38 +02:00
cairo-image-surface.c image: Fix wholly unbounded fixup 2010-05-13 12:11:09 +02: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 Update FSF address 2010-04-27 11:13:38 +02:00
cairo-misc.c Update FSF address 2010-04-27 11:13:38 +02:00
cairo-mutex-impl-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-mutex-list-private.h Update FSF address 2010-04-27 11:13:38 +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-os2-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-os2-surface.c os2: Fix get_extents() segfaulting. 2010-05-03 10:20:51 +02:00
cairo-os2.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-output-stream-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-output-stream.c Update FSF address 2010-04-27 11:13:38 +02: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 paginated: Mark as clear initially. 2010-05-04 18:53:50 +01:00
cairo-path-bounds.c Update FSF address 2010-04-27 11:13:38 +02:00
cairo-path-fill.c region: _cairo_region_create_in_error() 2010-05-10 12:45:31 +01:00
cairo-path-fixed-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-path-fixed.c Remove useless null checks of a and b in _cairo_path_fixed_equal 2010-05-07 10:24:49 -04:00
cairo-path-in-fill.c Update FSF address 2010-04-27 11:13:38 +02:00
cairo-path-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-path-stroke.c Update FSF address 2010-04-27 11:13:38 +02:00
cairo-path.c Update FSF address 2010-04-27 11:13:38 +02:00
cairo-pattern.c Make cairo_color_stop_t a unique type. 2010-05-13 10:00:18 +01:00
cairo-pdf-operators-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-pdf-operators.c pdf: Assert that no other error can occur for an invertible matrix. 2010-05-04 18:53:50 +01:00
cairo-pdf-surface-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-pdf-surface.c cff: Use correct glyph advance when subsetting cff fonts 2010-05-16 20:52:31 +09:30
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 Update FSF address 2010-04-27 11:13:38 +02:00
cairo-polygon.c Update FSF address 2010-04-27 11:13:38 +02: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 Make cairo_color_stop_t a unique type. 2010-05-13 10:00:18 +01:00
cairo-ps.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-qt-surface.cpp Update FSF address 2010-04-27 11:13:38 +02:00
cairo-qt.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-quartz-font.c quartz-font: Silence 0x0 CGContext warning 2010-05-17 22:01:50 +02: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 Update FSF address 2010-04-27 11:13:38 +02:00
cairo-quartz-surface.c quartz: fix repeating radial gradients on 64 bits 2010-05-17 22:12:36 +02: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 recording: Mark an empty recording surface as clear. 2010-05-05 09:25:25 +01:00
cairo-rectangle.c Update FSF address 2010-04-27 11:13:38 +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 region: clarify docs of cairo_region_equal() 2010-06-07 13:37:48 +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 cff: Use correct glyph advance when subsetting cff fonts 2010-05-16 20:52:31 +09:30
cairo-scaled-font-subsets.c Update FSF address 2010-04-27 11:13:38 +02:00
cairo-scaled-font.c scaled-font: Pluck last glyph from the most recent page. 2010-05-05 18:07:29 +01:00
cairo-script-surface.c script: Replace the missing " " after pop 2010-04-28 10:01:06 +01:00
cairo-script.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-skia-surface.cpp Update FSF address 2010-04-27 11:13:38 +02:00
cairo-skia.h Update FSF address 2010-04-27 11:13:38 +02: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 spans: Add a rectangular scan converter 2010-01-22 23:01:51 +00:00
cairo-spans.c spans: Initialise rects->is_bounded for polygon compat. 2010-03-11 01:48:08 +00: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 fallback: Remove span renderer paths 2010-05-14 15:56:17 +02:00
cairo-surface-offset-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-surface-offset.c Update FSF address 2010-04-27 11:13:38 +02:00
cairo-surface-private.h surface: Add _cairo_surface_release_device_reference() API 2010-05-18 13:43:27 +02: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 ps: Enable native encoding of subsurface patterns. 2010-04-30 10:16:24 +01:00
cairo-surface-subsurface.c subsurface: Don't double apply device offset for deep subsurfaces. 2010-05-08 18:24:48 +01: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 ps: Enable native encoding of subsurface patterns. 2010-04-30 10:16:24 +01:00
cairo-surface.c Call cairo_surface_flush() before setting finished 2010-06-07 13:37:48 +02:00
cairo-svg-surface-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-svg-surface.c Make cairo_color_stop_t a unique type. 2010-05-13 10:00:18 +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 Update FSF address 2010-04-27 11:13:38 +02:00
cairo-tor-scan-converter.c spans: Pass multiple rows of identical spans to the renders. 2010-01-22 23:01:51 +00: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 Update FSF address 2010-04-27 11:13:38 +02:00
cairo-truetype-subset.c Update FSF address 2010-04-27 11:13:38 +02:00
cairo-type1-fallback.c type1: Use correct glyph advance when subsetting type 1 fonts 2010-05-16 20:52:31 +09:30
cairo-type1-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-type1-subset.c type1: Use correct glyph advance when subsetting type 1 fonts 2010-05-16 20:52:31 +09: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 Make cairo_color_stop_t a unique type. 2010-05-13 10:00:18 +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 Update FSF address 2010-04-27 11:13:38 +02:00
cairo-version.c Update FSF address 2010-04-27 11:13:38 +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 openvg: fix build break 2010-06-02 23:00:01 +02:00
cairo-vg.h Update FSF address 2010-04-27 11:13:38 +02: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 Bug 28100 - Font option CAIRO_HINT_METRICS_OFF unhonoured on win32 2010-05-14 14:48:46 -04:00
cairo-win32-printing-surface.c win32-printing: compile fix. 2010-05-12 20:09:44 +01:00
cairo-win32-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-win32-surface.c Update FSF address 2010-04-27 11:13:38 +02:00
cairo-win32.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-xcb-connection-core.c Update FSF address 2010-04-27 11:13:38 +02:00
cairo-xcb-connection-render.c xcb: trivial memfault fixes. 2010-05-10 13:36:53 +01:00
cairo-xcb-connection-shm.c Update FSF address 2010-04-27 11:13:38 +02:00
cairo-xcb-connection.c xcb: trivial memfault fixes. 2010-05-10 13:36:53 +01:00
cairo-xcb-private.h xcb: trivial memfault fixes. 2010-05-10 13:36:53 +01:00
cairo-xcb-screen.c xcb: trivial memfault fixes. 2010-05-10 13:36:53 +01:00
cairo-xcb-shm.c Update FSF address 2010-04-27 11:13:38 +02:00
cairo-xcb-surface-cairo.c Update FSF address 2010-04-27 11:13:38 +02:00
cairo-xcb-surface-core.c xcb: trivial memfault fixes. 2010-05-10 13:36:53 +01:00
cairo-xcb-surface-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-xcb-surface-render.c xcb: discard glyph mask and use dst directly when possible. 2010-05-12 20:54:48 +01:00
cairo-xcb-surface.c xcb: trivial memfault fixes. 2010-05-10 13:36:53 +01:00
cairo-xcb.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-xlib-display.c xlib: Remove reference counting for cairo_xlib_screen_t 2010-05-06 10:46:49 +01:00
cairo-xlib-private.h xlib: Remove reference counting for cairo_xlib_screen_t 2010-05-06 10:46:49 +01:00
cairo-xlib-screen.c xlib: Remove reference counting for cairo_xlib_screen_t 2010-05-06 10:46:49 +01:00
cairo-xlib-surface-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-xlib-surface.c xlib: ensure variable isn't uninitialized 2010-05-17 01:16:16 +02: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 device: Make flush vfunc return a cairo_status_t 2010-06-07 13:37:48 +02:00
cairo-xml.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo.c cairo_paint_with_alpha(cr, 0.0) is only a noop when bounded by mask 2010-05-13 12:11:09 +02:00
cairo.h subsurface: s/region/rectangle/ 2010-04-30 10:16:06 +01:00
cairo.pc.in Improve backend .pc files generation: 2006-07-12 04:27:55 -04:00
cairoint.h surface: Add _cairo_surface_release_device_reference() API 2010-05-18 13:43:27 +02:00
check-def.sh Set LC_ALL=C instead of LANG=C 2009-09-16 15:50:34 -04:00
check-doc-syntax.sh Improve doc syntax check to allow inline macro docs 2010-04-01 01:53:53 -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 gl: Move composite code into own file 2010-05-17 01:13:46 +02:00
Makefile.win32 [win32] Include $(OPT) flags when linking cairo.dll 2009-02-26 16:04:49 -05:00
Makefile.win32.features gallium: Refresh. 2010-05-12 20:54:49 +01: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.