![]() |
![]() |
![]() |
GStreamer Editing Services 1.2.1 Reference Manual | ![]() |
---|---|---|---|---|
Top | Description | Object Hierarchy | Implemented Interfaces |
GESContainerGESContainer — Base Class for objects responsible for controlling other GESTimelineElement-s |
#include <ges/ges.h> GESContainer; GESContainerClass; #define GES_CONTAINER_CHILDREN (obj) #define GES_CONTAINER_HEIGHT (obj) GList * ges_container_get_children (GESContainer *container
,gboolean recursive
); gboolean ges_container_add (GESContainer *container
,GESTimelineElement *child
); gboolean ges_container_remove (GESContainer *container
,GESTimelineElement *child
); GList * ges_container_ungroup (GESContainer *container
,gboolean recursive
); GESContainer * ges_container_group (GList *containers
);
GObject +----GInitiallyUnowned +----GESTimelineElement +----GESContainer +----GESClip
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. | |
#define GES_CONTAINER_CHILDREN(obj) (((GESContainer*)obj)->children)
A GList containing the children of object
|
a GESContainer |
#define GES_CONTAINER_HEIGHT(obj) (((GESContainer*)obj)->height)
The span of priorities this object occupies.
|
a GESContainer |
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.
|
a GESContainer |
|
Whether to recursively get children in container
|
Returns : |
The list of
timeline element contained in container . [transfer full][element-type GESTimelineElement]
|
gboolean ges_container_add (GESContainer *container
,GESTimelineElement *child
);
Add the GESTimelineElement to the container.
|
a GESContainer |
|
the GESTimelineElement |
Returns : |
TRUE on success, FALSE on failure. |
gboolean ges_container_remove (GESContainer *container
,GESTimelineElement *child
);
Release the child
from the control of container
.
|
a GESContainer |
|
the GESTimelineElement to release |
Returns : |
TRUE if the child was properly released, else FALSE . |
GList * ges_container_ungroup (GESContainer *container
,gboolean recursive
);
Ungroups the GESTimelineElement contained in this GESContainer, creating new GESContainer containing those GESTimelineElement apropriately.
|
The GESContainer to ungroup. [transfer full] |
|
Wether to recursively ungroup container
|
Returns : |
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
|
The GESContainer to group, they must all be in a same GESTimeline. [transfer none][element-type GESContainer][allow-none] |
Returns : |
The GESContainer (subclass) resulting of the grouping. [transfer none] |