diff options
author | Matthias Clasen <mclasen@redhat.com> | 2016-01-18 00:03:39 -0500 |
---|---|---|
committer | Matthias Clasen <mclasen@redhat.com> | 2016-01-18 00:03:39 -0500 |
commit | 5265db5dd616f654d1c17b395f97818b2b531000 (patch) | |
tree | 0a1a21fa0bac024bf7827ee9c0c554b4b6762c76 /gtk/gtkboxgadget.c | |
parent | f6757e0c0cb59ee4bb9f8ea0f022cc232e54bc74 (diff) | |
download | gtk+-5265db5dd616f654d1c17b395f97818b2b531000.tar.gz |
box gadget: Add a function to reverse children
This can be used to handle text direction changes.
Diffstat (limited to 'gtk/gtkboxgadget.c')
-rw-r--r-- | gtk/gtkboxgadget.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/gtk/gtkboxgadget.c b/gtk/gtkboxgadget.c index f62b0d7897..82c8632e00 100644 --- a/gtk/gtkboxgadget.c +++ b/gtk/gtkboxgadget.c @@ -651,3 +651,23 @@ gtk_box_gadget_remove_gadget (GtkBoxGadget *gadget, { gtk_box_gadget_remove_object (gadget, G_OBJECT (cssgadget)); } + +void +gtk_box_gadget_reverse_children (GtkBoxGadget *gadget) +{ + GtkBoxGadgetPrivate *priv = gtk_box_gadget_get_instance_private (GTK_BOX_GADGET (gadget)); + int i, j; + + gtk_css_node_reverse_children (gtk_css_gadget_get_node (GTK_CSS_GADGET (gadget))); + + for (i = 0, j = priv->children->len - 1; i < j; i++, j--) + { + GtkBoxGadgetChild *child1 = &g_array_index (priv->children, GtkBoxGadgetChild, i); + GtkBoxGadgetChild *child2 = &g_array_index (priv->children, GtkBoxGadgetChild, j); + GtkBoxGadgetChild tmp; + + tmp = *child1; + *child1 = *child2; + *child2 = tmp; + } +} |