aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLars Uebernickel <lars.uebernickel@canonical.com>2012-01-22 12:17:54 +0100
committerLars Uebernickel <lars.uebernickel@canonical.com>2012-01-22 12:17:54 +0100
commita9e89356835246b29f2ce06278e846eb8543b9db (patch)
tree6208624ee3abdcee5d9880223c2b067836b040a9
parent0d029e38b6d9b0f556b8d994385e972107c766a1 (diff)
downloadayatana-indicator-messages-a9e89356835246b29f2ce06278e846eb8543b9db.tar.gz
ayatana-indicator-messages-a9e89356835246b29f2ce06278e846eb8543b9db.tar.bz2
ayatana-indicator-messages-a9e89356835246b29f2ce06278e846eb8543b9db.zip
Center lozenge text vertically
This ignores the label's padding and alignments, but they aren't used right now.
-rw-r--r--src/indicator-messages.c4
1 files changed, 4 insertions, 0 deletions
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);