BigBox: Implement foreach_with_internals()

We need a foreach_with_internals() function that includes the
background_texture/background_rectangle actors, so that states
will properly be updated on map/unmap/etc.

http://bugzilla.gnome.org/show_bug.cgi?id=585007
This commit is contained in:
Owen W. Taylor 2009-06-06 12:42:50 -04:00
parent 9c859caf30
commit 8a7acaab84

View File

@ -290,6 +290,23 @@ big_box_real_foreach (ClutterContainer *container,
} }
} }
static void
big_box_real_foreach_with_internals (ClutterContainer *container,
ClutterCallback callback,
gpointer user_data)
{
BigBox *group = BIG_BOX (container);
BigBoxPrivate *priv = group->priv;
big_box_real_foreach (container, callback, user_data);
if (priv->background_texture)
(* callback) (priv->background_texture, user_data);
if (priv->background_rectangle)
(* callback) (priv->background_rectangle, user_data);
}
static void static void
big_box_real_raise (ClutterContainer *container, big_box_real_raise (ClutterContainer *container,
ClutterActor *child, ClutterActor *child,
@ -439,6 +456,7 @@ clutter_container_iface_init (ClutterContainerIface *iface)
iface->add = big_box_real_add; iface->add = big_box_real_add;
iface->remove = big_box_real_remove; iface->remove = big_box_real_remove;
iface->foreach = big_box_real_foreach; iface->foreach = big_box_real_foreach;
iface->foreach_with_internals = big_box_real_foreach_with_internals;
iface->raise = big_box_real_raise; iface->raise = big_box_real_raise;
iface->lower = big_box_real_lower; iface->lower = big_box_real_lower;
iface->sort_depth_order = big_box_real_sort_depth_order; iface->sort_depth_order = big_box_real_sort_depth_order;