ClutterContainer

ClutterContainer — An interface for implementing container actors

Synopsis




                    ClutterContainerIface;
void                clutter_container_add_actor         (ClutterContainer *container,
                                                         ClutterActor *actor);
void                clutter_container_add               (ClutterContainer *container,
                                                         ClutterActor *first_actor,
                                                         ...);
void                clutter_container_add_valist        (ClutterContainer *container,
                                                         ClutterActor *first_actor,
                                                         va_list var_args);
void                clutter_container_remove_actor      (ClutterContainer *container,
                                                         ClutterActor *actor);
void                clutter_container_remove            (ClutterContainer *container,
                                                         ClutterActor *first_actor,
                                                         ...);
void                clutter_container_remove_valist     (ClutterContainer *container,
                                                         ClutterActor *first_actor,
                                                         va_list var_args);
GList*              clutter_container_get_children      (ClutterContainer *container);
void                clutter_container_foreach           (ClutterContainer *container,
                                                         ClutterCallback callback,
                                                         gpointer user_data);


Description

ClutterContainer is an interface for writing actors containing other ClutterActors. It provides a standard API for adding, removing and iterating on every contained actor.

An actor implementing ClutterContainer is ClutterGroup.

ClutterContainer is available since Clutter 0.4

Details

ClutterContainerIface

typedef struct {
  void (* add)           (ClutterContainer *container,
                          ClutterActor     *actor);
  void (* remove)        (ClutterContainer *container,
                          ClutterActor     *actor);
  void (* foreach)       (ClutterContainer *container,
                          ClutterCallback   callback,
                          gpointer          user_data);
  
  /* signals */
  void (* actor_added)   (ClutterContainer *container,
                          ClutterActor     *actor);
  void (* actor_removed) (ClutterContainer *container,
                          ClutterActor     *actor);
} ClutterContainerIface;

Base interface for container actors.

add () virtual function for adding an actor to the container
remove () virtual function for removing an actor from the container
foreach () virtual function for iterating over the container's children
actor_added () signal class handler for ClutterContainer::actor_added
actor_removed () signal class handler for ClutterContainer::actor_removed

Since 0.4


clutter_container_add_actor ()

void                clutter_container_add_actor         (ClutterContainer *container,
                                                         ClutterActor *actor);

Adds a ClutterActor to container. This function will emit the "actor-added" signal is emitted. The actor should be parented to container. You cannot add a ClutterActor to more than one ClutterContainer.

container : a ClutterContainer
actor : the first ClutterActor to add

Since 0.4


clutter_container_add ()

void                clutter_container_add               (ClutterContainer *container,
                                                         ClutterActor *first_actor,
                                                         ...);

Adds a list of ClutterActors to container. Each time and actor is added, the "actor-added" signal is emitted. Each actor should be parented to container, which takes a reference on the actor. You cannot add a ClutterActor to more than one ClutterContainer.

container : a ClutterContainer
first_actor : the first ClutterActor to add
... : NULL terminated list of actors to add

Since 0.4


clutter_container_add_valist ()

void                clutter_container_add_valist        (ClutterContainer *container,
                                                         ClutterActor *first_actor,
                                                         va_list var_args);

Alternative va_list version of clutter_container_add().

container : a ClutterContainer
first_actor : the first ClutterActor to add
var_args : list of actors to add, followed by NULL

Since 0.4


clutter_container_remove_actor ()

void                clutter_container_remove_actor      (ClutterContainer *container,
                                                         ClutterActor *actor);

Removes actor from container. The actor should be unparented, so if you want to keep it around you must hold a reference to it yourself, using g_object_ref(). When the actor has been removed, the "actor-removed" signal is emitted by container.

container : a ClutterContainer
actor : a ClutterActor

Since 0.4


clutter_container_remove ()

void                clutter_container_remove            (ClutterContainer *container,
                                                         ClutterActor *first_actor,
                                                         ...);

Removes a NULL terminated list of ClutterActors from container. Each actor should be unparented, so if you want to keep it around you must hold a reference to it yourself, using g_object_ref(). Each time an actor is removed, the "actor-removed" signal is emitted by container.

container : a ClutterContainer
first_actor : first ClutterActor to remove
... : a NULL-terminated list of actors to remove

Since 0.4


clutter_container_remove_valist ()

void                clutter_container_remove_valist     (ClutterContainer *container,
                                                         ClutterActor *first_actor,
                                                         va_list var_args);

Alternative va_list version of clutter_container_remove().

container : a ClutterContainer
first_actor : the first ClutterActor to add
var_args : list of actors to remove, followed by NULL

Since 0.4


clutter_container_get_children ()

GList*              clutter_container_get_children      (ClutterContainer *container);

Retrieves all the children of container.

container : a ClutterContainer
Returns : a list of ClutterActors. Use g_list_free() on the returned list when done.

Since 0.4


clutter_container_foreach ()

void                clutter_container_foreach           (ClutterContainer *container,
                                                         ClutterCallback callback,
                                                         gpointer user_data);

Calls callback for each child of container.

container : a ClutterContainer
callback : a function to be called for each child
user_data : data to be passed to the function, or NULL

Since 0.4