[][src]Trait gstreamer_editing_services::GESContainerExt

pub trait GESContainerExt: 'static {
    fn add<P: IsA<TimelineElement>>(&self, child: &P) -> Result<(), BoolError>;
fn edit(
        &self,
        layers: &[Layer],
        new_layer_priority: i32,
        mode: EditMode,
        edge: Edge,
        position: u64
    ) -> Result<(), BoolError>;
fn get_children(&self, recursive: bool) -> Vec<TimelineElement>;
fn remove<P: IsA<TimelineElement>>(
        &self,
        child: &P
    ) -> Result<(), BoolError>;
fn ungroup(&self, recursive: bool) -> Vec<Container>;
fn get_property_height(&self) -> u32;
fn connect_child_added<F: Fn(&Self, &TimelineElement) + 'static>(
        &self,
        f: F
    ) -> SignalHandlerId;
fn connect_child_removed<F: Fn(&Self, &TimelineElement) + 'static>(
        &self,
        f: F
    ) -> SignalHandlerId;
fn connect_property_height_notify<F: Fn(&Self) + 'static>(
        &self,
        f: F
    ) -> SignalHandlerId; }

Trait containing all Container methods.

Implementors

Clip, Container, Group

Required methods

fn add<P: IsA<TimelineElement>>(&self, child: &P) -> Result<(), BoolError>

Add the TimelineElement to the container.

child

the TimelineElement

Returns

true on success, false on failure.

fn edit(
    &self,
    layers: &[Layer],
    new_layer_priority: i32,
    mode: EditMode,
    edge: Edge,
    position: u64
) -> Result<(), BoolError>

Edit self in the different exisiting EditMode modes. In the case of slide, and roll, you need to specify a Edge

layers

The layers you want the edit to happen in, None means that the edition is done in all the GESLayers contained in the current timeline.

new_layer_priority

The priority of the layer self should land in. If the layer you're trying to move the container to doesn't exist, it will be created automatically. -1 means no move.

mode

The EditMode in which the editition will happen.

edge

The Edge the edit should happen on.

position

The position at which to edit self (in nanosecond)

Returns

true if the container as been edited properly, false if an error occured

fn get_children(&self, recursive: bool) -> Vec<TimelineElement>

Get the list of TimelineElement contained in self The user is responsible for unreffing the contained objects and freeing the list.

recursive

Whether to recursively get children in self

Returns

The list of timeline element contained in self.

fn remove<P: IsA<TimelineElement>>(&self, child: &P) -> Result<(), BoolError>

Release the child from the control of self.

child

the TimelineElement to release

Returns

true if the child was properly released, else false.

fn ungroup(&self, recursive: bool) -> Vec<Container>

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

recursive

Wether to recursively ungroup self

Returns

The list of Container resulting from the ungrouping operation The user is responsible for unreffing the contained objects and freeing the list.

fn get_property_height(&self) -> u32

The span of priorities which this container occupies.

fn connect_child_added<F: Fn(&Self, &TimelineElement) + 'static>(
    &self,
    f: F
) -> SignalHandlerId

Will be emitted after a child was added to container. Usually you should connect with g_signal_connect_after as in the first emission stage, the signal emission might get stopped internally.

element

the TimelineElement that was added.

fn connect_child_removed<F: Fn(&Self, &TimelineElement) + 'static>(
    &self,
    f: F
) -> SignalHandlerId

Will be emitted after a child was removed from container.

element

the TimelineElement that was removed.

fn connect_property_height_notify<F: Fn(&Self) + 'static>(
    &self,
    f: F
) -> SignalHandlerId

Loading content...

Implementors

impl<O: IsA<Container>> GESContainerExt for O[src]

Loading content...