cairo/src
Chris Wilson a5f54e48e3 snapshot: The snapshot masquerades as the target surface type.
Not wholly convinced this is a good idea, but it matches the behaviour
of the other internal surface types.
2010-04-28 08:39:21 +01:00
..
drm Update FSF address 2010-04-27 11:13:38 +02: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 Update FSF address 2010-04-27 11:13:38 +02: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 Update FSF address 2010-04-27 11:13:38 +02:00
cairo-atomic-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-atomic.c Update FSF address 2010-04-27 11:13:38 +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 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 Update FSF address 2010-04-27 11:13:38 +02: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
cairo-features.pc.in
cairo-fixed-private.h Update FSF address 2010-04-27 11:13:38 +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 Update FSF address 2010-04-27 11:13:38 +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 Update FSF address 2010-04-27 11:13:38 +02: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-glyphs.c Update FSF address 2010-04-27 11:13:38 +02:00
cairo-gl-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-gl-shaders.c Update FSF address 2010-04-27 11:13:38 +02:00
cairo-gl-surface.c Update FSF address 2010-04-27 11:13:38 +02:00
cairo-gl.h Update FSF address 2010-04-27 11:13:38 +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: Convert 1x1 samples into solid colors. 2010-04-28 08:39:21 +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 Update FSF address 2010-04-27 11:13:38 +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 Update FSF address 2010-04-27 11:13:38 +02: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 Update FSF address 2010-04-27 11:13:38 +02:00
cairo-pdf-surface-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-pdf-surface.c Update FSF address 2010-04-27 11:13:38 +02: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 Update FSF address 2010-04-27 11:13:38 +02: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 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 Update FSF address 2010-04-27 11:13:38 +02:00
cairo-recording-surface.c Update FSF address 2010-04-27 11:13:38 +02: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 Update FSF address 2010-04-27 11:13:38 +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 Update FSF address 2010-04-27 11:13:38 +02: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 Update FSF address 2010-04-27 11:13:38 +02:00
cairo-script-surface.c Update FSF address 2010-04-27 11:13:38 +02: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 Update FSF address 2010-04-27 11:13:38 +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 Update FSF address 2010-04-27 11:13:38 +02:00
cairo-surface-snapshot-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-surface-snapshot.c snapshot: The snapshot masquerades as the target surface type. 2010-04-28 08:39:21 +01:00
cairo-surface-subsurface-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-surface-subsurface.c Update FSF address 2010-04-27 11:13:38 +02:00
cairo-surface-wrapper-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-surface-wrapper.c Update FSF address 2010-04-27 11:13:38 +02:00
cairo-surface.c surface: skip OVER is the source is clear. 2010-04-27 18:56:23 +01: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 Update FSF address 2010-04-27 11:13:38 +02: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
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
cairo-vg-surface.c Update FSF address 2010-04-27 11:13:38 +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 Update FSF address 2010-04-27 11:13:38 +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 Update FSF address 2010-04-27 11:13:38 +02:00
cairo-xcb-surface-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-xcb-surface-render.c Update FSF address 2010-04-27 11:13:38 +02:00
cairo-xcb-surface.c Update FSF address 2010-04-27 11:13:38 +02: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 Update FSF address 2010-04-27 11:13:38 +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 Update FSF address 2010-04-27 11:13:38 +02:00
cairo.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo.pc.in
cairoint.h image: Compute sample extents 2010-04-27 11:07:45 +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-headers.sh Set LC_ALL=C instead of LANG=C 2009-09-16 15:50:34 -04:00
check-link.c
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: Add EGL interface 2010-03-11 01:49:18 +00: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.