From a9e89356835246b29f2ce06278e846eb8543b9db Mon Sep 17 00:00:00 2001 From: Lars Uebernickel Date: Sun, 22 Jan 2012 12:17:54 +0100 Subject: Center lozenge text vertically This ignores the label's padding and alignments, but they aren't used right now. --- src/indicator-messages.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/indicator-messages.c b/src/indicator-messages.c index bb1d618..a39d7f1 100644 --- a/src/indicator-messages.c +++ b/src/indicator-messages.c @@ -522,6 +522,7 @@ numbers_draw_cb (GtkWidget *widget, GdkEventExpose *event, gpointer data) GtkStyle *style; double x, y, w, h; PangoLayout * layout; + PangoRectangle layout_extents; gint font_size = gtk_widget_get_font_size (widget); if (!GTK_IS_WIDGET (widget)) return FALSE; @@ -542,6 +543,8 @@ numbers_draw_cb (GtkWidget *widget, GdkEventExpose *event, gpointer data) h = allocation.height; layout = gtk_label_get_layout (GTK_LABEL(widget)); + pango_layout_get_extents (layout, NULL, &layout_extents); + pango_extents_to_pixels (&layout_extents, NULL); #if GTK_CHECK_VERSION(3, 0, 0) cairo_save (cr); @@ -562,6 +565,7 @@ numbers_draw_cb (GtkWidget *widget, GdkEventExpose *event, gpointer data) style->fg[gtk_widget_get_state(widget)].green/65535.0, style->fg[gtk_widget_get_state(widget)].blue/65535.0, 0.5); + y += (allocation.height - layout_extents.height) / 2.0; cairo_move_to (cr, x, y); pango_cairo_layout_path (cr, layout); cairo_fill (cr); -- cgit v1.2.3