# HG changeset patch # User Eugene Paskevich # Date 1197798074 -7200 # Node ID e7cbef69e9e083f8b27a2739755eee6f85265d61 # Parent 9d2d7061caed2ae7a2b34c1c6aa69e3b25e85ba6 Fixed layout size calculation to take italicized glyph extents into account. diff -r 9d2d7061caed -r e7cbef69e9e0 src/aosd/aosd_osd.c --- a/src/aosd/aosd_osd.c Sat Dec 15 01:17:05 2007 +0900 +++ b/src/aosd/aosd_osd.c Sun Dec 16 11:41:14 2007 +0200 @@ -179,6 +179,7 @@ aosd_osd_create ( void ) { gint max_width, layout_width, layout_height; + PangoRectangle ink; GdkScreen *screen = gdk_screen_get_default(); gint pos_x = 0, pos_y = 0; gint pad_left = 0 , pad_right = 0 , pad_top = 0 , pad_bottom = 0; @@ -228,7 +229,9 @@ pango_layout_set_ellipsize( osd_data->pango_layout , PANGO_ELLIPSIZE_NONE ); pango_layout_set_justify( osd_data->pango_layout , FALSE ); pango_layout_set_width( osd_data->pango_layout , PANGO_SCALE * max_width ); - pango_layout_get_pixel_size( osd_data->pango_layout , &layout_width , &layout_height ); + pango_layout_get_pixel_extents( osd_data->pango_layout , &ink , NULL ); + layout_width = ink.x + ink.width; + layout_height = ink.y + ink.height; /* osd position */ switch ( osd_data->cfg_osd->position.placement )