diff options
author | Matthias Clasen <mclasen@redhat.com> | 2016-04-07 20:38:09 -0400 |
---|---|---|
committer | Behdad Esfahbod <behdad@behdad.org> | 2017-07-29 12:30:50 +0100 |
commit | 0d8859c66fb82a00147ab77d1971111306ca2272 (patch) | |
tree | 7a01ece928a78c0376fc6837926ae7f2344d75b9 /src/cairoint.h | |
parent | 0fadb2c56d855560810205d78975450ddce271df (diff) | |
download | cairo-0d8859c66fb82a00147ab77d1971111306ca2272.tar.gz |
Add support for color glyphs to cairo_scaled_glyph_t
With this, glyphs can have either a surface that is expected
to be used as mask, or a color_surface that should be used
as source, or both.
This will be used to support colored emoji glyphs that are
stored as PNG images in OpenType fonts.
Diffstat (limited to 'src/cairoint.h')
-rw-r--r-- | src/cairoint.h | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/cairoint.h b/src/cairoint.h index 4fedf861d..a04a92e94 100644 --- a/src/cairoint.h +++ b/src/cairoint.h @@ -477,7 +477,8 @@ typedef enum _cairo_scaled_glyph_info { CAIRO_SCALED_GLYPH_INFO_METRICS = (1 << 0), CAIRO_SCALED_GLYPH_INFO_SURFACE = (1 << 1), CAIRO_SCALED_GLYPH_INFO_PATH = (1 << 2), - CAIRO_SCALED_GLYPH_INFO_RECORDING_SURFACE = (1 << 3) + CAIRO_SCALED_GLYPH_INFO_RECORDING_SURFACE = (1 << 3), + CAIRO_SCALED_GLYPH_INFO_COLOR_SURFACE = (1 << 4) } cairo_scaled_glyph_info_t; typedef struct _cairo_scaled_font_subset { @@ -1255,6 +1256,11 @@ _cairo_scaled_glyph_set_recording_surface (cairo_scaled_glyph_t *scaled_glyph, cairo_scaled_font_t *scaled_font, cairo_surface_t *recording_surface); +cairo_private void +_cairo_scaled_glyph_set_color_surface (cairo_scaled_glyph_t *scaled_glyph, + cairo_scaled_font_t *scaled_font, + cairo_image_surface_t *surface); + cairo_private cairo_int_status_t _cairo_scaled_glyph_lookup (cairo_scaled_font_t *scaled_font, unsigned long index, |