summaryrefslogtreecommitdiff
path: root/pango/pangoft2-fontmap.c
diff options
context:
space:
mode:
Diffstat (limited to 'pango/pangoft2-fontmap.c')
-rw-r--r--pango/pangoft2-fontmap.c23
1 files changed, 23 insertions, 0 deletions
diff --git a/pango/pangoft2-fontmap.c b/pango/pangoft2-fontmap.c
index 723fb495..43607b07 100644
--- a/pango/pangoft2-fontmap.c
+++ b/pango/pangoft2-fontmap.c
@@ -60,6 +60,8 @@ struct _PangoFT2FontMap
PangoFT2SubstituteFunc substitute_func;
gpointer substitute_data;
GDestroyNotify substitute_destroy;
+
+ PangoRenderer *renderer;
};
struct _PangoFT2FontMapClass
@@ -101,6 +103,9 @@ pango_ft2_font_map_finalize (GObject *object)
{
PangoFT2FontMap *ft2fontmap = PANGO_FT2_FONT_MAP (object);
+ if (ft2fontmap->renderer)
+ g_object_unref (ft2fontmap->renderer);
+
if (ft2fontmap->substitute_destroy)
ft2fontmap->substitute_destroy (ft2fontmap->substitute_data);
@@ -303,6 +308,24 @@ _pango_ft2_font_map_get_library (PangoFontMap *fontmap)
return ft2fontmap->library;
}
+
+/**
+ * _pango_ft2_font_map_get_renderer:
+ * @fontmap: a #PangoFT2Fontmap
+ *
+ * Gets the singleton PangoFT2Renderer for this fontmap.
+ *
+ * Return value:
+ **/
+PangoRenderer *
+_pango_ft2_font_map_get_renderer (PangoFT2FontMap *ft2fontmap)
+{
+ if (!ft2fontmap->renderer)
+ ft2fontmap->renderer = g_object_new (PANGO_TYPE_FT2_RENDERER, NULL);
+
+ return ft2fontmap->renderer;
+}
+
static void
pango_ft2_font_map_default_substitute (PangoFcFontMap *fcfontmap,
FcPattern *pattern)