summaryrefslogtreecommitdiff
path: root/src/cairo-colr-glyph-render.c
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2023-01-19 09:02:10 -0500
committerMatthias Clasen <mclasen@redhat.com>2023-01-20 14:58:27 -0500
commit2e4afeb4bc88a9eefdf926f547776466493f6832 (patch)
tree8e1f6923eaf6155912893ce7410006d5b501af5c /src/cairo-colr-glyph-render.c
parent8992e26f07ae13fa9700d93ba4766f474f7d68f5 (diff)
downloadcairo-2e4afeb4bc88a9eefdf926f547776466493f6832.tar.gz
cairo-ft: Pass the palette to the COLRv1 renderer
It an unnecessary complication for use to pass the palette index, and have the COLRv1 renderer pull the palette out of the FT_Face, after we just selected it.
Diffstat (limited to 'src/cairo-colr-glyph-render.c')
-rw-r--r--src/cairo-colr-glyph-render.c15
1 files changed, 3 insertions, 12 deletions
diff --git a/src/cairo-colr-glyph-render.c b/src/cairo-colr-glyph-render.c
index 66a496417..3b345f111 100644
--- a/src/cairo-colr-glyph-render.c
+++ b/src/cairo-colr-glyph-render.c
@@ -1188,29 +1188,20 @@ draw_colr_glyph (cairo_colr_glyph_render_t *render,
cairo_status_t
_cairo_render_colr_v1_glyph (FT_Face face,
unsigned long glyph,
- FT_UShort palette_index,
+ FT_Color *palette,
+ int num_palette_entries,
cairo_t *cr)
{
cairo_status_t status = CAIRO_STATUS_SUCCESS;
cairo_colr_glyph_render_t colr_render;
- FT_Color *palette = NULL;
- FT_Palette_Data palette_data;
#if DEBUG_COLR
printf ("_cairo_render_colr_glyph glyph index: %ld\n", glyph);
#endif
- if (FT_Palette_Data_Get (face, &palette_data) == 0 && palette_data.num_palettes > 0) {
- if (palette_index >= palette_data.num_palettes)
- palette_index = CAIRO_COLOR_PALETTE_DEFAULT;
-
- if (FT_Palette_Select (face, palette_index, &palette) != 0)
- palette = NULL;
- }
-
colr_render.face = face;
colr_render.palette = palette;
- colr_render.num_palette_entries = palette_data.num_palette_entries;
+ colr_render.num_palette_entries = num_palette_entries;
colr_render.foreground_color = cairo_pattern_reference (cairo_get_source (cr));
colr_render.level = 0;