+// swffilter.c
+
+#define FILTERTYPE_DROPSHADOW 0
+#define FILTERTYPE_BLUR 1
+#define FILTERTYPE_GLOW 2
+#define FILTERTYPE_BEVEL 3
+#define FILTERTYPE_GRADIENTGLOW 4
+#define FILTERTYPE_CONVOLUTION 5
+#define FILTERTYPE_COLORMATRIX 6
+#define FILTERTYPE_GRADIENTBEVEL 7
+
+extern char*filtername[];
+
+typedef struct _FILTER_GRADIENTGLOW {
+ U8 type;
+ GRADIENT*gradient;
+ double blurx;
+ double blury;
+ double angle;
+ double distance;
+ float strength;
+ char innershadow;
+ char knockout;
+ char composite;
+ char ontop;
+ int passes;
+} FILTER_GRADIENTGLOW;
+
+typedef struct _FILTER_DROPSHADOW {
+ U8 type;
+ RGBA color;
+ double blurx;
+ double blury;
+ double angle;
+ double distance;
+ float strength;
+ char innershadow;
+ char knockout;
+ char composite;
+ int passes;
+} FILTER_DROPSHADOW;
+
+typedef struct _FILTER_BEVEL {
+ U8 type;
+ RGBA shadow;
+ RGBA highlight;
+ double blurx;
+ double blury;
+ double angle;
+ double distance;
+ float strength;
+ char innershadow;
+ char knockout;
+ char composite;
+ char ontop;
+ int passes;
+} FILTER_BEVEL;
+
+typedef struct _FILTER_BLUR {
+ U8 type;
+ double blurx;
+ double blury;
+ int passes;
+} FILTER_BLUR;
+
+void swf_SetFilter(TAG*tag, FILTER*f);
+FILTER*swf_GetFilter(TAG*tag);
+FILTER*swf_NewFilter(U8 type);
+