From: Matthias Clasen <[email protected]>
This information will be used in subsequent commits to quickly
decide that we won't try to handle glpyhs as masks. Implementing
the new has_color_glyphs vfunc is optional - only backends that
support color glyphs need to implement it.
---
src/cairo-scaled-font-private.h | 2 ++
src/cairo-scaled-font.c | 9 +++++++++
src/cairoint.h | 3 +++
3 files changed, 14 insertions(+)
diff --git a/src/cairo-scaled-font-private.h b/src/cairo-scaled-font-private.h
index 6ce6bb6..317d211 100644
--- a/src/cairo-scaled-font-private.h
+++ b/src/cairo-scaled-font-private.h
@@ -178,6 +178,8 @@ _cairo_scaled_glyph_attach_private (cairo_scaled_glyph_t *scaled_glyph,
void (*destroy) (cairo_scaled_glyph_private_t *,
cairo_scaled_glyph_t *,
cairo_scaled_font_t *));
+cairo_private cairo_bool_t
+_cairo_scaled_font_has_color_glyphs (cairo_scaled_font_t *scaled_font);
CAIRO_END_DECLS
diff --git a/src/cairo-scaled-font.c b/src/cairo-scaled-font.c
index 27a52b2..508c962 100644
--- a/src/cairo-scaled-font.c
+++ b/src/cairo-scaled-font.c
@@ -3178,3 +3178,12 @@ cairo_scaled_font_get_font_options (cairo_scaled_font_t *scaled_font,
_cairo_font_options_init_copy (options, &scaled_font->options);
}
slim_hidden_def (cairo_scaled_font_get_font_options);
+
+cairo_bool_t
+_cairo_scaled_font_has_color_glyphs (cairo_scaled_font_t *scaled_font)
+{
+ if (scaled_font->backend != NULL && scaled_font->backend->has_color_glyphs != NULL)
+ return scaled_font->backend->has_color_glyphs (scaled_font);
+ else
+ return FALSE;
+}
diff --git a/src/cairoint.h b/src/cairoint.h
index 6fb020f..01ffd32 100644
--- a/src/cairoint.h
+++ b/src/cairoint.h
@@ -598,6 +598,9 @@ struct _cairo_scaled_font_backend {
long offset,
unsigned char *buffer,
unsigned long *length);
+
+ cairo_bool_t
+ (*has_color_glyphs) (void *scaled_font);
};
struct _cairo_font_face_backend {
--
2.7.3
--
cairo mailing list
[email protected]
https://lists.cairographics.org/mailman/listinfo/cairo
lmpx.com only provides a reader for public news (NNTP) servers. It is not
affiliated with the servers or forums shown here and is not responsible for
the content of articles, which is written by their respective authors.