]> Dogcows Code - chaz/openbox/commitdiff
pango lies. do the pixel conversion ourselves
authorDana Jansens <danakj@orodu.net>
Wed, 23 May 2007 01:42:59 +0000 (01:42 +0000)
committerDana Jansens <danakj@orodu.net>
Wed, 23 May 2007 01:42:59 +0000 (01:42 +0000)
render/font.c

index 3755c1ff7652c8d0aa013b0c96b41115bdcc4b66..73449f912dd42621c40fe9ce05fc91572096654a 100644 (file)
@@ -146,9 +146,12 @@ static void font_measure_full(const RrFont *f, const gchar *str,
 
     pango_layout_set_text(f->layout, str, -1);
     pango_layout_set_width(f->layout, -1);
-    pango_layout_get_pixel_extents(f->layout, NULL, &rect);
-    *x = rect.width + ABS(shadow_x) + 4 /* we put a 2 px edge on each side */;
-    *y = rect.height + ABS(shadow_y);
+    pango_layout_get_extents(f->layout, NULL, &rect);
+    /* DONT use pango_layout_get_pixel_extents. they say it's guaranteed to
+       fit the text but they lie. figure it out ourselves */
+    *x = (rect.width + PANGO_SCALE - 1) / PANGO_SCALE
+        + ABS(shadow_x) + 4 /* we put a 2 px edge on each side */;
+    *y = (rect.height + PANGO_SCALE - 1) / PANGO_SCALE + ABS(shadow_y);
 }
 
 RrSize *RrFontMeasureString(const RrFont *f, const gchar *str,
This page took 0.023637 seconds and 4 git commands to generate.