cairo/src
Andrea Canciani f67b600927 quartz: Simplify path creation
If paths are created before changing the ctm (when stroking) no
multiplication is needed in the path construction code.
2010-04-27 12:24:43 +02: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 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 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: Compute sample extents 2010-04-27 11:07:45 +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: Simplify 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: propagate status on finish 2010-04-27 11:09:25 +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 Update FSF address 2010-04-27 11:13:38 +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 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 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 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 Improve backend .pc files generation: 2006-07-12 04:27:55 -04:00
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] 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: 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.