GESContainer

GESContainer — Base Class for objects responsible for controlling other GESTimelineElement-s

Functions

Types and Values

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GESTimelineElement
            ╰── GESContainer
                ╰── GESClip

Implemented Interfaces

GESContainer implements GESExtractable and GESMetaContainer.

Includes

#include <ges/ges.h>

Description

Functions

GES_CONTAINER_CHILDREN()

#define GES_CONTAINER_CHILDREN(obj) (((GESContainer*)obj)->children)

A GList containing the children of object

Parameters

obj

a GESContainer

 

GES_CONTAINER_HEIGHT()

#define GES_CONTAINER_HEIGHT(obj) (((GESContainer*)obj)->height)

The span of priorities this object occupies.

Parameters

obj

a GESContainer

 

ges_container_get_children ()

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.

Parameters

container

a GESContainer

 

recursive

Whether to recursively get children in container

 

Returns

The list of timeline element contained in container .

[transfer full][element-type GESTimelineElement]


ges_container_add ()

gboolean
ges_container_add (GESContainer *container,
                   GESTimelineElement *child);

Add the GESTimelineElement to the container.

Parameters

container

a GESContainer

 

child

the GESTimelineElement

 

Returns

TRUE on success, FALSE on failure.


ges_container_remove ()

gboolean
ges_container_remove (GESContainer *container,
                      GESTimelineElement *child);

Release the child from the control of container .

Parameters

container

a GESContainer

 

child

the GESTimelineElement to release

 

Returns

TRUE if the child was properly released, else FALSE.


ges_container_ungroup ()

GList *
ges_container_ungroup (GESContainer *container,
                       gboolean recursive);

Ungroups the GESTimelineElement contained in this GESContainer, creating new GESContainer containing those GESTimelineElement apropriately.

Parameters

container

The GESContainer to ungroup.

[transfer full]

recursive

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]


ges_container_group ()

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

Parameters

containers

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]

Types and Values

GESContainer

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.

Members

GList *children;

A list of TimelineElement controlled by this Container. NOTE: Do not modify.

[element-type GES.TimelineElement]

guint32 height;

The span of priorities this container occupies

 

GESContainerClass

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;

Members

child_added ()

Virtual method that is called right after a GESTimelineElement is added

 

child_removed ()

Virtual method that is called right after a GESTimelineElement is removed

 

add_child ()

Virtual method to add a child

 

remove_child ()

Virtual method to remove a child

 

ungroup ()

Ungroups the GESTimelineElement contained in this GESContainer, creating new

 

group ()

Groups the GESContainers together GESContainer containing those GESTimelineElement apropriately.

 

edit ()