-/*
- * mlt_geometry.c -- provides the geometry API
+/**
+ * \file mlt_geometry.c
+ * \brief geometry animation API (deprecated)
+ * \deprecated use mlt_animation_s instead
+ *
* Copyright (C) 2004-2005 Ushodaya Enterprises Limited
- * Author: Charles Yates <charles.yates@pandora.be>
+ * \author Charles Yates <charles.yates@pandora.be>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
#include <stdlib.h>
#include <string.h>
+/** private part of geometry animation item (deprecated)
+ * \deprecated use mlt_animation_s instead
+ */
+
typedef struct geometry_item_s
{
struct mlt_geometry_item_s data;
}
*geometry_item;
+/** private part of geometry object (deprecated)
+ * \deprecated use mlt_animation_s instead
+ */
+
typedef struct
{
char *data;
return place == NULL;
}
-#define ISINT(x) ( (x) == (int64_t) (x) )
-#define PICKFMT(x) ( ISINT(x) ? "%.0f" : "%f" )
-
char *mlt_geometry_serialise_cut( mlt_geometry self, int in, int out )
{
geometry g = self->local;
sprintf( temp, "%d=", item.frame - in );
if ( item.f[0] )
- sprintf( temp + strlen( temp ), PICKFMT( item.x ), item.x );
+ sprintf( temp + strlen( temp ), "%g", item.x );
if ( item.f[1] ) {
strcat( temp, "/" );
- sprintf( temp + strlen( temp ), PICKFMT( item.y ), item.y );
+ sprintf( temp + strlen( temp ), "%g", item.y );
}
if ( item.f[2] ) {
strcat( temp, ":" );
- sprintf( temp + strlen( temp ), PICKFMT( item.w ), item.w );
+ sprintf( temp + strlen( temp ), "%g", item.w );
}
if ( item.f[3] ) {
strcat( temp, "x" );
- sprintf( temp + strlen( temp ), PICKFMT( item.h ), item.h );
+ sprintf( temp + strlen( temp ), "%g", item.h );
}
if ( item.f[4] ) {
strcat( temp, ":" );
- sprintf( temp + strlen( temp ), PICKFMT( item.mix ), item.mix );
+ sprintf( temp + strlen( temp ), "%g", item.mix );
}
if ( used + strlen( temp ) + 2 > size ) // +2 for ';' and NULL
free( g->data );
g->data = ret;
}
- return ret;
+ return strdup( ret );
}
// Close the geometry