X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=src%2Fswfc-history.h;h=55c212e99d9169b9d7938c1137d1ecbd795b9c38;hb=d8071bf754f070a660ac49108bd35d1900301066;hp=5ced477d53876e31b6b985c7038bd2c7a8bd3123;hpb=3ef17c4cee41231e1eed731c08381d3ddf0c8d1a;p=swftools.git diff --git a/src/swfc-history.h b/src/swfc-history.h index 5ced477..55c212e 100644 --- a/src/swfc-history.h +++ b/src/swfc-history.h @@ -22,11 +22,11 @@ #ifndef __HISTORY_H #define __HISTORY_Y -#include "types.h" -#include "rfxswf.h" -#include "q.h" -#include "feedback.h" -#include "interpolation.h" +#include "../lib/types.h" +#include "../lib/rfxswf.h" +#include "../lib/q.h" +#include "swfc-feedback.h" +#include "swfc-interpolation.h" enum { @@ -49,9 +49,20 @@ enum #define SF_SHEAR 0x0200 #define SF_PIVOT 0x0400 #define SF_PIN 0x0800 -#define SF_BLEND 0x01000 -#define SF_FILTER 0x02000 +#define SF_BLEND 0x1000 +#define SF_FILTER 0x2000 +#define SF_ALL 0x3fff +FILTER* noFilters; +FILTER_BLUR* noBlur; +FILTER_BEVEL* noBevel; +FILTER_DROPSHADOW* noDropshadow; +FILTER_GRADIENTGLOW* noGradientGlow; + +typedef struct _spline +{ + float a, b, c, d; +} spline_t; typedef struct _change { @@ -59,6 +70,7 @@ typedef struct _change float value; int function; interpolation_t* interpolation; + spline_t spline; struct _change* next; } change_t; @@ -71,17 +83,18 @@ float change_value(change_t* first, U16 frame); typedef struct _changeFilter { U16 frame; - FILTER* value; + FILTERLIST* value; int function; interpolation_t* interpolation; struct _changeFilter* next; + spline_t spline; } changeFilter_t; -changeFilter_t* changeFilter_new(U16 frame, int function, FILTER* value, interpolation_t* inter); +changeFilter_t* changeFilter_new(U16 frame, int function, FILTERLIST* value, interpolation_t* inter); void changeFilter_free(changeFilter_t* change); void changeFilter_init(changeFilter_t* change); void changeFilter_append(changeFilter_t* first, changeFilter_t* newChange); -FILTER* changeFilter_value(changeFilter_t* first, U16 frame); +FILTERLIST* changeFilter_value(changeFilter_t* first, U16 frame); typedef struct _history { @@ -94,10 +107,12 @@ history_t* history_new(); void history_free(history_t* past); void history_init(history_t* past); void history_begin(history_t* past, char* parameter, U16 frame, TAG* tag, float value); -void history_beginFilter(history_t* past, U16 frame, TAG* tag, FILTER* value); +void history_beginFilter(history_t* past, U16 frame, TAG* tag, FILTERLIST* value); void history_remember(history_t* past, char* parameter, U16 frame, int function, float value, interpolation_t* inter); -void history_rememberFilter(history_t* past, U16 frame, int function, FILTER* value, interpolation_t* inter); +void history_rememberFilter(history_t* past, U16 frame, int function, FILTERLIST* value, interpolation_t* inter); +int history_change(history_t* past, U16 frame, char* parameter); float history_value(history_t* past, U16 frame, char* parameter); -FILTER* history_valueFilter(history_t* past, U16 frame); +int history_changeFilter(history_t* past, U16 frame); +FILTERLIST* history_valueFilter(history_t* past, U16 frame); #endif