summaryrefslogtreecommitdiff
path: root/gtk/gtklabel.c
diff options
context:
space:
mode:
authorMatthias Clasen <maclas@gmx.de>2004-02-03 01:03:56 +0000
committerMatthias Clasen <matthiasc@src.gnome.org>2004-02-03 01:03:56 +0000
commit362158dc785486a6c3345081fad492b4aad745e2 (patch)
treed6bd1581aaa916d0541797baa6c184f9467d038b /gtk/gtklabel.c
parent6c935950b2ca743f59bc99a0ae43a45b6ec2e303 (diff)
downloadgtk+-362158dc785486a6c3345081fad492b4aad745e2.tar.gz
Right-justify labels in rtl mode. (#129071, chinen@jp.ibm.com)
Tue Feb 3 02:04:44 2004 Matthias Clasen <maclas@gmx.de> * gtk/gtklabel.c (gtk_label_ensure_layout): Right-justify labels in rtl mode. (#129071, chinen@jp.ibm.com) Tue Feb 3 02:01:25 2004 Matthias Clasen <maclas@gmx.de> * gtk/gtkmenushell.c (gtk_real_menu_shell_move_current): Exchange the meaning GTK_MENU_DIR_PARENT/CHILD and GTK_MENU_DIR_PREV/NEXT in rtl mode. (#107528)
Diffstat (limited to 'gtk/gtklabel.c')
-rw-r--r--gtk/gtklabel.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/gtk/gtklabel.c b/gtk/gtklabel.c
index f26e99abcf..b835c2a79d 100644
--- a/gtk/gtklabel.c
+++ b/gtk/gtklabel.c
@@ -1408,9 +1408,11 @@ gtk_label_ensure_layout (GtkLabel *label)
GtkWidget *widget;
PangoRectangle logical_rect;
gint rwidth, rheight;
+ gboolean rtl;
widget = GTK_WIDGET (label);
+ rtl = gtk_widget_get_direction(widget) == GTK_TEXT_DIR_RTL;
rwidth = label->misc.xpad * 2;
rheight = label->misc.ypad * 2;
@@ -1426,17 +1428,17 @@ gtk_label_ensure_layout (GtkLabel *label)
switch (label->jtype)
{
case GTK_JUSTIFY_LEFT:
- align = PANGO_ALIGN_LEFT;
+ align = rtl ? PANGO_ALIGN_RIGHT : PANGO_ALIGN_LEFT;
break;
case GTK_JUSTIFY_RIGHT:
- align = PANGO_ALIGN_RIGHT;
+ align = rtl ? PANGO_ALIGN_LEFT : PANGO_ALIGN_RIGHT;
break;
case GTK_JUSTIFY_CENTER:
align = PANGO_ALIGN_CENTER;
break;
case GTK_JUSTIFY_FILL:
/* FIXME: This just doesn't work to do this */
- align = PANGO_ALIGN_LEFT;
+ align = rtl ? PANGO_ALIGN_RIGHT : PANGO_ALIGN_LEFT;
pango_layout_set_justify (label->layout, TRUE);
break;
default: