get real Pango::FontDescriptions for several canvas items
authorPaul Davis <paul@linuxaudiosystems.com>
Mon, 5 Mar 2007 23:12:47 +0000 (23:12 +0000)
committerPaul Davis <paul@linuxaudiosystems.com>
Mon, 5 Mar 2007 23:12:47 +0000 (23:12 +0000)
git-svn-id: svn://localhost/ardour2/trunk@1557 d708f5d6-7413-0410-9779-e7cbd77b26cf

gtk2_ardour/utils.cc

index 396940284b3c273c04a71c592bda634ed328e6bc..fbebf0d51afc0a1a888a192ca4292bf8dbb811dc 100644 (file)
@@ -232,7 +232,21 @@ get_font_for_style (string widgetname)
        foobar.ensure_style();
 
        style = foobar.get_style ();
-       return style->get_font();
+
+       Glib::RefPtr<const Pango::Layout> layout = foobar.get_layout();
+       
+       PangoFontDescription *pfd = (PangoFontDescription *)pango_layout_get_font_description((PangoLayout *)layout->gobj());
+       
+       if (!pfd) {
+               
+               /* layout inherited its font description from a PangoContext */
+
+               PangoContext* ctxt = (PangoContext*) pango_layout_get_context ((PangoLayout*) layout->gobj());
+               pfd =  pango_context_get_font_description (ctxt);
+               return Pango::FontDescription (pfd, true); /* make a copy */
+       } 
+
+       return Pango::FontDescription (pfd, true); /* make a copy */
 }
 
 uint32_t