summaryrefslogtreecommitdiff
path: root/gtk/gtkalignment.c
diff options
context:
space:
mode:
authorMatthias Clasen <maclas@gmx.de>2003-12-06 00:41:38 +0000
committerMatthias Clasen <matthiasc@src.gnome.org>2003-12-06 00:41:38 +0000
commit89f48d718978e197adfcdfc519c1073ca26724ab (patch)
tree66f66a2c86d93b808c8ccc8afc759c3eb433bd1e /gtk/gtkalignment.c
parent5795c83cb36394d6cec773f8881375e9b398386b (diff)
downloadgtk+-89f48d718978e197adfcdfc519c1073ca26724ab.tar.gz
Implement RTL flipping for GtkAlignment. (#127585)
Sat Dec 6 01:42:04 2003 Matthias Clasen <maclas@gmx.de> * gtk/gtkalignment.c (gtk_alignment_size_allocate): Implement RTL flipping for GtkAlignment. (#127585)
Diffstat (limited to 'gtk/gtkalignment.c')
-rw-r--r--gtk/gtkalignment.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/gtk/gtkalignment.c b/gtk/gtkalignment.c
index 2751895954..785fb32c6e 100644
--- a/gtk/gtkalignment.c
+++ b/gtk/gtkalignment.c
@@ -476,7 +476,7 @@ gtk_alignment_size_allocate (GtkWidget *widget,
gint border_width;
gint padding_horizontal, padding_vertical;
GtkAlignmentPrivate *priv;
-
+ gfloat xalign;
padding_horizontal = 0;
padding_vertical = 0;
@@ -512,7 +512,11 @@ gtk_alignment_size_allocate (GtkWidget *widget,
else
child_allocation.height = height;
- child_allocation.x = alignment->xalign * (width - child_allocation.width) + allocation->x + border_width + priv->padding_left;
+ xalign = alignment->xalign;
+ if (gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL)
+ xalign = 1.0 - xalign;
+
+ child_allocation.x = xalign * (width - child_allocation.width) + allocation->x + border_width + priv->padding_left;
child_allocation.y = alignment->yalign * (height - child_allocation.height) + allocation->y + border_width + priv->padding_top;
gtk_widget_size_allocate (bin->child, &child_allocation);