diff options
author | Behdad Esfahbod <behdad@behdad.org> | 2015-05-01 15:16:42 -0400 |
---|---|---|
committer | Behdad Esfahbod <behdad@behdad.org> | 2015-05-01 15:16:42 -0400 |
commit | b3474e68f0d823cee69239fb10c93320894e0a5b (patch) | |
tree | af7a98668e8e70281be53c8b1062f47be73f9885 | |
parent | d650fc32b145f55da37fe27edbda1624ab7ac437 (diff) | |
download | pango-b3474e68f0d823cee69239fb10c93320894e0a5b.tar.gz |
Bug 748767 - Add pango_fc_font_map_config_changed()
-rw-r--r-- | docs/pango-sections.txt | 1 | ||||
-rw-r--r-- | pango/pangofc-fontmap.c | 22 | ||||
-rw-r--r-- | pango/pangofc-fontmap.h | 5 | ||||
-rw-r--r-- | pango/pangoft2.def | 1 |
4 files changed, 27 insertions, 2 deletions
diff --git a/docs/pango-sections.txt b/docs/pango-sections.txt index d6ecf587..43bdf83a 100644 --- a/docs/pango-sections.txt +++ b/docs/pango-sections.txt @@ -915,6 +915,7 @@ PangoFcDecoderFindFunc pango_fc_font_map_add_decoder_find_func pango_fc_font_map_find_decoder pango_fc_font_map_cache_clear +pango_fc_font_map_config_changed pango_fc_font_map_shutdown pango_fc_font_map_set_config pango_fc_font_map_get_config diff --git a/pango/pangofc-fontmap.c b/pango/pangofc-fontmap.c index 6c12e2ef..ea832882 100644 --- a/pango/pangofc-fontmap.c +++ b/pango/pangofc-fontmap.c @@ -1814,6 +1814,23 @@ pango_fc_font_map_cache_clear (PangoFcFontMap *fcfontmap) /** * pango_fc_font_map_set_config: * @fcfontmap: a #PangoFcFontMap + * + * Informs font map that the fontconfig configuration (ie, FcConfig object) + * used by this font map has changed. This currently calls + * pango_fc_font_map_cache_clear() which ensures that list of fonts, etc + * will be regenerated using the updated configuration. + * + * Since: 1.38 + **/ +void +pango_fc_font_map_config_changed (PangoFcFontMap *fcfontmap) +{ + pango_fc_font_map_cache_clear (fcfontmap); +} + +/** + * pango_fc_font_map_set_config: + * @fcfontmap: a #PangoFcFontMap * @fcconfig: (nullable) a #FcConfig, or %NULL * * Set the FcConfig for this font map to use. The default value @@ -1825,6 +1842,9 @@ pango_fc_font_map_cache_clear (PangoFcFontMap *fcfontmap) * fonts with Pango. For that, you would create a fresh FcConfig, add your * app fonts to it, and attach it to a new Pango font map. * + * If @fcconfig is different from the previous config attached to the font map, + * pango_fc_font_map_config_changed() is called. + * * This function acquires a reference to the FcConfig object; the caller * does NOT need to retain a reference. * @@ -1846,7 +1866,7 @@ pango_fc_font_map_set_config (PangoFcFontMap *fcfontmap, fcfontmap->priv->config = fcconfig; if (oldconfig != fcconfig) - pango_fc_font_map_cache_clear (fcfontmap); + pango_fc_font_map_config_changed (fcfontmap); if (oldconfig) FcConfigDestroy (oldconfig); diff --git a/pango/pangofc-fontmap.h b/pango/pangofc-fontmap.h index a1057b86..ac3bbf78 100644 --- a/pango/pangofc-fontmap.h +++ b/pango/pangofc-fontmap.h @@ -198,8 +198,11 @@ GType pango_fc_font_map_get_type (void) G_GNUC_CONST; void pango_fc_font_map_cache_clear (PangoFcFontMap *fcfontmap); void +pango_fc_font_map_config_changed (PangoFcFontMap *fcfontmap); + +void pango_fc_font_map_set_config (PangoFcFontMap *fcfontmap, - FcConfig *fcconfig); + FcConfig *fcconfig); FcConfig * pango_fc_font_map_get_config (PangoFcFontMap *fcfontmap); diff --git a/pango/pangoft2.def b/pango/pangoft2.def index fdcf5cf2..24dee240 100644 --- a/pango/pangoft2.def +++ b/pango/pangoft2.def @@ -16,6 +16,7 @@ EXPORTS pango_fc_font_lock_face pango_fc_font_map_add_decoder_find_func pango_fc_font_map_cache_clear + pango_fc_font_map_config_changed pango_fc_font_map_create_context pango_fc_font_map_find_decoder pango_fc_font_map_get_config |