cairo/src
Michael Hutchinson fdec6b3759 quartz: Don't release memory we don't own
This was causing crashes due to double frees.

https://bugs.freedesktop.org/show_bug.cgi?id=62885

Signed-off-by: Benjamin Otte <otte@redhat.com>
2013-03-29 02:40:13 +01:00
..
drm xlib: Implement SHM fallbacks and fast upload paths 2012-08-17 13:58:09 +01:00
skia context: Add missing functions to transform between user and backend coordinates 2012-09-10 15:09:15 +01:00
win32 win32: Free the fallback upon finish 2013-02-15 14:08:11 +00:00
.gitignore gitignore: negate gitignore for static pkgconfig files 2013-03-18 14:02:02 +01:00
cairo-analysis-surface-private.h
cairo-analysis-surface.c snapshot: Perform the cow under a mutex 2012-04-27 14:10:50 +01:00
cairo-arc-private.h skia: Update to use cairo_backend_t interface 2011-08-13 09:58:02 +01:00
cairo-arc.c arc: Use user endpoint for final step 2012-05-14 16:09:29 +01:00
cairo-array-private.h Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-array.c Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-atomic-private.h Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-atomic.c
cairo-backend-private.h Fix make check 2012-09-24 09:42:43 +02:00
cairo-base64-stream.c
cairo-base85-stream.c
cairo-bentley-ottmann-rectangular.c bo-rectangular: Emit subsummed boxes for overlapping edges 2012-05-23 11:50:34 +01:00
cairo-bentley-ottmann-rectilinear.c Split cairo-combsort-privates into struct+inlines 2012-04-19 12:22:07 +01:00
cairo-bentley-ottmann.c bentley-ottmann: Cache the most recent edge colinearity check 2012-08-26 11:59:46 +01:00
cairo-beos-surface.cpp Split cairo-recording-surface-private into struct+inlines 2012-04-19 12:51:03 +01:00
cairo-beos.h
cairo-botor-scan-converter.c Remove some unused functions 2012-05-05 10:14:54 +02:00
cairo-box-inline.h Split cairo-box-privates into struct+inlines 2012-04-19 12:16:53 +01:00
cairo-boxes-intersect.c Split cairo-combsort-privates into struct+inlines 2012-04-19 12:22:07 +01:00
cairo-boxes-private.h boxes: Remove unused inline function 2012-04-19 12:14:26 +01:00
cairo-boxes.c Split cairo-box-privates into struct+inlines 2012-04-19 12:16:53 +01:00
cairo-cache-private.h
cairo-cache.c
cairo-cff-subset.c cff-subset: Fix allocation of width arrays 2013-03-15 14:01:53 +00:00
cairo-clip-boxes.c Split cairo-clip-privates into struct+inlines 2012-04-19 12:19:19 +01:00
cairo-clip-inline.h Split cairo-clip-privates into struct+inlines 2012-04-19 12:19:19 +01:00
cairo-clip-polygon.c Split cairo-clip-privates into struct+inlines 2012-04-19 12:19:19 +01:00
cairo-clip-private.h Split cairo-clip-privates into struct+inlines 2012-04-19 12:19:19 +01:00
cairo-clip-region.c Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-clip-surface.c clip: Apply clip boxes to the clip surface 2012-05-11 23:14:21 +01:00
cairo-clip-tor-scan-converter.c Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-clip.c clip: Transform clip path in _cairo_clip_intersect_clip_path_transformed() 2012-07-24 11:06:29 +02:00
cairo-cogl-context-private.h backends: Adds a new Cogl based backend 2011-10-11 09:05:45 +01:00
cairo-cogl-context.c doc: fix a few typos found by codespell 2012-03-10 10:20:28 +01:00
cairo-cogl-gradient-private.h doc: ensure "compatibility" spelling 2012-03-10 10:20:29 +01:00
cairo-cogl-gradient.c doc: ensure "compatibility" spelling 2012-03-10 10:20:29 +01:00
cairo-cogl-private.h backends: Adds a new Cogl based backend 2011-10-11 09:05:45 +01:00
cairo-cogl-surface.c stroke: Make the incremental trapezoid stroker optionally available again 2013-01-03 15:07:18 +00:00
cairo-cogl-utils-private.h backends: Adds a new Cogl based backend 2011-10-11 09:05:45 +01:00
cairo-cogl-utils.c backends: Adds a new Cogl based backend 2011-10-11 09:05:45 +01:00
cairo-cogl.h backends: Adds a new Cogl based backend 2011-10-11 09:05:45 +01:00
cairo-color.c color: Remove unused functions 2011-07-08 11:14:16 +02:00
cairo-combsort-inline.h Split cairo-combsort-privates into struct+inlines 2012-04-19 12:22:07 +01:00
cairo-compiler-private.h Avoid defining inline when compling C++ on MSVC. 2011-10-17 10:48:50 -04:00
cairo-composite-rectangles-private.h xcb: track fallback damage 2011-09-19 15:23:57 +01:00
cairo-composite-rectangles.c compositor: Reduce glyph "overlap" if the inked pixels are opaque 2012-10-11 16:56:14 +01:00
cairo-compositor-private.h xlib: Only fallback through the mask intermediate if we can composite the mask 2013-01-11 13:18:26 +00:00
cairo-compositor.c compositor: Skip invisible strokes 2012-08-26 11:07:57 +01:00
cairo-contour-inline.h Split cairo-contour-privates into struct+inlines 2012-04-19 12:25:42 +01:00
cairo-contour-private.h Split cairo-contour-privates into struct+inlines 2012-04-19 12:25:42 +01:00
cairo-contour.c Split cairo-contour-privates into struct+inlines 2012-04-19 12:25:42 +01:00
cairo-damage-private.h xlib/shm: Discard damage upon shm finish 2013-01-08 16:07:32 +00:00
cairo-damage.c xlib/shm: Discard damage upon shm finish 2013-01-08 16:07:32 +00:00
cairo-debug.c doc: Add "since" tag to documentation 2012-03-29 11:03:18 +02:00
cairo-default-context-private.h qt: Fix compilation, also minor fix for building against Qt5 2012-02-12 09:57:00 +00:00
cairo-default-context.c context: Use recording surfaces for unbounded groups 2012-12-17 18:37:09 +01:00
cairo-deflate-stream.c Remove if's from Makefile.sources 2011-06-14 15:25:08 +02:00
cairo-deprecated.h
cairo-device-private.h
cairo-device.c doc: Make documentation comments symmetric 2012-03-29 11:03:18 +02:00
cairo-directfb-surface.c xlib: Implement SHM fallbacks and fast upload paths 2012-08-17 13:58:09 +01:00
cairo-directfb.h
cairo-drm.h
cairo-egl-context.c gl: Fix typo s/bool/cairo_bool_t/ 2013-03-08 14:25:26 +00:00
cairo-error-inline.h Split cairo-error-private into struct+inlines 2012-04-19 13:17:29 +01:00
cairo-error-private.h Split cairo-error-private into struct+inlines 2012-04-19 13:17:29 +01:00
cairo-error.c clip: Rudimentary support for clip-polygon extraction 2011-07-19 21:14:34 +01:00
cairo-fallback-compositor.c surface: Use the internal map/unmap 2012-05-26 16:07:00 +02:00
cairo-features-uninstalled.pc.in
cairo-features.pc.in
cairo-fixed-private.h Fix "make check" standalone header check 2013-03-22 14:14:29 +01:00
cairo-fixed-type-private.h
cairo-fixed.c
cairo-font-face-twin-data.c
cairo-font-face-twin.c clip: Rudimentary support for clip-polygon extraction 2011-07-19 21:14:34 +01:00
cairo-font-face.c doc: Add "since" tag to documentation 2012-03-29 11:03:18 +02:00
cairo-font-options.c doc: Silence warnings about 'Since' field in private functions 2012-03-29 11:03:19 +02:00
cairo-fontconfig-private.h
cairo-freed-pool-private.h Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-freed-pool.c
cairo-freelist-private.h botor: Remove a couple of inlines to cleanup -Winline 2011-10-10 15:22:37 +01:00
cairo-freelist-type-private.h
cairo-freelist.c
cairo-ft-font.c [ft] I meant fabs(), not abs() 2013-03-21 16:49:02 -04:00
cairo-ft-private.h scaled-font: Make unscaled font utility functions static 2011-08-01 19:22:51 +02:00
cairo-ft.h doc: move value descriptions up 2012-03-10 10:20:29 +01:00
cairo-gl-composite.c gl: Setup operands when the vertex size changes 2013-03-08 16:00:34 -08:00
cairo-gl-device.c gl: disable GL_DITHER 2013-02-15 12:00:38 +00:00
cairo-gl-dispatch-private.h gl/msaa: Use GL_IMG_multisampled_render_to_texture when available 2012-12-05 16:17:10 -08:00
cairo-gl-dispatch.c gl/msaa: Use GL_IMG_multisampled_render_to_texture when available 2012-12-05 16:17:10 -08:00
cairo-gl-ext-def-private.h gl: Fix build issues for GLES2 2011-05-10 08:35:26 +01:00
cairo-gl-glyphs.c gl: do not force flush everytime uploading a glyph image to glyph cache 2013-02-04 10:49:37 +00:00
cairo-gl-gradient-private.h gl: Compile fix, missing include cairo-pattern-private.h 2011-07-18 10:31:25 +01:00
cairo-gl-gradient.c gl: Flush context upon evicting a gradient 2012-12-01 17:08:56 +00:00
cairo-gl-info.c gl: Store the GL flavor (Desktop or ES) in the device struct 2011-05-10 08:18:15 +01:00
cairo-gl-msaa-compositor.c gl/msaa: Properly fall back when using CLEAR operator 2013-02-06 12:53:14 -08:00
cairo-gl-operand.c gl: Replace manual vertex transformation with VS computation of texcoords 2013-02-04 09:57:53 +00:00
cairo-gl-private.h gl: Mark up _cairo_gl_composite_set_operator* as private 2013-02-07 21:40:30 +00:00
cairo-gl-shaders.c gl: Fix typo in gles2 shader cache lookup 2013-03-20 08:40:58 -07:00
cairo-gl-source.c gl: Replace manual vertex transformation with VS computation of texcoords 2013-02-04 09:57:53 +00:00
cairo-gl-spans-compositor.c gl/spans: Handle SOURCE operations with opaque sources. 2013-02-07 13:25:33 -08:00
cairo-gl-surface-legacy.c gl: do not force flush everytime uploading a glyph image to glyph cache 2013-02-04 10:49:37 +00:00
cairo-gl-surface.c gl: do not force flush everytime uploading a glyph image to glyph cache 2013-02-04 10:49:37 +00:00
cairo-gl-traps-compositor.c gl: do not force flush everytime uploading a glyph image to glyph cache 2013-02-04 10:49:37 +00:00
cairo-gl.h gl: Export query for EGLContext and EGLDisplay from device 2013-03-08 11:43:39 +00:00
cairo-glx-context.c gl: Don't query the display when checking if the context changed 2013-01-23 16:55:38 -08:00
cairo-gstate-private.h context: Add missing functions to transform between user and backend coordinates 2012-09-10 15:09:15 +01:00
cairo-gstate.c gstate: Use the polygon intermediate for geometry queries 2013-01-09 12:11:25 +00:00
cairo-hash-private.h
cairo-hash.c hash: Keep a simple lut in front of the main hash 2012-03-10 10:46:49 +00:00
cairo-hull.c
cairo-image-compositor.c image: Compare against the true size of the embedded buffer 2013-02-19 09:54:24 +00:00
cairo-image-info-private.h
cairo-image-info.c clip: Rudimentary support for clip-polygon extraction 2011-07-19 21:14:34 +01:00
cairo-image-mask-compositor.c Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-image-source.c snapshot: Perform the cow under a mutex 2012-04-27 14:10:50 +01:00
cairo-image-surface-inline.h image: Check for an error surface before dereferencing the backend 2012-09-08 15:12:58 +01:00
cairo-image-surface-private.h image: Add a convenience function for creating an image from another's data 2013-02-01 16:36:03 +00:00
cairo-image-surface.c image: Add a convenience function for creating an image from another's data 2013-02-01 16:36:03 +00:00
cairo-list-inline.h Split cairo-list into struct+inlines 2012-04-19 13:17:29 +01:00
cairo-list-private.h Split cairo-list into struct+inlines 2012-04-19 13:17:29 +01:00
cairo-lzw.c
cairo-malloc-private.h doc: Make documentation comments symmetric 2012-03-29 11:03:18 +02:00
cairo-mask-compositor.c compositor: Pass back the internal failure 2013-01-13 18:37:08 +00:00
cairo-matrix.c doc: Add "since" tag to documentation 2012-03-29 11:03:18 +02:00
cairo-mempool-private.h Fix make check 2012-09-24 09:42:43 +02:00
cairo-mempool.c mempool: Reduce an assert into an error return for get_buddy() 2013-03-15 09:11:28 +00:00
cairo-mesh-pattern-rasterizer.c doc: fix a few typos found by codespell 2012-03-10 10:20:28 +01:00
cairo-misc.c doc: Add "since" tag to documentation 2012-03-29 11:03:18 +02:00
cairo-mono-scan-converter.c mono-scan-converter: Use edge->is_vertical flag 2012-03-10 10:46:50 +00:00
cairo-mutex-impl-private.h
cairo-mutex-list-private.h Use the new pixman_glyph_cache_t API that will be in pixman 0.28.0 2012-06-09 15:52:59 -04:00
cairo-mutex-private.h
cairo-mutex-type-private.h
cairo-mutex.c
cairo-no-compositor.c Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-observer.c Split cairo-list into struct+inlines 2012-04-19 13:17:29 +01:00
cairo-os2-private.h
cairo-os2-surface.c surface: Make backend-specific map/unmap functions symmetric 2012-05-26 16:06:31 +02:00
cairo-os2.h
cairo-output-stream-private.h
cairo-output-stream.c Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-paginated-private.h image: extend support of direct replay for paginated surfaces 2011-07-29 18:39:27 +01:00
cairo-paginated-surface-private.h
cairo-paginated-surface.c Split cairo-surface-subsurface-private into struct+inlines 2012-04-19 13:17:29 +01:00
cairo-path-bounds.c Split cairo-box-privates into struct+inlines 2012-04-19 12:16:53 +01:00
cairo-path-fill.c fill: Fix unantialiased rectilinear-fill-to-boxes 2011-09-30 15:58:14 +01:00
cairo-path-fixed-private.h Mark _cairo_path_is_simple_quad as private 2013-01-27 16:29:41 +00:00
cairo-path-fixed.c path: Fix a bug in line intersection 2013-03-14 09:44:35 -07:00
cairo-path-in-fill.c stroke: Convert the outlines into contour and then into a polygon 2011-08-15 10:31:47 +01:00
cairo-path-private.h Implement cairo_backend_t 2011-07-15 11:05:19 +01:00
cairo-path-stroke-boxes.c stroker: Avoid emitting a miter join for across an elided degenerate segment 2012-08-20 14:21:23 +01:00
cairo-path-stroke-polygon.c stroke: Fix calling '_cairo_spline_intersect' for in-bounds checking of splines 2012-11-02 14:53:18 +00:00
cairo-path-stroke-traps.c stroke: Flip the dev slope as well for computing the cusp on a degeneracy 2013-01-09 12:31:10 +00:00
cairo-path-stroke-tristrip.c Split cairo-box-privates into struct+inlines 2012-04-19 12:16:53 +01:00
cairo-path-stroke.c stroke: Use round-joins near inflection points of splines 2013-03-14 10:32:43 -07:00
cairo-path.c path: Convert from backend coordinates back into user coordinates 2012-09-10 15:09:18 +01:00
cairo-pattern-inline.h Split cairo-list into struct+inlines 2012-04-19 13:17:29 +01:00
cairo-pattern-private.h Remove an unimplemented function declaration 2012-09-24 09:42:43 +02:00
cairo-pattern.c snapshot: Perform the cow under a mutex 2012-04-27 14:10:50 +01:00
cairo-pdf-operators-private.h check: make check-headers happy 2011-08-15 00:26:09 +01:00
cairo-pdf-operators.c Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-pdf-shading-private.h Update FSF address 2011-07-31 13:05:21 +02:00
cairo-pdf-shading.c Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-pdf-surface-private.h pdf: fix the offset of padded images 2012-06-02 19:01:18 +09:30
cairo-pdf-surface.c pdf: fix typo in bbox check 2013-03-27 08:08:32 +10:30
cairo-pdf.h Revert accidental push of ps debugging API. 2012-04-14 14:54:07 +01:00
cairo-pen.c pen: Tighten checking for bevel (start==stop) joins 2012-11-01 11:42:46 +00:00
cairo-png.c doc: Add "since" tag to documentation 2012-03-29 11:03:18 +02:00
cairo-polygon-intersect.c polygon-intersect: Exclude non-overlapping clip boxes from consideration 2012-09-27 11:13:23 +01:00
cairo-polygon-reduce.c polygon-reduce: Reduce broken stopped-edge continuation 2012-06-08 17:26:11 +01:00
cairo-polygon.c polygon: Avoid computing the unused intersection coordinates 2013-02-08 13:22:01 +00:00
cairo-private.h Implement cairo_backend_t 2011-07-15 11:05:19 +01:00
cairo-ps-surface-private.h ps: support RASTER_SOURCE patterns 2012-01-31 23:53:45 +10:30
cairo-ps-surface.c Erradicate internal use of cairo_surface_get_type() 2012-06-01 18:17:33 +01:00
cairo-ps.h Revert accidental push of ps debugging API. 2012-04-14 14:54:07 +01:00
cairo-qt-surface.cpp qt: Update for fallback compositor 2013-02-03 12:51:13 +00:00
cairo-qt.h
cairo-quartz-font.c doc: Add "since" tag to documentation 2012-03-29 11:03:18 +02:00
cairo-quartz-image-surface.c xlib: Implement SHM fallbacks and fast upload paths 2012-08-17 13:58:09 +01:00
cairo-quartz-image.h
cairo-quartz-private.h quartz: Do not export private functions 2012-01-15 16:23:14 +01:00
cairo-quartz-surface.c quartz: Don't release memory we don't own 2013-03-29 02:40:13 +01:00
cairo-quartz.h quartz: Fix the 32-bits build on MacOSX 10.7 2011-10-01 09:24:08 -07:00
cairo-raster-source-pattern.c cairo: Add some missing doc entries for cairo_raster_source_pattern_t 2012-03-23 18:09:19 +00:00
cairo-recording-surface-inline.h Split cairo-recording-surface-private into struct+inlines 2012-04-19 12:46:34 +01:00
cairo-recording-surface-private.h Split cairo-recording-surface-private into struct+inlines 2012-04-19 12:46:34 +01:00
cairo-recording-surface.c recording: Avoid indirection through indices array if not reduced 2013-02-12 10:24:08 +00:00
cairo-rectangle.c stroke: Make the incremental trapezoid stroker optionally available again 2013-01-03 15:07:18 +00:00
cairo-rectangular-scan-converter.c Split cairo-combsort-privates into struct+inlines 2012-04-19 12:22:07 +01:00
cairo-reference-count-private.h Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-region-private.h Add preliminary damage tracking 2012-02-15 14:21:00 +00:00
cairo-region.c doc: Add since documentation for enumeration values 2012-03-29 11:03:19 +02:00
cairo-rtree-private.h Split cairo-list into struct+inlines 2012-04-19 13:17:29 +01:00
cairo-rtree.c gl: Decouple the glyph upon eviction 2011-12-07 18:00:18 +00:00
cairo-scaled-font-private.h Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-scaled-font-subsets-private.h doc: Make the documentation name match the function name 2012-03-29 11:03:18 +02:00
cairo-scaled-font-subsets.c Remove some dead code 2012-05-05 10:14:54 +02:00
cairo-scaled-font.c scaled-font: Fix use after free when clearing the glyph cache 2013-01-09 00:36:13 +00:00
cairo-script-private.h Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-script-surface.c script: Thaw the scaled font cache on the error path 2013-01-08 15:01:38 +00:00
cairo-script.h doc: Add since documentation for enumeration values 2012-03-29 11:03:19 +02:00
cairo-shape-mask-compositor.c spans+image: Fix clipping with polygons and spans 2012-02-28 22:27:18 +00:00
cairo-skia-surface.cpp Split cairo-recording-surface-private into struct+inlines 2012-04-19 12:51:03 +01:00
cairo-skia.h skia: Update to use cairo_backend_t interface 2011-08-13 09:58:02 +01:00
cairo-slope-private.h
cairo-slope.c Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-spans-compositor-private.h image: Enable inplace compositing with opacities for general routines 2013-01-26 16:10:47 +00:00
cairo-spans-compositor.c spans: Mark the surface as cleared in preparing for recording surface playback 2013-02-12 10:11:12 +00:00
cairo-spans-private.h Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-spans.c Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-spline.c Split cairo-box-privates into struct+inlines 2012-04-19 12:16:53 +01:00
cairo-stroke-dash-private.h stroke: Rely on the tessellator to remove self-intersections 2011-08-13 16:41:28 +01:00
cairo-stroke-dash.c dash: Increment dash_remain by the next segment to reduce accumulation errors 2012-04-19 16:12:55 +01:00
cairo-stroke-style.c stroke: Make the incremental trapezoid stroker optionally available again 2013-01-03 15:07:18 +00:00
cairo-surface-backend-private.h xlib: Implement SHM fallbacks and fast upload paths 2012-08-17 13:58:09 +01:00
cairo-surface-clipper-private.h clip: Rudimentary support for clip-polygon extraction 2011-07-19 21:14:34 +01:00
cairo-surface-clipper.c Split cairo-clip-privates into struct+inlines 2012-04-19 12:19:19 +01:00
cairo-surface-fallback-private.h Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-surface-fallback.c Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-surface-inline.h xlib: Implement SHM fallbacks and fast upload paths 2012-08-17 13:58:09 +01:00
cairo-surface-observer-inline.h Split cairo-surface-observer-private into struct+inlines 2012-04-19 12:35:20 +01:00
cairo-surface-observer-private.h Split cairo-surface-observer-private into struct+inlines 2012-04-19 12:35:20 +01:00
cairo-surface-observer.c xlib: Implement SHM fallbacks and fast upload paths 2012-08-17 13:58:09 +01:00
cairo-surface-offset-private.h clip: Rudimentary support for clip-polygon extraction 2011-07-19 21:14:34 +01:00
cairo-surface-offset.c Split cairo-clip-privates into struct+inlines 2012-04-19 12:19:19 +01:00
cairo-surface-private.h xlib: Implement SHM fallbacks and fast upload paths 2012-08-17 13:58:09 +01:00
cairo-surface-snapshot-inline.h snapshot: Avoid triggering assertion for grabbing the target during destroy 2012-05-01 16:55:22 +01:00
cairo-surface-snapshot-private.h snapshot: Perform the cow under a mutex 2012-04-27 14:10:50 +01:00
cairo-surface-snapshot.c xlib: Implement SHM fallbacks and fast upload paths 2012-08-17 13:58:09 +01:00
cairo-surface-subsurface-inline.h Split cairo-surface-subsurface-private into struct+inlines 2012-04-19 13:17:29 +01:00
cairo-surface-subsurface-private.h Split cairo-surface-subsurface-private into struct+inlines 2012-04-19 13:17:29 +01:00
cairo-surface-subsurface.c xlib: Implement SHM fallbacks and fast upload paths 2012-08-17 13:58:09 +01:00
cairo-surface-wrapper-private.h Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-surface-wrapper.c Split cairo-clip-privates into struct+inlines 2012-04-19 12:19:19 +01:00
cairo-surface.c surface: Prevent reads from the user-data arrays during teardown 2013-02-02 09:00:45 +00:00
cairo-svg-surface-private.h
cairo-svg-surface.c Erradicate internal use of cairo_surface_get_content() 2012-06-01 17:46:25 +01:00
cairo-svg.h doc: Add since documentation for enumeration values 2012-03-29 11:03:19 +02:00
cairo-tee-surface-private.h
cairo-tee-surface.c Split cairo-recording-surface-private into struct+inlines 2012-04-19 12:51:03 +01:00
cairo-tee.h clip: Rudimentary support for clip-polygon extraction 2011-07-19 21:14:34 +01:00
cairo-time-private.h Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-time.c win32: Fix return value for cairo_time_get 2012-05-20 10:55:25 +01:00
cairo-tor-scan-converter.c tor: Fudge the edge if it is projected into a point 2012-09-27 15:29:36 +01:00
cairo-tor22-scan-converter.c tor: Fudge the edge if it is projected into a point 2012-09-27 15:29:36 +01:00
cairo-toy-font-face.c font-face: Cleanup backend-specific destruction code 2011-07-31 16:46:36 +02:00
cairo-traps-compositor.c stroke: Make the incremental trapezoid stroker optionally available again 2013-01-03 15:07:18 +00:00
cairo-traps-private.h stroke: Make the incremental trapezoid stroker optionally available again 2013-01-03 15:07:18 +00:00
cairo-traps.c stroke: Make the incremental trapezoid stroker optionally available again 2013-01-03 15:07:18 +00:00
cairo-tristrip-private.h Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-tristrip.c Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-truetype-subset-private.h win32: add synthetic font subsetting support 2010-11-23 00:13:56 +10:30
cairo-truetype-subset.c truetype-subset: remove unused variable 2011-12-06 20:44:22 +10:30
cairo-type1-fallback.c Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-type1-glyph-names.c Type 1 glyph names: Do not use an array of pointers for winansi glyph names 2010-11-06 22:45:11 +10:30
cairo-type1-private.h
cairo-type1-subset.c type1-subset: in latin subsets replace glyph names with standard names 2013-02-05 21:57:52 +10:30
cairo-type3-glyph-surface-private.h
cairo-type3-glyph-surface.c Replace the ad-hoc surface unwrappers with a function pointer 2012-02-09 13:01:17 +00:00
cairo-types-private.h doc: Make documentation comments symmetric 2012-03-29 11:03:18 +02:00
cairo-unicode.c
cairo-uninstalled.pc.in
cairo-user-font-private.h
cairo-user-font.c doc: Do not use the '@' prefix on some tags 2012-03-29 11:03:18 +02:00
cairo-version.c doc: Add "since" tag to documentation 2012-03-29 11:03:18 +02:00
cairo-version.h
cairo-vg-surface.c Split cairo-recording-surface-private into struct+inlines 2012-04-19 12:46:34 +01:00
cairo-vg.h
cairo-wgl-context.c gl: Check against user-provided invalid sizes 2011-12-05 17:17:26 +00:00
cairo-wideint-private.h wideint: Fix compilation failure for bare use of uint64_t for !HAVE_UINT64_T 2012-05-20 10:55:26 +01:00
cairo-wideint-type-private.h Add UINT32_MAX define. 2011-03-03 16:31:03 -05:00
cairo-wideint.c doc: Manually fix remaining warnings about symmetry 2012-03-29 11:03:18 +02:00
cairo-win32.h
cairo-xcb-connection-core.c xcb: Fix xcb-huge-subimage 2012-12-17 18:37:10 +01:00
cairo-xcb-connection-render.c xcb: Verify extension support before sending 2012-09-25 11:27:59 +02:00
cairo-xcb-connection-shm.c xcb: Verify extension support before sending 2012-09-25 11:27:59 +02:00
cairo-xcb-connection.c Split cairo-list into struct+inlines 2012-04-19 13:17:29 +01:00
cairo-xcb-private.h xcb: Switch to compositor architecture 2012-09-24 09:44:10 +02:00
cairo-xcb-screen.c Split cairo-list into struct+inlines 2012-04-19 13:17:29 +01:00
cairo-xcb-shm.c mempool: Reduce the assertion into an alignment adjustment for the base 2012-12-01 09:23:37 +00:00
cairo-xcb-surface-core.c Convert cairo_mime_surface_t to cairo_raster_source_pattern_t 2011-11-25 10:35:42 +00:00
cairo-xcb-surface-render.c xcb: Clear temporary replay image in recording playback 2013-03-22 18:19:00 +01:00
cairo-xcb-surface.c xcb: Clear the result of create_similar_image 2012-10-06 15:00:51 +02:00
cairo-xcb.h Add cairo_xcb_surface_set_drawable 2011-12-02 15:31:51 +00:00
cairo-xlib-core-compositor.c xlib: Handle lack of XRenderFillRectangles 2013-01-13 18:37:08 +00:00
cairo-xlib-display.c xlib: Fix invocation of XRenderFindFormat() 2013-02-24 17:07:54 +00:00
cairo-xlib-fallback-compositor.c xlib/shm: Limit use of the impromptu fallback pixmap for uploads 2012-08-17 23:20:01 +01:00
cairo-xlib-private.h xlib: Handle lack of XRenderFillRectangles 2013-01-13 18:37:08 +00:00
cairo-xlib-render-compositor.c xlib: Only apply the dst offset to the glyph strings once 2013-02-08 15:20:41 +00:00
cairo-xlib-screen.c Split cairo-list into struct+inlines 2012-04-19 13:17:29 +01:00
cairo-xlib-source.c xlib/shm: Clarify testing of seqno 2013-01-29 22:26:00 +00:00
cairo-xlib-surface-private.h Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-xlib-surface-shm.c xlib/shm: More clarification of seqno required 2013-01-29 23:51:44 +00:00
cairo-xlib-surface.c xlib/shm: Always request a CompletionEvent from ShmPutImage 2013-01-29 03:00:46 +00:00
cairo-xlib-visual.c xlib: Fix build of xlib-xcb 2011-06-16 15:11:24 +02:00
cairo-xlib-xcb-surface.c xlib: Implement SHM fallbacks and fast upload paths 2012-08-17 13:58:09 +01:00
cairo-xlib-xrender-private.h xlib: Fix compilation when gradient functions are not available 2011-02-14 11:07:02 +01:00
cairo-xlib-xrender.h
cairo-xlib.h xlib: Replace obsolete disable-xrender with shiny new device debug interface 2012-02-22 10:41:37 +00:00
cairo-xml-surface.c Split cairo-recording-surface-private into struct+inlines 2012-04-19 12:46:34 +01:00
cairo-xml.h
cairo.c Satisfy check-doc-syntax.awk for unimplemented functions 2012-04-29 12:22:20 +01:00
cairo.h doc: Add since documentation for enumeration values 2012-03-29 11:03:19 +02:00
cairo.pc.in
cairoint.h Add missing local slim proto for cairo_recording_surface_create 2013-01-03 15:07:18 +00:00
check-def.sh check: Fix for link-time-optimisation 2010-09-06 13:11:21 +01:00
check-doc-syntax.awk check-doc-syntax: Find duplicate "Since:" tags 2012-05-09 16:59:58 +02:00
check-doc-syntax.sh check-doc-syntax: Make this work again 2012-05-09 16:59:58 +02:00
check-has-hidden-symbols.c
check-headers.sh
check-link.c
check-plt.sh
check-preprocessor-syntax.sh
Makefile.am doc: Add script to enforce stricter validation of documentation comments 2012-03-29 11:03:18 +02:00
Makefile.am.analysis Improve headers-standalone target 2011-03-21 09:51:00 +01:00
Makefile.sources stroke: Make the incremental trapezoid stroker optionally available again 2013-01-03 15:07:18 +00:00
Makefile.win32 build: Clean up environment variables and flags for the win32 build 2011-06-20 10:24:21 +02:00
Makefile.win32.features backends: Adds a new Cogl based backend 2011-10-11 09:05:45 +01:00
README
test-base-compositor-surface.c stroke: Make the incremental trapezoid stroker optionally available again 2013-01-03 15:07:18 +00:00
test-compositor-surface-private.h check: Make the newly added privates pass make check 2011-09-15 15:55:52 +01:00
test-compositor-surface.c Replace the ad-hoc surface unwrappers with a function pointer 2012-02-09 13:01:17 +00:00
test-compositor-surface.h Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
test-null-compositor-surface.c spans: Pass antialiasing hint down to the backends 2012-03-04 15:38:56 +00:00
test-null-compositor-surface.h Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
test-paginated-surface.c Replace the ad-hoc surface unwrappers with a function pointer 2012-02-09 13:01:17 +00:00
test-paginated-surface.h

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.