diff options
author | Matthias Clasen <mclasen@redhat.com> | 2020-09-18 19:17:32 +0000 |
---|---|---|
committer | Matthias Clasen <mclasen@redhat.com> | 2020-09-18 19:17:32 +0000 |
commit | 3d1240ae397d1637be6887815221bc17112ad4ce (patch) | |
tree | 1d71eb13e526ac0b3a19b2aaba0610160976c81e /pango/pangoxft-fontmap.c | |
parent | d3d211a0e8ce537da876ddce7c442b2d4a6197a6 (diff) | |
parent | e023cf0d66b323359740c453481507ab91005a34 (diff) | |
download | pango-3d1240ae397d1637be6887815221bc17112ad4ce.tar.gz |
Merge branch 'ch/83' into 'master'
Add pango_fc_font_map_set_default_substitute
Closes #83
See merge request GNOME/pango!191
Diffstat (limited to 'pango/pangoxft-fontmap.c')
-rw-r--r-- | pango/pangoxft-fontmap.c | 39 |
1 files changed, 11 insertions, 28 deletions
diff --git a/pango/pangoxft-fontmap.c b/pango/pangoxft-fontmap.c index fce8c665..82955165 100644 --- a/pango/pangoxft-fontmap.c +++ b/pango/pangoxft-fontmap.c @@ -46,13 +46,6 @@ struct _PangoXftFontMap Display *display; int screen; - /* Function to call on prepared patterns to do final - * config tweaking. - */ - PangoXftSubstituteFunc substitute_func; - gpointer substitute_data; - GDestroyNotify substitute_destroy; - PangoRenderer *renderer; }; @@ -108,9 +101,6 @@ pango_xft_font_map_finalize (GObject *object) fontmaps = g_slist_remove (fontmaps, object); G_UNLOCK (fontmaps); - if (xftfontmap->substitute_destroy) - xftfontmap->substitute_destroy (xftfontmap->substitute_data); - G_OBJECT_CLASS (pango_xft_font_map_parent_class)->finalize (object); } @@ -297,6 +287,9 @@ pango_xft_shutdown_display (Display *display, * the font. This function can be used to do things like set * hinting and antialiasing options. * + * Deprecated: 1.46: Use pango_fc_font_map_set_default_substitute() + * instead. + * * Since: 1.2 **/ void @@ -308,18 +301,8 @@ pango_xft_set_default_substitute (Display *display, { PangoXftFontMap *xftfontmap = (PangoXftFontMap *)pango_xft_get_font_map (display, screen); - xftfontmap->serial++; - if (xftfontmap->serial == 0) - xftfontmap->serial++; - - if (xftfontmap->substitute_destroy) - xftfontmap->substitute_destroy (xftfontmap->substitute_data); - - xftfontmap->substitute_func = func; - xftfontmap->substitute_data = data; - xftfontmap->substitute_destroy = notify; - - pango_fc_font_map_cache_clear (PANGO_FC_FONT_MAP (xftfontmap)); + PangoFcFontMap *fcfontmap = PANGO_FC_FONT_MAP (xftfontmap); + pango_fc_font_map_set_default_substitute(fcfontmap, func, data, notify); } /** @@ -333,6 +316,9 @@ pango_xft_set_default_substitute (Display *display, * That is, if your substitution function will return different * results for the same input pattern, you must call this function. * + * Deprecated: 1.46: Use pango_fc_font_map_substitute_changed() + * instead. + * * Since: 1.2 **/ void @@ -341,10 +327,7 @@ pango_xft_substitute_changed (Display *display, { PangoXftFontMap *xftfontmap = (PangoXftFontMap *)pango_xft_get_font_map (display, screen); - xftfontmap->serial++; - if (xftfontmap->serial == 0) - xftfontmap->serial++; - pango_fc_font_map_cache_clear (PANGO_FC_FONT_MAP (xftfontmap)); + pango_fc_font_map_substitute_changed(PANGO_FC_FONT_MAP (xftfontmap)); } void @@ -408,8 +391,8 @@ pango_xft_font_map_default_substitute (PangoFcFontMap *fcfontmap, double d; FcConfigSubstitute (NULL, pattern, FcMatchPattern); - if (xftfontmap->substitute_func) - xftfontmap->substitute_func (pattern, xftfontmap->substitute_data); + if (fcfontmap->substitute_func) + fcfontmap->substitute_func (pattern, fcfontmap->substitute_data); XftDefaultSubstitute (xftfontmap->display, xftfontmap->screen, pattern); if (FcPatternGetDouble (pattern, FC_PIXEL_SIZE, 0, &d) == FcResultMatch && d == 0.0) { |