cairo/src
Adrian Johnson fea2463107 Support color fonts that use the foreground color
COLR fonts can have a layer with the same color as the current text
color. This change passes the current color (if solid) through to
the font backend where it can be used to render color fonts.

scaled_glyph_lookup checks if the foreground color has changed (for
glyph that require it) and requests a new color surface if required.

This also fixes a bug where scaled_glyph_lookup would always request a
color surface for glyphs for glyphs in color fonts that do not have
color.
2021-08-28 18:07:01 +09:30
..
drm Support color fonts that use the foreground color 2021-08-28 18:07:01 +09:30
win32 Support color fonts that use the foreground color 2021-08-28 18:07:01 +09:30
.gitignore gitignore: Ignore .trs (test results) 2015-07-31 17:56:54 -07:00
cairo-analysis-surface-private.h
cairo-analysis-surface.c Remove all gstate from _cairo_surface_tag 2021-07-18 18:13:10 +09:30
cairo-arc-private.h skia: Update to use cairo_backend_t interface 2011-08-13 09:58:02 +01:00
cairo-arc.c _arc_max_angle_for_tolerance_normalized: fix infinite loop 2021-08-01 11:16:03 +00:00
cairo-array-private.h pdf: add support for object streams for PDF >= 1.5 2021-07-26 18:31:47 +09:30
cairo-array.c pdf: add support for object streams for PDF >= 1.5 2021-07-26 18:31:47 +09:30
cairo-atomic-private.h Drop the conditional inclusion of config.h 2021-05-01 17:05:29 +01:00
cairo-atomic.c Fix data race in freed_pool 2016-03-05 14:35:17 +01:00
cairo-backend-private.h Added hairline support to cairo 2021-08-15 06:58:54 +00:00
cairo-base64-stream.c build: Fix various compiler warnings 2020-11-07 06:45:01 -07:00
cairo-base85-stream.c Fix undefined left-shifts 2021-03-31 12:20:34 +02:00
cairo-bentley-ottmann-rectangular.c fix warning: variable X might be clobbered by 'longjmp' 2018-01-13 11:30:50 +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 Rename cairo_lines_compare_at_y into _cairo_lines_compare_at_y and fix syntax 2021-04-02 14:35:46 +02:00
cairo-beos-surface.cpp Fix undefined left-shifts 2021-03-31 12:20:34 +02:00
cairo-beos.h
cairo-botor-scan-converter.c fix unused function warnings 2017-10-16 20:18:49 +10:30
cairo-box-inline.h Minor corrections 2021-04-11 02:07:10 +02:00
cairo-boxes-intersect.c Split cairo-combsort-privates into struct+inlines 2012-04-19 12:22:07 +01:00
cairo-boxes-private.h core: dropped actually unused parameter of _cairo_boxes_to_array() 2016-07-02 13:35:38 +02:00
cairo-boxes.c Fix various doxygen warnings found by check-doc-syntax.sh 2017-12-07 14:13:32 -08:00
cairo-cache-private.h Use uintptr_t for all casts between pointer and integer 2021-07-25 11:01:20 +09:30
cairo-cache.c Use uintptr_t for all casts between pointer and integer 2021-07-25 11:01:20 +09:30
cairo-cff-subset.c Fix some warnings 2021-08-22 12:07:36 +09:30
cairo-clip-boxes.c Revert "clip-boxes: Drop too-early return" 2019-03-03 00:01:34 -08:00
cairo-clip-inline.h steal boxes: Fix an invalif free() exposed by cb871c6c 2019-02-12 17:46:12 +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 surface: Merge scratch construction into _cairo_surface_create_scratch 2013-09-05 16:11:09 +01:00
cairo-clip-tor-scan-converter.c Use HTTPS URLs for freedesktop.org domains 2018-10-16 10:03:07 -07:00
cairo-clip.c Use _cairo_malloc instead of malloc 2018-05-07 16:35:51 -07:00
cairo-cogl-gradient-private.h cogl: Support mirroring of gradients if no hardware support exists 2020-08-25 02:30:58 -06:00
cairo-cogl-gradient.c Use uintptr_t for all casts between pointer and integer 2021-07-25 11:01:20 +09:30
cairo-cogl-private.h cogl: Add new path cache 2020-08-25 02:30:58 -06:00
cairo-cogl-surface.c Use uintptr_t for all casts between pointer and integer 2021-07-25 11:01:20 +09:30
cairo-cogl.h cogl: Support source surfaces without an alpha component 2020-08-25 02:30:58 -06:00
cairo-color.c _cairo_color_double_to_short(): Use standard rounding algorithm 2013-10-22 14:27:43 -04:00
cairo-combsort-inline.h Split cairo-combsort-privates into struct+inlines 2012-04-19 12:22:07 +01:00
cairo-compiler-private.h Fix malloc overflow check warning 2021-08-24 07:26:35 +09:30
cairo-composite-rectangles-private.h xcb: track fallback damage 2011-09-19 15:23:57 +01:00
cairo-composite-rectangles.c Fix clip leak 2021-08-01 11:10:40 +00: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 Added hairline support to cairo 2021-08-15 06:58:54 +00: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 Remove some useless declarations found by scan-build, the LLVM/clang static analyzer 2014-05-06 10:14:53 -07:00
cairo-damage-private.h xlib/shm: Discard damage upon shm finish 2013-01-08 16:07:32 +00:00
cairo-damage.c Use _cairo_malloc instead of malloc 2018-05-07 16:35:51 -07:00
cairo-debug.c cogl: Add new path cache 2020-08-25 02:30:58 -06: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 Added hairline support to cairo 2021-08-15 06:58:54 +00:00
cairo-deflate-stream.c Use _cairo_malloc instead of malloc 2018-05-07 16:35:51 -07:00
cairo-deprecated.h
cairo-device-private.h
cairo-device.c Fix grammar in cairo_*_reference() function documentation. 2016-10-10 14:39:19 -07:00
cairo-directfb-surface.c Fix some surfaces missed in b1192bea 2015-10-17 22:02:11 +10:30
cairo-directfb.h
cairo-drm.h
cairo-egl-context.c gl: Increase default VBO size on GL to 1M 2014-09-19 17:23:50 -07:00
cairo-error-inline.h Split cairo-error-private into struct+inlines 2012-04-19 13:17:29 +01:00
cairo-error-private.h Add missing parentheses to _cairo_status_is_error and _cairo_int_status_is_error 2021-04-24 14:50:30 +02:00
cairo-error.c
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 undefined-behavior with integer math 2017-09-11 22:00:00 -07:00
cairo-fixed-type-private.h Correct spelling of "tessellator" throughout code 2014-02-26 18:55:25 -08:00
cairo-fixed.c
cairo-font-face-twin-data.c
cairo-font-face-twin.c Use _cairo_malloc instead of malloc 2018-05-07 16:35:51 -07:00
cairo-font-face.c Fix grammar in cairo_*_reference() function documentation. 2016-10-10 14:39:19 -07:00
cairo-font-options.c Use _cairo_malloc instead of malloc 2018-05-07 16:35:51 -07:00
cairo-fontconfig-private.h
cairo-freed-pool-private.h Fix data race in freed_pool 2016-03-05 14:35:17 +01:00
cairo-freed-pool.c Fix data race in freed_pool 2016-03-05 14:35:17 +01:00
cairo-freelist-private.h Avoid indiscriminate use of VALGRIND_MAKE_MEM_NOACCESS. 2015-06-26 16:12:33 -07:00
cairo-freelist-type-private.h
cairo-freelist.c Use _cairo_malloc instead of malloc 2018-05-07 16:35:51 -07:00
cairo-ft-font.c Support color fonts that use the foreground color 2021-08-28 18:07:01 +09:30
cairo-ft-private.h headers: fix include order for AIX, bug#89354 2015-03-05 17:03:28 -08:00
cairo-ft.h Fix distcheck errors on use of #ifdef 2017-12-07 14:15:17 -08:00
cairo-gl-composite.c Use HTTPS URLs for cairographics.org domains 2018-10-16 10:03:01 -07:00
cairo-gl-device.c Misc. typos 2019-01-31 17:37:15 -08: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: Add support for OpenGL ES 3.0 2017-09-13 15:18:04 -07:00
cairo-gl-ext-def-private.h
cairo-gl-glyphs.c Support color fonts that use the foreground color 2021-08-28 18:07:01 +09:30
cairo-gl-gradient-private.h gl: Add support for OpenGL ES 3.0 2017-09-13 15:18:04 -07:00
cairo-gl-gradient.c Use uintptr_t for all casts between pointer and integer 2021-07-25 11:01:20 +09:30
cairo-gl-info.c Fix device errors for GLESv2 contexts 2021-01-19 11:26:33 +00:00
cairo-gl-msaa-compositor.c gl: Whitespace cleanup 2018-05-29 12:15:47 -07:00
cairo-gl-operand.c gl: Whitespace cleanup 2018-05-29 12:15:47 -07:00
cairo-gl-private.h gl: Add support for OpenGL ES 3.0 2017-09-13 15:18:04 -07:00
cairo-gl-shaders.c Fix undefined left-shifts 2021-03-31 12:20:34 +02:00
cairo-gl-source.c Use _cairo_malloc instead of malloc 2018-05-07 16:35:51 -07:00
cairo-gl-spans-compositor.c gl: Whitespace cleanup 2018-05-29 12:15:47 -07:00
cairo-gl-surface-legacy.c gl: Whitespace cleanup 2018-05-29 12:15:47 -07:00
cairo-gl-surface.c Misc. typos 2019-01-31 17:37:15 -08:00
cairo-gl-traps-compositor.c gl: Whitespace cleanup 2018-05-29 12:15:47 -07:00
cairo-gl.h gl: Add support for OpenGL ES 3.0 2017-09-13 15:18:04 -07:00
cairo-glx-context.c gl: Whitespace cleanup 2018-05-29 12:15:47 -07:00
cairo-gstate-private.h Added hairline support to cairo 2021-08-15 06:58:54 +00:00
cairo-gstate.c Added hairline support to cairo 2021-08-15 06:58:54 +00:00
cairo-hash-private.h Remove unused _cairo_hash_table_size 2021-05-29 18:04:45 +02:00
cairo-hash.c Remove unused _cairo_hash_table_size 2021-05-29 18:04:45 +02:00
cairo-hull.c
cairo-image-compositor.c Support color fonts that use the foreground color 2021-08-28 18:07:01 +09:30
cairo-image-info-private.h Fix using signed types where unsigned ones were needed 2021-04-11 23:59:47 +02:00
cairo-image-info.c Fix using signed types where unsigned ones were needed 2021-04-11 23:59:47 +02:00
cairo-image-mask-compositor.c Fix undefined left-shifts 2021-03-31 12:20:34 +02:00
cairo-image-source.c Add support for RGBA128F and RGB96F formats. 2019-01-07 19:10:44 -08: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: Fix include for use of ptrdiff 2017-12-07 14:13:28 -08:00
cairo-image-surface.c Bail early from _cairo_image_compute_color if image is zero-sized. 2021-05-05 13:43:57 +00:00
cairo-line-inline.h stroke,traps: Emit join without loss of precision 2014-09-29 08:42:17 +01:00
cairo-line-private.h Rename cairo_lines_compare_at_y into _cairo_lines_compare_at_y and fix syntax 2021-04-02 14:35:46 +02:00
cairo-line.c Rename cairo_lines_compare_at_y into _cairo_lines_compare_at_y and fix syntax 2021-04-02 14:35:46 +02:00
cairo-list-inline.h xlib: Unlike the visual when destroying it 2013-06-03 13:56:00 +01:00
cairo-list-private.h Split cairo-list into struct+inlines 2012-04-19 13:17:29 +01:00
cairo-lzw.c Use _cairo_malloc instead of malloc 2018-05-07 16:35:51 -07:00
cairo-malloc-private.h Fix malloc overflow check warning 2021-08-24 07:26:35 +09:30
cairo-mask-compositor.c surface: Merge scratch construction into _cairo_surface_create_scratch 2013-09-05 16:11:09 +01:00
cairo-matrix.c Factor out the ISFINITE() macro 2017-10-11 19:13:46 -07:00
cairo-mempool-private.h Fix make check 2012-09-24 09:42:43 +02:00
cairo-mempool.c Use uintptr_t for all casts between pointer and integer 2021-07-25 11:01:20 +09:30
cairo-mesh-pattern-rasterizer.c image: prevent invalid ptr access for > 4GB images 2017-11-07 17:01:49 -08:00
cairo-misc.c Fix some win32 compile warnings 2021-07-25 11:02:55 +09:30
cairo-mono-scan-converter.c Use _cairo_malloc instead of malloc 2018-05-07 16:35:51 -07:00
cairo-mutex-impl-private.h Drop the conditional inclusion of config.h 2021-05-01 17:05:29 +01:00
cairo-mutex-list-private.h win32: Make font dc thread local 2020-03-11 21:13:09 +09: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 Use _cairo_malloc instead of malloc 2018-05-07 16:35:51 -07:00
cairo-os2.h
cairo-output-stream-private.h Remove _cairo_memory_stream_to_string 2021-04-12 00:00:45 +02:00
cairo-output-stream.c Remove _cairo_memory_stream_to_string 2021-04-12 00:00:45 +02:00
cairo-paginated-private.h Misc. typos 2019-01-31 17:37:15 -08:00
cairo-paginated-surface-private.h
cairo-paginated-surface.c Remove all gstate from _cairo_surface_tag 2021-07-18 18:13:10 +09:30
cairo-path-bounds.c Prevent curved strokes in small ctms from being culled from vector surfaces 2017-10-03 22:27:25 +10:30
cairo-path-fill.c Fix cast between incompatible function types warnings 2021-08-22 12:07:36 +09:30
cairo-path-fixed-private.h Use uintptr_t for all casts between pointer and integer 2021-07-25 11:01:20 +09:30
cairo-path-fixed.c Fix cast between incompatible function types warnings 2021-08-22 12:07:36 +09:30
cairo-path-in-fill.c Fix cast between incompatible function types warnings 2021-08-22 12:07:36 +09:30
cairo-path-private.h
cairo-path-stroke-boxes.c replace _BSD_SOURCE with _DEFAULT_SOURCE 2017-09-16 10:04:57 +09:30
cairo-path-stroke-polygon.c build: Fix various compiler warnings 2020-11-07 06:45:01 -07:00
cairo-path-stroke-traps.c Fix cast between incompatible function types warnings 2021-08-22 12:07:36 +09:30
cairo-path-stroke-tristrip.c replace _BSD_SOURCE with _DEFAULT_SOURCE 2017-09-16 10:04:57 +09:30
cairo-path-stroke.c Fix cast between incompatible function types warnings 2021-08-22 12:07:36 +09:30
cairo-path.c Use _cairo_malloc instead of malloc 2018-05-07 16:35:51 -07:00
cairo-pattern-inline.h Split cairo-list into struct+inlines 2012-04-19 13:17:29 +01:00
cairo-pattern-private.h Use uintptr_t for all casts between pointer and integer 2021-07-25 11:01:20 +09:30
cairo-pattern.c Use uintptr_t for all casts between pointer and integer 2021-07-25 11:01:20 +09:30
cairo-pdf-interchange.c pdf links: fix forward references to dest names with 'internal' flag 2021-07-29 07:31:31 +09:30
cairo-pdf-operators-private.h pdf: structured text and hyperlink support 2016-10-01 22:05:42 +09:30
cairo-pdf-operators.c Misc. typos 2019-01-31 17:37:15 -08:00
cairo-pdf-shading-private.h Update FSF address 2011-07-31 13:05:21 +02:00
cairo-pdf-shading.c Use _cairo_malloc instead of malloc 2018-05-07 16:35:51 -07:00
cairo-pdf-surface-private.h pdf links: fix forward references to dest names with 'internal' flag 2021-07-29 07:31:31 +09:30
cairo-pdf-surface.c pdf links: fix forward references to dest names with 'internal' flag 2021-07-29 07:31:31 +09:30
cairo-pdf.h pdf: use link attributes instead of dest name for cairo_pdf_surface_add_outline 2017-08-26 16:32:48 +09:30
cairo-pen.c Avoid indiscriminate use of VALGRIND_MAKE_MEM_NOACCESS. 2015-06-26 16:12:33 -07:00
cairo-pixman-private.h Make "make check" happy 2013-08-26 17:56:27 +01:00
cairo-png.c Read/write 16-bpc PNG data in native endian 2021-08-06 19:09:03 -04:00
cairo-polygon-intersect.c polygon-intersection: Clarify ptr checks for right edges (CID #1160730) 2018-06-13 15:21:50 -07:00
cairo-polygon-reduce.c core: fix compiler warnings 2016-07-02 13:27:11 +02:00
cairo-polygon.c Avoid indiscriminate use of VALGRIND_MAKE_MEM_NOACCESS. 2015-06-26 16:12:33 -07:00
cairo-private.h
cairo-ps-surface-private.h ps: fix invalid matrix in eps embedding 2018-12-02 21:30:51 +10:30
cairo-ps-surface.c Fix PS emit image for 16-bit images 2021-08-22 15:19:47 +09:30
cairo-ps.h Revert accidental push of ps debugging API. 2012-04-14 14:54:07 +01:00
cairo-qt-surface.cpp cairo-qt-surface: fix arguments of _cairo_surface_init() 2020-07-18 19:43:43 +00:00
cairo-qt.h
cairo-quartz-font.c Support color fonts that use the foreground color 2021-08-28 18:07:01 +09:30
cairo-quartz-image-surface.c cairo-quartz-image-surface.c: Fix types 2021-02-11 19:12:10 +00:00
cairo-quartz-image.h Convert 3 headers to UTF8 2018-08-16 20:14:57 -07:00
cairo-quartz-private.h quartz: Restore 10.4-specific font code 2017-01-18 15:06:33 +01:00
cairo-quartz-surface.c Remove stray _GNU_SOURCE definitions 2021-05-01 16:58:15 +01:00
cairo-quartz.h Convert 3 headers to UTF8 2018-08-16 20:14:57 -07:00
cairo-raster-source-pattern.c Fix warnings from check-doc-syntax.sh 2014-03-13 17:12:43 -07: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 Remove all gstate from _cairo_surface_tag 2021-07-18 18:13:10 +09:30
cairo-recording-surface.c Don't assert on NOTHING_TO_DO during recording replay. 2021-07-23 15:19:05 +01: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 pdf: structured text and hyperlink support 2016-10-01 22:05:42 +09:30
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 Support color fonts that use the foreground color 2021-08-28 18:07:01 +09:30
cairo-scaled-font-subsets-private.h scaled-font-subsets: if glyph 0 used for rendering, remap to different index 2015-09-27 09:34:37 +09:30
cairo-scaled-font-subsets.c Support color fonts that use the foreground color 2021-08-28 18:07:01 +09:30
cairo-scaled-font.c Support color fonts that use the foreground color 2021-08-28 18:07:01 +09:30
cairo-script-private.h Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-script-surface.c Support color fonts that use the foreground color 2021-08-28 18:07:01 +09:30
cairo-script.h doc: Add since documentation for enumeration values 2012-03-29 11:03:19 +02:00
cairo-shape-mask-compositor.c surface: Merge scratch construction into _cairo_surface_create_scratch 2013-09-05 16:11:09 +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 Avoid a use-after-scope 2021-03-09 07:53:50 +01:00
cairo-spans-private.h core: reintroduce bot-scan-converter functions 2016-01-13 17:07:53 -08:00
cairo-spans.c pdf: structured text and hyperlink support 2016-10-01 22:05:42 +09:30
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 Added hairline support to cairo 2021-08-15 06:58:54 +00:00
cairo-surface-backend-private.h Remove all gstate from _cairo_surface_tag 2021-07-18 18:13:10 +09:30
cairo-surface-clipper-private.h
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 Fix out of bound access in struct pattern->type 2015-07-09 13:50:35 -07:00
cairo-surface-observer.c Use _cairo_malloc instead of malloc 2018-05-07 16:35:51 -07:00
cairo-surface-offset-private.h
cairo-surface-offset.c Split cairo-clip-privates into struct+inlines 2012-04-19 12:19:19 +01:00
cairo-surface-private.h Don't cull very thin lines on vector surfaces 2015-10-17 18:39:18 +10:30
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 Slightly improve dealing with error snapshots 2021-01-07 17:27:39 +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 Use _cairo_malloc instead of malloc 2018-05-07 16:35:51 -07:00
cairo-surface-wrapper-private.h Remove all gstate from _cairo_surface_tag 2021-07-18 18:13:10 +09:30
cairo-surface-wrapper.c Remove all gstate from _cairo_surface_tag 2021-07-18 18:13:10 +09:30
cairo-surface.c Support color fonts that use the foreground color 2021-08-28 18:07:01 +09:30
cairo-svg-surface-private.h Fix warnings and pipeline failure 2021-04-13 12:26:16 +02:00
cairo-svg-surface.c Support color fonts that use the foreground color 2021-08-28 18:07:01 +09:30
cairo-svg.h #483 2021-05-13 23:21:26 +00:00
cairo-tag-attributes-private.h ps: add CAIRO_MIME_TYPE_EPS mime type for embedding EPS files 2017-11-09 22:02:05 +10:30
cairo-tag-attributes.c Print tag error details when CAIRO_DEBUG_TAG is defined 2021-07-29 06:00:37 +09:30
cairo-tag-stack-private.h Print tag error details when CAIRO_DEBUG_TAG is defined 2021-07-29 06:00:37 +09:30
cairo-tag-stack.c Print tag error details when CAIRO_DEBUG_TAG is defined 2021-07-29 06:00:37 +09:30
cairo-tee-surface-private.h
cairo-tee-surface.c Use _cairo_malloc instead of malloc 2018-05-07 16:35:51 -07:00
cairo-tee.h
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 Use HTTPS URLs for freedesktop.org domains 2018-10-16 10:03:07 -07:00
cairo-tor22-scan-converter.c Fix off-by-one bug in tor22-scan-converter. 2019-05-10 15:02:54 +00:00
cairo-toy-font-face.c Use uintptr_t for all casts between pointer and integer 2021-07-25 11:01:20 +09:30
cairo-traps-compositor.c traps,xcb: Set the box count after filtering 2014-08-25 08:55:24 +01:00
cairo-traps-private.h stroke,traps: Emit join without loss of precision 2014-09-29 08:42:17 +01:00
cairo-traps.c Rename cairo_lines_compare_at_y into _cairo_lines_compare_at_y and fix syntax 2021-04-02 14:35:46 +02:00
cairo-tristrip-private.h Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-tristrip.c Avoid indiscriminate use of VALGRIND_MAKE_MEM_NOACCESS. 2015-06-26 16:12:33 -07:00
cairo-truetype-subset-private.h Fix undefined left-shifts 2021-03-31 12:20:34 +02:00
cairo-truetype-subset.c truetype: check cmap size before allocating memory 2021-07-23 18:32:44 +09:30
cairo-type1-fallback.c Support color fonts that use the foreground color 2021-08-28 18:07:01 +09:30
cairo-type1-glyph-names.c
cairo-type1-private.h
cairo-type1-subset.c Fix some warnings 2021-08-22 12:07:36 +09:30
cairo-type3-glyph-surface-private.h pdf-operators: only wrap text strings for PS output 2014-10-31 19:26:05 +10:30
cairo-type3-glyph-surface.c Support color fonts that use the foreground color 2021-08-28 18:07:01 +09:30
cairo-types-private.h Added hairline support to cairo 2021-08-15 06:58:54 +00:00
cairo-unicode.c Remove unused variable 2017-09-02 16:11:43 +09:30
cairo-uninstalled.pc.in
cairo-user-font-private.h
cairo-user-font.c Support color fonts that use the foreground color 2021-08-28 18:07:01 +09:30
cairo-version.c Retire dummy cairo-version.h header to fix meson subproject build 2020-09-29 15:50:53 +00:00
cairo-version.h Post-release version bump to 1.17.5 2021-05-11 15:47:13 +01:00
cairo-vg-surface.c Use uintptr_t for all casts between pointer and integer 2021-07-25 11:01:20 +09:30
cairo-vg.h Convert 3 headers to UTF8 2018-08-16 20:14:57 -07:00
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 Drop the conditional inclusion of config.h 2021-05-01 17:05:29 +01:00
cairo-wideint.c cairo-wideint: Fix typo in two cairo_uint128 functions 2014-07-24 18:41:37 -07:00
cairo-win32.h win32: Add cairo API to set up a Win32 surface for an HDC with an alpha channel. 2015-04-13 17:43:28 -07:00
cairo-xcb-connection-core.c xcb: remove free pixmap/gc wrappers 2021-05-02 19:30:28 +02:00
cairo-xcb-connection-render.c xcb: Remove free XID cache 2021-05-02 17:49:32 +02:00
cairo-xcb-connection-shm.c xcb: Remove free XID cache 2021-05-02 17:49:32 +02:00
cairo-xcb-connection.c xcb: Remove free XID cache 2021-05-02 17:49:32 +02:00
cairo-xcb-private.h xcb: remove free pixmap/gc wrappers 2021-05-02 19:30:28 +02:00
cairo-xcb-resources.c xcb: Query the display's subpixel order via RENDER 2015-01-17 20:11:59 +01:00
cairo-xcb-screen.c xcb: remove free pixmap/gc wrappers 2021-05-02 19:30:28 +02:00
cairo-xcb-shm.c Use _cairo_malloc instead of malloc 2018-05-07 16:35:51 -07:00
cairo-xcb-surface-core.c xcb: remove free pixmap/gc wrappers 2021-05-02 19:30:28 +02:00
cairo-xcb-surface-render.c Support color fonts that use the foreground color 2021-08-28 18:07:01 +09:30
cairo-xcb-surface.c xcb: remove free pixmap/gc wrappers 2021-05-02 19:30:28 +02:00
cairo-xcb.h Add cairo_xcb_surface_set_drawable 2011-12-02 15:31:51 +00:00
cairo-xlib-core-compositor.c Surround initialisations with atomic critical section 2017-10-15 18:51:04 +10:30
cairo-xlib-display.c Add support for RGBA128F and RGB96F formats. 2019-01-07 19:10:44 -08: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 cairo-xlib: Check for maximum surface size 2021-01-13 16:36:33 +01:00
cairo-xlib-render-compositor.c Support color fonts that use the foreground color 2021-08-28 18:07:01 +09:30
cairo-xlib-screen.c Use _cairo_malloc instead of malloc 2018-05-07 16:35:51 -07:00
cairo-xlib-source.c Fix undefined left-shifts 2021-03-31 12:20:34 +02:00
cairo-xlib-surface-private.h headers: fix include order for AIX, bug#89354 2015-03-05 17:03:28 -08:00
cairo-xlib-surface-shm.c Don't leave the shm field uninitialized when building without shm support. 2021-04-29 08:52:31 +00:00
cairo-xlib-surface.c Fix undefined left-shifts 2021-03-31 12:20:34 +02:00
cairo-xlib-visual.c Use _cairo_malloc instead of malloc 2018-05-07 16:35:51 -07:00
cairo-xlib-xcb-surface.c Use _cairo_malloc instead of malloc 2018-05-07 16:35:51 -07:00
cairo-xlib-xrender-private.h Check for XRenderSolidFill() 2013-12-16 19:27:38 -05: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 Handle new Cairo formats in the XML surface 2021-04-27 16:50:38 +01:00
cairo-xml.h
cairo.c Added hairline support to cairo 2021-08-15 06:58:54 +00:00
cairo.h Merge branch 'color-user-font-getter' into 'master' 2021-08-15 13:56:42 +00:00
cairo.pc.in
cairoint.h Support color fonts that use the foreground color 2021-08-28 18:07:01 +09:30
check-def.sh check: Fix check-def.sh for variations in GCC's linker 2013-06-21 20:18:40 +01:00
check-doc-syntax.awk check-doc-syntax: Don't hardcode path to awk 2013-09-16 12:57:57 +02:00
check-doc-syntax.sh check-doc-syntax: Don't hardcode path to awk 2013-09-16 12:57:57 +02:00
check-has-hidden-symbols.c
check-headers.sh meson: Add shell script tests 2021-05-14 17:08:02 +02:00
check-link.c Retire dummy cairo-version.h header to fix meson subproject build 2020-09-29 15:50:53 +00:00
check-plt.sh meson: Add shell script tests 2021-05-14 17:08:02 +02:00
check-preprocessor-syntax.sh test: Teach check-preprocessor-syntax.sh about -inlines.h 2014-10-09 10:56:28 +01:00
Makefile.am Retire dummy cairo-version.h header to fix meson subproject build 2020-09-29 15:50:53 +00:00
Makefile.am.analysis
Makefile.sources Retire dummy cairo-version.h header to fix meson subproject build 2020-09-29 15:50:53 +00:00
Makefile.win32 Retire dummy cairo-version.h header to fix meson subproject build 2020-09-29 15:50:53 +00:00
Makefile.win32.features Disable skia from configure 2018-04-02 20:20:00 -07:00
meson.build Merge branch 'more-meson' into 'master' 2021-06-17 14:25:16 +00:00
README
test-base-compositor-surface.c Support color fonts that use the foreground color 2021-08-28 18:07:01 +09:30
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 Use _cairo_malloc instead of malloc 2018-05-07 16:35:51 -07:00
test-compositor-surface.h Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
test-null-compositor-surface.c Use _cairo_malloc instead of malloc 2018-05-07 16:35:51 -07:00
test-null-compositor-surface.h Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
test-paginated-surface.c Use _cairo_malloc instead of malloc 2018-05-07 16:35:51 -07: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.