summaryrefslogtreecommitdiff
path: root/libgnomekbd
diff options
context:
space:
mode:
Diffstat (limited to 'libgnomekbd')
-rw-r--r--libgnomekbd/gkbd-keyboard-drawing.c45
1 files changed, 15 insertions, 30 deletions
diff --git a/libgnomekbd/gkbd-keyboard-drawing.c b/libgnomekbd/gkbd-keyboard-drawing.c
index 5d7c5ed..9271c69 100644
--- a/libgnomekbd/gkbd-keyboard-drawing.c
+++ b/libgnomekbd/gkbd-keyboard-drawing.c
@@ -927,6 +927,7 @@ draw_key_label_helper (GkbdKeyboardDrawingRenderContext * context,
gboolean is_pressed)
{
gint label_x, label_y, label_max_width, ycell;
+ PangoAlignment align;
if (keysym == 0)
return;
@@ -935,46 +936,30 @@ draw_key_label_helper (GkbdKeyboardDrawingRenderContext * context,
(unsigned) keysym, (char) keysym, (int) glp);
#endif
+ ycell = ((glp == GKBD_KEYBOARD_DRAWING_POS_BOTTOMLEFT) ||
+ (glp == GKBD_KEYBOARD_DRAWING_POS_BOTTOMRIGHT));
+ rotate_coordinate (x, y, x + padding,
+ y + padding + (height -
+ 2 * padding) *
+ ycell * 4 / 7, angle, &label_x,
+ &label_y);
+ label_max_width = PANGO_SCALE * (width - 2 * padding);
+
switch (glp) {
case GKBD_KEYBOARD_DRAWING_POS_TOPLEFT:
case GKBD_KEYBOARD_DRAWING_POS_BOTTOMLEFT:
- {
- ycell =
- glp == GKBD_KEYBOARD_DRAWING_POS_BOTTOMLEFT;
-
- rotate_coordinate (x, y, x + padding,
- y + padding + (height -
- 2 * padding) *
- ycell * 4 / 7, angle, &label_x,
- &label_y);
- label_max_width =
- PANGO_SCALE * (width - 2 * padding);
- break;
- }
+ align = PANGO_ALIGN_LEFT;
+ break;
case GKBD_KEYBOARD_DRAWING_POS_TOPRIGHT:
case GKBD_KEYBOARD_DRAWING_POS_BOTTOMRIGHT:
- {
- ycell =
- glp == GKBD_KEYBOARD_DRAWING_POS_BOTTOMRIGHT;
-
- rotate_coordinate (x, y,
- x + padding + (width -
- 2 * padding) *
- 4 / 7,
- y + padding + (height -
- 2 * padding) *
- ycell * 4 / 7, angle, &label_x,
- &label_y);
- label_max_width =
- PANGO_SCALE * ((width - 2 * padding) -
- (width - 2 * padding) * 4 / 7);
- break;
- }
+ align = PANGO_ALIGN_RIGHT;
+ break;
default:
return;
}
set_key_label_in_layout (context, keysym);
pango_layout_set_width (context->layout, label_max_width);
+ pango_layout_set_alignment (context->layout, align);
label_y -= (pango_layout_get_line_count (context->layout) - 1) *
(pango_font_description_get_size (context->font_desc) /
PANGO_SCALE);