diff options
author | Matthias Clasen <mclasen@redhat.com> | 2023-01-19 09:02:10 -0500 |
---|---|---|
committer | Matthias Clasen <mclasen@redhat.com> | 2023-01-20 14:58:27 -0500 |
commit | 2e4afeb4bc88a9eefdf926f547776466493f6832 (patch) | |
tree | 8e1f6923eaf6155912893ce7410006d5b501af5c /src/cairo-colr-glyph-render.c | |
parent | 8992e26f07ae13fa9700d93ba4766f474f7d68f5 (diff) | |
download | cairo-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.c | 15 |
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; |