summaryrefslogtreecommitdiff
path: root/pango/pangowin32.c
diff options
context:
space:
mode:
Diffstat (limited to 'pango/pangowin32.c')
-rw-r--r--pango/pangowin32.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/pango/pangowin32.c b/pango/pangowin32.c
index eed92dde..55a079c9 100644
--- a/pango/pangowin32.c
+++ b/pango/pangowin32.c
@@ -126,11 +126,13 @@ _pango_win32_font_init (PangoWin32Font *win32font)
}
static GPrivate display_dc_key = G_PRIVATE_INIT ((GDestroyNotify) DeleteDC);
+static GPrivate dwrite_items = G_PRIVATE_INIT ((GDestroyNotify) pango_win32_dwrite_items_destroy);
HDC
_pango_win32_get_display_dc (void)
{
HDC hdc = g_private_get (&display_dc_key);
+ PangoWin32DWriteItems *items;
if (hdc == NULL)
{
@@ -151,9 +153,22 @@ _pango_win32_get_display_dc (void)
#endif
}
+ items = g_private_get (&dwrite_items);
+ if (items == NULL)
+ {
+ items = pango_win32_init_direct_write ();
+ g_private_set (&dwrite_items, items);
+ }
+
return hdc;
}
+PangoWin32DWriteItems *
+pango_win32_get_direct_write_items (void)
+{
+ return g_private_get (&dwrite_items);
+}
+
/**
* pango_win32_get_dc:
*