changeset 1232:db21c0081387

Fixes for dw_font_text_extents_get() on GTK not honoring the font set by dw_pixmap_set_font().
author bsmith@81767d24-ef19-dc11-ae90-00e081727c95
date Sun, 16 Oct 2011 19:40:27 +0000
parents 4a7a9f102a5f
children 365f92e85771
files gtk/dw.c gtk3/dw.c
diffstat 2 files changed, 15 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/gtk/dw.c	Sun Oct 16 19:26:10 2011 +0000
+++ b/gtk/dw.c	Sun Oct 16 19:40:27 2011 +0000
@@ -8056,10 +8056,11 @@
    GdkGC *gc = NULL;
 #if GTK_MAJOR_VERSION > 1
    PangoFontDescription *font;
+   char *tmpname, *fontname = "monospace 10";
 #else
    GdkFont *font;
-#endif
    char *tmpname, *fontname = "fixed";
+#endif
 #if GTK_CHECK_VERSION(2,10,0)
    cairo_t *cr = NULL;
 #endif
@@ -8242,7 +8243,12 @@
       }
    }
    else if(pixmap)
-      fontname = (char *)gtk_object_get_data(GTK_OBJECT(pixmap->handle), "_dw_fontname");
+   {
+      if(pixmap->font)
+         fontname = pixmap->font;
+      else if(pixmap->handle)
+         fontname = (char *)gtk_object_get_data(GTK_OBJECT(pixmap->handle), "_dw_fontname");
+   }
 
 #if GTK_MAJOR_VERSION > 1
    font = pango_font_description_from_string(fontname ? fontname : "monospace 10");
--- a/gtk3/dw.c	Sun Oct 16 19:26:10 2011 +0000
+++ b/gtk3/dw.c	Sun Oct 16 19:40:27 2011 +0000
@@ -6924,7 +6924,7 @@
    int _locked_by_me = FALSE;
    cairo_t *cr = NULL;
    PangoFontDescription *font;
-   char *tmpname, *fontname = "fixed";
+   char *tmpname, *fontname = "monospace 10";
 
    if(!text)
       return;
@@ -7029,7 +7029,12 @@
       }
    }
    else if(pixmap)
-      fontname = (char *)g_object_get_data(G_OBJECT(pixmap->handle), "_dw_fontname");
+   {
+      if(pixmap->font)
+         fontname = pixmap->font;
+      else if(pixmap->handle)
+         fontname = (char *)g_object_get_data(G_OBJECT(pixmap->handle), "_dw_fontname");
+   }
 
    font = pango_font_description_from_string(fontname ? fontname : "monospace 10");
    if(font)