summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKristian Høgsberg <krh@bitplanet.net>2012-05-15 21:52:25 -0400
committerKristian Høgsberg <krh@bitplanet.net>2012-05-15 21:52:25 -0400
commitd9931880c5beeced085e156279a7cab3598ff400 (patch)
tree179720679ebabafd6ff126df8f0d49520c0c51c7
parent7507b570c64b2b7bf2ab9aee75f9fdc69e0529a4 (diff)
window: Compute title vertical position based on font extents
We just fudged it before.
-rw-r--r--clients/window.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/clients/window.c b/clients/window.c
index 5eca1f4..3dec950 100644
--- a/clients/window.c
+++ b/clients/window.c
@@ -1424,6 +1424,7 @@ frame_redraw_handler(struct widget *widget, void *data)
struct frame *frame = data;
cairo_t *cr;
cairo_text_extents_t extents;
+ cairo_font_extents_t font_extents;
cairo_surface_t *source;
int x, y, width, height;
struct window *window = widget->window;
@@ -1461,8 +1462,13 @@ frame_redraw_handler(struct widget *widget, void *data)
CAIRO_FONT_WEIGHT_BOLD);
cairo_set_font_size(cr, 14);
cairo_text_extents(cr, window->title, &extents);
+ cairo_font_extents (cr, &font_extents);
x = (width - extents.width) / 2;
- y = frame->margin + 8 - extents.y_bearing;
+ y = frame->margin +
+ (frame->titlebar_height -
+ font_extents.ascent - font_extents.descent) / 2 +
+ font_extents.ascent;
+
if (window->keyboard_device) {
cairo_move_to(cr, x + 1, y + 1);
cairo_set_source_rgb(cr, 1, 1, 1);