cairo/src
Uli Schlachter 508990af8d xcb: Don't use xcb surfaces as snapshots
Eventually someone might try to paint to the xcb surface again. However,
_cairo_surface_begin_modification doesn't like that:

cairo-surface.c:385: _cairo_surface_begin_modification: Assertion
`surface->snapshot_of == ((void *)0)' failed.

There was only a single place in the xcb backend where a cairo_xcb_surface_t
could be used as a snapshot, so the _cairo_surface_has_snapshot that checked for
such a surface can be removed, too.

This does *not* remove all snapshots from the xcb backend, but all the remaining
snapshots are instances of cairo_xcb_picture_t. These surfaces are only ever
created internally and thus can't be modified by users directly.

Fixes: xcb-snapshot-assert

Signed-off-by: Uli Schlachter <psychon@znc.in>
2011-07-09 09:42:22 +02:00
..
drm color: Remove unused functions 2011-07-08 11:14:16 +02: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 Do not warn when ignoring the return value of _cairo_rectangle_intersect() 2011-03-19 12:24:14 +01:00
cairo-arc-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-arc.c arc: Clamp to 65536 full circles 2010-12-09 17:33:12 +01:00
cairo-array.c array: Fix comment 2010-11-28 09:33:14 +01:00
cairo-atomic-private.h Declare variables first so gcc shuts up 2011-02-19 10:22:45 +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 tessellator: Fixed to produce an output box with x1 <= x2 for single box input 2011-06-15 16:13:15 +01:00
cairo-bentley-ottmann-rectilinear.c Update FSF address 2010-04-27 11:13:38 +02:00
cairo-bentley-ottmann.c polygon: Merge _cairo_polygon_init and _cairo_polygon_limit 2010-12-10 11:04:48 +01:00
cairo-beos-surface.cpp doc: Move tmpl/ docs to inline docs 2010-07-08 14:27:16 +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-box-private.h box: Add box header 2010-10-29 17:31:22 +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: Fix heap corruption 2011-03-13 21:16:14 +10:30
cairo-clip-private.h Improve cairo_rectangle_list_t error handling 2011-03-18 17:54:54 +01:00
cairo-clip.c Remove conditional compilation of freed-pools 2011-07-05 10:00:13 +02:00
cairo-color.c color: Remove unused functions 2011-07-08 11:14:16 +02:00
cairo-combsort-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-compiler-private.h Do not open-code freed-pool 2011-06-25 15:35:48 +02: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 Expose 30bpp/10bpc support: CAIRO_FORMAT_RGB30 2011-05-01 09:00:14 +01:00
cairo-deflate-stream.c Remove if's from Makefile.sources 2011-06-14 15:25:08 +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: Define the CAIRO_DEVICE_TYPE_INVALID device type 2011-07-08 11:26:45 +02:00
cairo-directfb-surface.c surface: remove content argument from is_similar 2010-06-10 16:07:41 +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 egl: Ensure that the dummy pbuffer surface is compatible with the supplied context 2011-02-18 09:45:00 -05:00
cairo-error-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-error.c error: Do not define _cairo_error twice 2011-06-24 11:57:22 +02:00
cairo-features-uninstalled.pc.in build: Fudge the build system some more so it handles extra libs 2010-08-10 01:24:30 +02:00
cairo-features.pc.in build: Fudge the build system some more so it handles extra libs 2010-08-10 01:24:30 +02:00
cairo-fixed-private.h fixed: Refactor code to use more inlines and less duplication of logic. 2010-06-17 08:55:19 +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 doc: Fix some broken references and gtk-doc warnings 2011-01-16 18:40:49 +01:00
cairo-font-options.c doc: Fix some broken references and gtk-doc warnings 2011-01-16 18:40:49 +01:00
cairo-fontconfig-private.h Make distcheck happy. 2010-07-12 11:05:57 +01:00
cairo-freed-pool-private.h Remove conditional compilation of freed-pools 2011-07-05 10:00:13 +02: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 freelist: Separate freelist inlines from the datatype in headers. 2010-09-02 14:51:30 +01:00
cairo-freelist-type-private.h freelist: Separate freelist inlines from the datatype in headers. 2010-09-02 14:51:30 +01:00
cairo-freelist.c drm: code dump, sorry. 2010-05-12 20:54:49 +01:00
cairo-ft-font.c Document load_truetype_table function and ensure ft-font and Win32-font are compliant 2010-11-23 21:44:31 +10:30
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: Mark the use-once vertex buffers as DYNAMIC 2011-06-02 08:57:19 +01:00
cairo-gl-device.c gl: Add fallback path for GLES2 implementations not supporting GL_OES_mapbuffer 2011-05-10 08:37:51 +01:00
cairo-gl-dispatch-private.h gl: Add GLES2 support to dispatch table initialization 2011-05-10 08:18:52 +01:00
cairo-gl-dispatch.c gl: Add fallback path for GLES2 implementations not supporting GL_OES_mapbuffer 2011-05-10 08:37:51 +01: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 Silence the compiler for another couple of RGB30 switches 2011-05-04 08:04:43 +01:00
cairo-gl-gradient-private.h gl: Fix build issues for GLES2 2011-05-10 08:35:26 +01:00
cairo-gl-gradient.c gl: Use conventional texture upload for GLES2 2011-05-10 08:30:29 +01: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-private.h gl: Add fallback path for GLES2 implementations not supporting GL_OES_mapbuffer 2011-05-10 08:37:51 +01:00
cairo-gl-shaders.c gl: Define the float precision in the fragment shader for GLES2 2011-05-10 08:35:53 +01:00
cairo-gl-surface.c gl: Add GLES2 support for drawing image surfaces on gl surfaces 2011-05-10 08:33:40 +01:00
cairo-gl.h gl: Fix build issues for GLES2 2011-05-10 08:35:26 +01:00
cairo-glx-context.c gl: Take advantage of GLX_MESA_multithread_makecurrent to avoid unbinding. 2011-02-26 14:09:33 -08:00
cairo-gstate-private.h Remove unused function declarations 2011-03-19 15:27:29 +01:00
cairo-gstate.c gstate: Remove useless code 2011-07-08 11:26: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 Convert mime data length to use unsigned long 2010-07-10 11:16:19 +01:00
cairo-image-info.c Convert mime data length to use unsigned long 2010-07-10 11:16:19 +01:00
cairo-image-surface.c image: Don't crash on weird pixman formats 2011-06-08 16:01:03 +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 Do not use fmax() 2011-03-19 15:29:03 +01:00
cairo-mesh-pattern-rasterizer.c mesh: Do not declare min and max functions 2011-01-17 23:15:00 +01:00
cairo-misc.c mesh: Add mesh pattern type and enum values 2011-01-01 13:05:12 +01:00
cairo-mutex-impl-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-mutex-list-private.h Make error contexts static 2011-07-05 10:00:14 +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-observer.c gstate: Update cached matrix state after device transform changes on the target 2010-06-11 16:08:17 +01:00
cairo-os2-private.h os2: Fix blitting 24 bpp pixel data. 2010-08-08 22:29:39 +03:00
cairo-os2-surface.c os2: Restore surface type checking in the get_extents method. 2010-08-08 22:33:43 +03:00
cairo-os2.h os2: New API to create surfaces without a persistent HPS. 2010-08-08 22:29:39 +03:00
cairo-output-stream-private.h Convert mime data length to use unsigned long 2010-07-10 11:16:19 +01:00
cairo-output-stream.c Convert mime data length to use unsigned long 2010-07-10 11:16:19 +01: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 PS/PDF: Fix regression when changing page size to a larger size 2010-11-21 20:34:18 +10:30
cairo-path-bounds.c path-bounder: Update current point after curve_to op 2010-12-14 21:03:31 +01:00
cairo-path-fill.c polygon: Merge _cairo_polygon_init and _cairo_polygon_limit 2010-12-10 11:04:48 +01:00
cairo-path-fixed-private.h path: Always interpret in forward direction 2010-12-10 10:58:51 +01:00
cairo-path-fixed.c path: Fix _cairo_path_fixed_is_rectangle() 2011-03-18 10:30:25 +01:00
cairo-path-in-fill.c path: Always interpret in forward direction 2010-12-10 10:58:51 +01:00
cairo-path-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-path-stroke.c path-stroke: Avoid mixing cap and join values 2011-06-16 09:48:30 +02:00
cairo-path.c Fix errors from src/check-plt.sh 2011-02-12 21:12:46 +01:00
cairo-pattern.c pattern: Implement _rgb functions as wrappers over _rgba functions 2011-07-08 11:14:16 +02:00
cairo-pdf-operators-private.h pdf-operators: fix bug that was causing unnecessary repositioning of text 2010-10-01 20:55:28 +09:30
cairo-pdf-operators.c path: Always interpret in forward direction 2010-12-10 10:58:51 +01:00
cairo-pdf-shading-private.h pdf,ps: Add native mesh pattern support 2011-01-01 13:05:13 +01:00
cairo-pdf-shading.c pdf,ps: Add native mesh pattern support 2011-01-01 13:05:13 +01:00
cairo-pdf-surface-private.h PDF: Output a stencil mask for cairo_mask() with solid source and A1 mask 2010-12-05 00:29:52 +10:30
cairo-pdf-surface.c Do not warn when ignoring the return value of _cairo_rectangle_intersect() 2011-03-19 12:24:14 +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 Expose 30bpp/10bpc support: CAIRO_FORMAT_RGB30 2011-05-01 09:00:14 +01:00
cairo-polygon.c polygon: Merge _cairo_polygon_init and _cairo_polygon_limit 2010-12-10 11:04:48 +01: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: Use tight bounding box 2011-05-22 20:41:18 +09:30
cairo-ps.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-qt-surface.cpp pattern: Use double precision for gradient extreme objects 2011-01-02 18:33:14 +01:00
cairo-qt.h qt: Define cairo-qt's API as C symbols 2010-07-11 18:53:42 +02:00
cairo-quartz-font.c quartz-font: Remove unused variables 2011-03-18 11:46:15 +01:00
cairo-quartz-image-surface.c Remove quartz-image extents. 2011-04-21 15:23:14 -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 Remove quartz-image extents. 2011-04-21 15:23:14 -04:00
cairo-quartz-surface.c quartz: Fix y glyph advance 2011-03-18 09:41:55 +01: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 Remove unused function declarations 2011-03-19 15:27:29 +01:00
cairo-recording-surface.c doc: Fix some broken references and gtk-doc warnings 2011-01-16 18:40:49 +01:00
cairo-rectangle.c box: Add _cairo_box_add_curve_to 2010-10-29 17:31:22 +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: Don't be nice to people setting internal error code 2011-02-18 18:30:17 +01: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 Remove unused function declarations 2011-03-19 15:27:29 +01:00
cairo-scaled-font-subsets.c PDF: Fix toUnicode for CID fonts 2010-11-07 21:50:56 +10:30
cairo-scaled-font.c Avoid implicit conversion to double when rounding 2011-05-19 14:43:34 -04:00
cairo-script-surface.c script: Return status when flushing device 2011-06-20 09:44:49 +02:00
cairo-script.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-skia-surface.cpp pattern: Use double precision for gradient extreme objects 2011-01-02 18:33:14 +01:00
cairo-skia.h Make distcheck happy. 2010-07-12 11:05:57 +01: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 Remove _cairo_surface_composite_trapezoids_as_polygon() 2010-06-07 13:37:49 +02:00
cairo-spans.c mesh: Add mesh pattern type and enum values 2011-01-01 13:05:12 +01: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 polygon: Merge _cairo_polygon_init and _cairo_polygon_limit 2010-12-10 11:04:48 +01:00
cairo-surface-offset-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-surface-offset.c surface-offset: Use right variable in mask 2010-08-28 17:13:46 +02:00
cairo-surface-private.h gstate: Update cached matrix state after device transform changes on the target 2010-06-11 16:08:17 +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 subsurface: Don't assume we ever own the target. 2010-07-10 11:16:19 +01:00
cairo-surface-subsurface.c subsurface: Fix acquire_source_surface for out-of-bounds surfaces 2010-09-01 03:17:12 +02: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 Fix regression in fallback-resolution test 2010-11-21 20:09:13 +10:30
cairo-surface.c xcb,xlib,surface: Check for too small sizes 2011-06-24 15:24:09 +02:00
cairo-svg-surface-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-svg-surface.c pattern: Use double precision for gradient extreme objects 2011-01-02 18:33:14 +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 tee: Do not apply two times the master device transform 2011-01-18 13:55:02 +01:00
cairo-tee.h tee: Move definitions into separate header 2010-07-30 22:27:08 +02:00
cairo-tor-scan-converter.c Replace insertion sort with mergesort in the scan converter 2010-08-10 14:39:54 +02:00
cairo-toy-font-face.c toy-font: Do not open-code cairo_font_face_reference () 2011-06-20 10:24:20 +02:00
cairo-traps.c Update FSF address 2010-04-27 11:13:38 +02: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: add missing unicode ranges to cmap 2010-11-26 21:54:39 +10:30
cairo-type1-fallback.c path: Always interpret in forward direction 2010-12-10 10:58:51 +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 Update FSF address 2010-04-27 11:13:38 +02:00
cairo-type1-subset.c Type1-subset: Fallback if font contains more than one /Encoding 2011-02-08 21:40:08 +10: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 pattern: Use double precision for gradient extreme objects 2011-01-02 18:33:14 +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 doc: Move tmpl/ docs to inline docs 2010-07-08 14:27:16 +02:00
cairo-version.c doc: Move tmpl/ docs to inline docs 2010-07-08 14:27:16 +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 pattern: Use double precision for gradient extreme objects 2011-01-02 18:33:14 +01:00
cairo-vg.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-wgl-context.c gl: Embed the GL dispatch table in the cairo-gl context and initialize it. 2010-12-15 15:32:20 +00:00
cairo-wideint-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-wideint-type-private.h Add UINT32_MAX define. 2011-03-03 16:31:03 -05:00
cairo-wideint.c Remove excessive semicolons 2010-04-29 20:45:23 +02:00
cairo-win32-font.c win32-font: Improve static data reset function 2011-06-20 10:24:21 +02:00
cairo-win32-printing-surface.c doc: Fix some broken references and gtk-doc warnings 2011-01-16 18:40:49 +01:00
cairo-win32-private.h win32: Explain the purpose of the surface extents 2011-04-21 17:53:21 -04:00
cairo-win32-surface.c win32: Fallback upon PDF blend operators 2011-06-25 10:19:36 +02:00
cairo-win32.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-xcb-connection-core.c XCB: Stop taking the xcb socket 2010-12-25 09:50:34 +00:00
cairo-xcb-connection-render.c xcb: Remove CAIRO_XCB_RENDER_HAS_COMPOSITE_SPANS 2011-02-28 15:54:02 +01:00
cairo-xcb-connection-shm.c Remove if's from Makefile.sources 2011-06-14 15:25:08 +02:00
cairo-xcb-connection.c xlib-xcb: Use slim_hidden_proto correctly 2011-07-01 10:15:46 +02:00
cairo-xcb-private.h xcb: Track cairo_xcb_picture_t surfaces 2011-07-09 09:42:22 +02:00
cairo-xcb-screen.c xcb: Track cairo_xcb_picture_t surfaces 2011-07-09 09:42:22 +02:00
cairo-xcb-shm.c Remove if's from Makefile.sources 2011-06-14 15:25:08 +02:00
cairo-xcb-surface-cairo.c Update FSF address 2010-04-27 11:13:38 +02:00
cairo-xcb-surface-core.c xcb: Move the allocation of a shm surface into its own function 2011-01-31 18:20:23 +01:00
cairo-xcb-surface-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-xcb-surface-render.c xcb: Don't use xcb surfaces as snapshots 2011-07-09 09:42:22 +02:00
cairo-xcb-surface.c xcb: Use defines instead of magic numbers 2011-06-24 15:59:08 +02:00
cairo-xcb.h perf 2011-06-02 08:57:13 +01:00
cairo-xlib-display.c xlib: Create an exact match for the image surface if possible using Xrender 2011-06-25 20:15:18 +01:00
cairo-xlib-private.h Include pixman.h in cairo-xlib-private.h 2011-06-27 23:12:51 -04:00
cairo-xlib-screen.c xlib: Fix build of xlib-xcb 2011-06-16 15:11:24 +02:00
cairo-xlib-surface-private.h xlib: Adjust trapezoid precision based on antialias. 2010-06-11 11:16:42 +01:00
cairo-xlib-surface.c xlib: Create an exact match for the image surface if possible using Xrender 2011-06-25 20:15:18 +01: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-xcb: Register a XCloseDisplay hook 2011-07-09 09:42:22 +02: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 Update FSF address 2010-04-27 11:13:38 +02:00
cairo-xlib.h xlib,xcb: Force strict adherence to the Render specification when testing 2011-06-01 16:50:25 +01:00
cairo-xml-surface.c pattern: Use double precision for gradient extreme objects 2011-01-02 18:33:14 +01:00
cairo-xml.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo.c device: Add CAIRO_STATUS_DEVICE_FINISHED 2011-07-08 11:26:45 +02:00
cairo.h device: Fix documentation of device types 2011-07-08 11:26:45 +02:00
cairo.pc.in Improve backend .pc files generation: 2006-07-12 04:27:55 -04:00
cairoint.h color: Remove unused functions 2011-07-08 11:14:16 +02:00
check-def.sh check: Fix for link-time-optimisation 2010-09-06 13:11:21 +01:00
check-doc-syntax.sh check: Allow unprefix type names in the title 2010-07-11 23:32:12 +02: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 Use detected EGREP instead of generic grep 2011-06-08 16:01:03 +02:00
Makefile.am.analysis Improve headers-standalone target 2011-03-21 09:51:00 +01:00
Makefile.sources error: Do not define _cairo_error twice 2011-06-24 11:57:22 +02: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 gl: Add GLESv2 backend to build system 2011-05-10 08:34:17 +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.