summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBehdad Esfahbod <behdad@behdad.org>2015-05-01 15:16:42 -0400
committerBehdad Esfahbod <behdad@behdad.org>2015-05-01 15:16:42 -0400
commitb3474e68f0d823cee69239fb10c93320894e0a5b (patch)
treeaf7a98668e8e70281be53c8b1062f47be73f9885
parentd650fc32b145f55da37fe27edbda1624ab7ac437 (diff)
downloadpango-b3474e68f0d823cee69239fb10c93320894e0a5b.tar.gz
Bug 748767 - Add pango_fc_font_map_config_changed()
-rw-r--r--docs/pango-sections.txt1
-rw-r--r--pango/pangofc-fontmap.c22
-rw-r--r--pango/pangofc-fontmap.h5
-rw-r--r--pango/pangoft2.def1
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