[pango] Bug 748767 - Add pango_fc_font_map_config_changed()



commit b3474e68f0d823cee69239fb10c93320894e0a5b
Author: Behdad Esfahbod <behdad behdad org>
Date:   Fri May 1 15:16:42 2015 -0400

    Bug 748767 - Add pango_fc_font_map_config_changed()

 docs/pango-sections.txt |    1 +
 pango/pangofc-fontmap.c |   22 +++++++++++++++++++++-
 pango/pangofc-fontmap.h |    5 ++++-
 pango/pangoft2.def      |    1 +
 4 files changed, 27 insertions(+), 2 deletions(-)
---
diff --git a/docs/pango-sections.txt b/docs/pango-sections.txt
index d6ecf58..43bdf83 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 6c12e2e..ea83288 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 a1057b8..ac3bbf7 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 fdcf5cf..24dee24 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


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]