MLT 6.26.0
mlt_geometry.h
Go to the documentation of this file.
1
23#ifndef MLT_GEOMETRY_H
24#define MLT_GEOMETRY_H
25
26#include "mlt_types.h"
27
33{
34 /* Will be 1 when this is a key frame */
35 int key;
36 /* The actual frame this corresponds to */
37 int frame;
38 /* Distort */
40 /* x,y are upper left */
41 float x, y, w, h, mix;
42 /* Indicates which values are fixed */
43 int f[ 5 ];
44};
45
51{
52 void *local;
53};
54
55/* Create a new geometry structure */
57/* Parse the geometry specification for a given length and normalised width/height (-1 for default) */
58extern int mlt_geometry_parse( mlt_geometry self, char *data, int length, int nw, int nh );
59/* Conditionally refresh the geometry if it's modified */
60extern int mlt_geometry_refresh( mlt_geometry self, char *data, int length, int nw, int nh );
61/* Get and set the length */
62extern int mlt_geometry_get_length( mlt_geometry self );
63extern void mlt_geometry_set_length( mlt_geometry self, int length );
64/* Parse an item - doesn't affect the geometry itself but uses current information for evaluation */
65/* (item->frame should be specified if not included in the data itself) */
66extern int mlt_geometry_parse_item( mlt_geometry self, mlt_geometry_item item, char *data );
67/* Fetch a geometry item for an absolute position */
68extern int mlt_geometry_fetch( mlt_geometry self, mlt_geometry_item item, float position );
69/* Specify a geometry item at an absolute position */
71/* Remove the key at the specified position */
72extern int mlt_geometry_remove( mlt_geometry self, int position );
73/* Typically, re-interpolate after a series of insertions or removals. */
74extern void mlt_geometry_interpolate( mlt_geometry self );
75/* Get the key at the position or the next following */
76extern int mlt_geometry_next_key( mlt_geometry self, mlt_geometry_item item, int position );
77extern int mlt_geometry_prev_key( mlt_geometry self, mlt_geometry_item item, int position );
78/* Serialise the current geometry */
79extern char *mlt_geometry_serialise_cut( mlt_geometry self, int in, int out );
80extern char *mlt_geometry_serialise( mlt_geometry self );
81/* Close the geometry */
82extern void mlt_geometry_close( mlt_geometry self );
83
84#endif
85
mlt_geometry mlt_geometry_init()
Definition mlt_geometry.c:58
int mlt_geometry_insert(mlt_geometry self, mlt_geometry_item item)
Definition mlt_geometry.c:465
void mlt_geometry_set_length(mlt_geometry self, int length)
Definition mlt_geometry.c:291
int mlt_geometry_parse(mlt_geometry self, char *data, int length, int nw, int nh)
Definition mlt_geometry.c:214
void mlt_geometry_close(mlt_geometry self)
Definition mlt_geometry.c:704
int mlt_geometry_remove(mlt_geometry self, int position)
Definition mlt_geometry.c:527
char * mlt_geometry_serialise_cut(mlt_geometry self, int in, int out)
Definition mlt_geometry.c:582
int mlt_geometry_next_key(mlt_geometry self, mlt_geometry_item item, int position)
Definition mlt_geometry.c:547
int mlt_geometry_parse_item(mlt_geometry self, mlt_geometry_item item, char *data)
Definition mlt_geometry.c:300
char * mlt_geometry_serialise(mlt_geometry self)
Definition mlt_geometry.c:691
void mlt_geometry_interpolate(mlt_geometry self)
Definition mlt_geometry.c:88
int mlt_geometry_get_length(mlt_geometry self)
Definition mlt_geometry.c:282
int mlt_geometry_fetch(mlt_geometry self, mlt_geometry_item item, float position)
Definition mlt_geometry.c:401
int mlt_geometry_refresh(mlt_geometry self, char *data, int length, int nw, int nh)
Definition mlt_geometry.c:270
int mlt_geometry_prev_key(mlt_geometry self, mlt_geometry_item item, int position)
Definition mlt_geometry.c:565
Provides forward definitions of all public types.
geometry animation item (deprecated)
Definition mlt_geometry.h:33
int distort
Definition mlt_geometry.h:39
float mix
Definition mlt_geometry.h:41
int f[5]
Definition mlt_geometry.h:43
float x
Definition mlt_geometry.h:41
float w
Definition mlt_geometry.h:41
float y
Definition mlt_geometry.h:41
int frame
Definition mlt_geometry.h:37
int key
Definition mlt_geometry.h:35
float h
Definition mlt_geometry.h:41
geometry object (deprecated)
Definition mlt_geometry.h:51
void * local
Definition mlt_geometry.h:52