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 () |
gboolean | ges_container_edit () |
GObject ╰── GInitiallyUnowned ╰── GESTimelineElement ╰── GESContainer ├── GESClip ╰── GESGroup
#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] |
gboolean ges_container_edit (GESContainer *container
,GList *layers
,gint new_layer_priority
,GESEditMode mode
,GESEdge edge
,guint64 position
);
Edit container
in the different exisiting GESEditMode modes. In the case of
slide, and roll, you need to specify a GESEdge
container |
the GESClip to edit |
|
layers |
The layers you want the edit to
happen in, |
[element-type GESLayer] |
new_layer_priority |
The priority of the layer |
|
mode |
The GESEditMode in which the editition will happen. |
|
edge |
The GESEdge the edit should happen on. |
|
position |
The position at which to edit |
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. |
||