cairo/src
2010-05-06 09:10:55 +01:00
..
drm surface: Convert snapshots from an array to a double-linked list. 2010-04-30 10:16:23 +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 Andrea's copyright notice 2010-04-30 14:14:01 +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 Update FSF address 2010-04-27 11:13:38 +02:00
cairo-boxes.c Update FSF address 2010-04-27 11:13:38 +02: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 Update FSF address 2010-04-27 11:13:38 +02:00
cairo-clip-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-clip.c clip: Propagate failure from retrieving the previous clip surface. 2010-05-06 09:10:55 +01:00
cairo-color.c Update FSF address 2010-04-27 11:13:38 +02:00
cairo-combsort-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-compiler-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-composite-rectangles-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-composite-rectangles.c Update FSF address 2010-04-27 11:13:38 +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 Update FSF address 2010-04-27 11:13:38 +02:00
cairo-device.c Update FSF address 2010-04-27 11:13:38 +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.h Update FSF address 2010-04-27 11:13:38 +02: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 image: Round down when rendering antialiased boxes 2010-04-29 22:34:28 +02:00
cairo-fixed-type-private.h Update FSF address 2010-04-27 11:13:38 +02: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 atomic: Correct implementation of _atomic_fetch () 2010-04-29 10:52:48 +02:00
cairo-freed-pool.c Update FSF address 2010-04-27 11:13:38 +02:00
cairo-freelist-private.h spans: Add a Bentley-Ottmann variant on the Tor scan converter 2010-01-22 23:01:51 +00:00
cairo-freelist.c spans: Add a Bentley-Ottmann variant on the Tor scan converter 2010-01-22 23:01:51 +00: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-device.c gl: Move device-specific code into cairo-gl-device.c 2010-05-05 12:30:01 +02:00
cairo-gl-glyphs.c gl: Introduce _cairo_gl_device_has_glsl() function 2010-05-05 12:30:01 +02:00
cairo-gl-private.h gl: Introduce _cairo_gl_device_has_glsl() function 2010-05-05 12:30:01 +02:00
cairo-gl-shaders.c Update FSF address 2010-04-27 11:13:38 +02:00
cairo-gl-surface.c gl: Get rid of ctx variable 2010-05-05 12:30:01 +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 Update FSF address 2010-04-27 11:13:38 +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 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: Propagate failure from pixman_image_set_clip_region() 2010-05-05 09:46:35 +01:00
cairo-list-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-lzw.c Update FSF address 2010-04-27 11:13:38 +02:00
cairo-malloc-private.h Update FSF address 2010-04-27 11:13:38 +02: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 Update FSF address 2010-04-27 11:13:38 +02:00
cairo-path-fixed-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-path-fixed.c Update FSF address 2010-04-27 11:13:38 +02: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 image: Compute sample extents 2010-04-27 11:07:45 +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 pdf: Cleanup local reference to source on error paths. 2010-05-04 13:28:37 +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 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 PS: Add missing 'q' when resetting clip path 2010-05-05 21:44:33 +09:30
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 Update FSF address 2010-04-27 11:13:38 +02:00
cairo-quartz-image-surface.c Update FSF address 2010-04-27 11:13:38 +02:00
cairo-quartz-image.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-quartz-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-quartz-surface.c quartz: Assert success of path creation 2010-04-27 12:24:43 +02:00
cairo-quartz.h Update FSF address 2010-04-27 11:13:38 +02: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 Update FSF address 2010-04-27 11:13:38 +02:00
cairo-region.c Update FSF address 2010-04-27 11:13:38 +02:00
cairo-rtree-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-rtree.c Update FSF address 2010-04-27 11:13:38 +02: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 Update FSF address 2010-04-27 11:13:38 +02:00
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: Only do _fill/compsoite_rectangles on bounded source 2010-04-29 16:54:09 +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 ps: Enable native encoding of subsurface patterns. 2010-04-30 10:16:24 +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 ps: Enable native encoding of subsurface patterns. 2010-04-30 10:16:24 +01:00
cairo-surface-subsurface.c ps: Enable native encoding of subsurface patterns. 2010-04-30 10:16:24 +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 Create cleared surface instead of a scratch surface in clone_similar() 2010-04-30 20:19:08 +02:00
cairo-svg-surface-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-svg-surface.c Update FSF address 2010-04-27 11:13:38 +02: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 Update FSF address 2010-04-27 11:13:38 +02:00
cairo-type1-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-type1-subset.c Update FSF address 2010-04-27 11:13:38 +02:00
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 Update FSF address 2010-04-27 11:13:38 +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 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 surface: Convert snapshots from an array to a double-linked list. 2010-04-30 10:16:23 +01: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 Update FSF address 2010-04-27 11:13:38 +02:00
cairo-win32-printing-surface.c Update FSF address 2010-04-27 11:13:38 +02: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 Update FSF address 2010-04-27 11:13:38 +02:00
cairo-xcb-connection-shm.c Update FSF address 2010-04-27 11:13:38 +02:00
cairo-xcb-connection.c Update FSF address 2010-04-27 11:13:38 +02:00
cairo-xcb-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-xcb-screen.c Update FSF address 2010-04-27 11:13:38 +02: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 surface: Convert snapshots from an array to a double-linked list. 2010-04-30 10:16:23 +01:00
cairo-xcb-surface-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-xcb-surface-render.c surface: Convert snapshots from an array to a double-linked list. 2010-04-30 10:16:23 +01:00
cairo-xcb-surface.c surface: Convert snapshots from an array to a double-linked list. 2010-04-30 10:16:23 +01:00
cairo-xcb.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-xlib-display.c Update FSF address 2010-04-27 11:13:38 +02:00
cairo-xlib-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-xlib-screen.c Update FSF address 2010-04-27 11:13:38 +02:00
cairo-xlib-surface-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-xlib-surface.c xlib: Don't delete gradients in unbounded fixup code 2010-05-04 13:53:02 +02:00
cairo-xlib-visual.c Update FSF address 2010-04-27 11:13:38 +02:00
cairo-xlib-xcb-surface.c Update FSF address 2010-04-27 11:13:38 +02: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 Update FSF address 2010-04-27 11:13:38 +02:00
cairo-xml.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo.c atomic: Separate bool and old-value compare-and-exchange 2010-04-29 10:52:47 +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: Convert snapshots from an array to a double-linked list. 2010-04-30 10:16:23 +01: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 device-specific code into cairo-gl-device.c 2010-05-05 12:30:01 +02:00
Makefile.win32 [win32] Include $(OPT) flags when linking cairo.dll 2009-02-26 16:04:49 -05:00
Makefile.win32.features Win32 features update 2010-04-23 14:39:21 +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.