ClutterContainer

ClutterContainer — An interface for implementing container actors

Synopsis




                    ClutterContainer;
                    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);


Object Hierarchy


  GInterface
   +----ClutterContainer

Prerequisites

ClutterContainer requires ClutterActor.

Known Implementations

ClutterContainer is implemented by ClutterStage, ClutterGroup, ClutterBox, ClutterHBox and ClutterVBox.

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

ClutterContainer

typedef struct _ClutterContainer ClutterContainer;


ClutterContainerIface

typedef struct {
  GTypeInterface g_iface;

  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;


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