| Top |
GESContainerGESContainer — Base Class for objects responsible for controlling other GESTimelineElement-s |
| #define | GES_CONTAINER_CHILDREN() |
| #define | GES_CONTAINER_HEIGHT() |
| GList * | ges_container_get_children () |
| gboolean | ges_container_add () |
| gboolean | ges_container_remove () |
| GList * | ges_container_ungroup () |
| GESContainer * | ges_container_group () |
#define GES_CONTAINER_CHILDREN(obj) (((GESContainer*)obj)->children)
A GList containing the children of object
#define GES_CONTAINER_HEIGHT(obj) (((GESContainer*)obj)->height)
The span of priorities this object occupies.
GList * ges_container_get_children (GESContainer *container,gboolean recursive);
Get the list of GESTimelineElement contained in container
The user is responsible for unreffing the contained objects
and freeing the list.
gboolean ges_container_add (GESContainer *container,GESTimelineElement *child);
Add the GESTimelineElement to the container.
gboolean ges_container_remove (GESContainer *container,GESTimelineElement *child);
Release the child
from the control of container
.
GList * ges_container_ungroup (GESContainer *container,gboolean recursive);
Ungroups the GESTimelineElement contained in this GESContainer, creating new GESContainer containing those GESTimelineElement apropriately.
container |
The GESContainer to ungroup. |
[transfer full] |
recursive |
Wether to recursively ungroup |
The list of GESContainer resulting from the ungrouping operation The user is responsible for unreffing the contained objects and freeing the list.
[transfer full][element-type GESContainer]
GESContainer *
ges_container_group (GList *containers);
Groups the GESContainer-s provided in containers
. It creates a subclass
of GESContainer, depending on the containers provided in containers
.
Basically, if all the containers in containers
should be contained in a same
clip (all the GESTrackElement they contain have the exact same
start/inpoint/duration and are in the same layer), it will create a GESClip
otherwise a GESGroup will be created
containers |
The GESContainer to group, they must all be in a same GESTimeline. |
[transfer none][element-type GESContainer][allow-none] |
typedef struct {
/*< readonly >*/
GList *children;
/* We don't add those properties to the priv struct for optimization and code
* readability purposes */
guint32 height; /* the span of priorities this object needs */
} GESContainer;
The GESContainer base class.
typedef struct {
/* signals */
void (*child_added) (GESContainer *container, GESTimelineElement *element);
void (*child_removed) (GESContainer *container, GESTimelineElement *element);
gboolean (*add_child) (GESContainer *container, GESTimelineElement *element);
gboolean (*remove_child) (GESContainer *container, GESTimelineElement *element);
GList* (*ungroup) (GESContainer *container, gboolean recursive);
GESContainer * (*group) (GList *containers);
gboolean (*edit) (GESContainer * container,
GList * layers, gint new_layer_priority,
GESEditMode mode,
GESEdge edge,
guint64 position);
} GESContainerClass;
Virtual method that is called right after a GESTimelineElement is added |
||
Virtual method that is called right after a GESTimelineElement is removed |
||
Virtual method to add a child |
||
Virtual method to remove a child |
||
Ungroups the GESTimelineElement contained in this GESContainer, creating new |
||
Groups the GESContainers together GESContainer containing those GESTimelineElement apropriately. |
||