#ifndef _MLTPP_GEOMETRY_H
#define _MLTPP_GEOMETRY_H
+#include "config.h"
+
#include <framework/mlt.h>
namespace Mlt
{
// Just for consistent naming purposes
- class GeometryItem
+ class MLTPP_DECLSPEC GeometryItem
{
private:
struct mlt_geometry_item_s item;
public:
mlt_geometry_item get_item( ) { return &item; }
- bool key( ) { return item.key; }
+ bool key( ) { return item.key != 0; }
int frame( ) { return item.frame; }
void frame( int value ) { item.frame = value; }
float x( ) { return item.x; }
void mix( float value ) { item.f[4] = 1; item.mix = value; }
};
- class Geometry
+ class MLTPP_DECLSPEC Geometry
{
private:
mlt_geometry geometry;
// Remove the key at the specified position
int remove( int position );
// Get the key at the position or the next following
- int key( GeometryItem &item, int position );
- int key( GeometryItem *item, int position );
+ int next_key( GeometryItem &item, int position );
+ int next_key( GeometryItem *item, int position );
+ int prev_key( GeometryItem &item, int position );
+ int prev_key( GeometryItem *item, int position );
// Serialise the current geometry
char *serialise( int in, int out );
char *serialise( );