// swfdraw.c
+void swf_Shape10DrawerInit(drawer_t*draw, TAG*tag);
void swf_Shape01DrawerInit(drawer_t*draw, TAG*tag);
void swf_Shape11DrawerInit(drawer_t*draw, TAG*tag);
SHAPE* swf_ShapeDrawerToShape(drawer_t*draw);
void swf_FontCreateLayout(SWFFONT*f);
void swf_FontAddLayout(SWFFONT * f, int ascent, int descent, int leading);
-int swf_FontExtract_DefineTextCallback(int id,SWFFONT * f,TAG * t,int jobs,
- void(*callback)(int*chars, int nr, int id));
+int swf_ParseDefineText(TAG * t, void(*callback)(void*self, int*chars, int*xpos, int nr, int fontid, int fontsize, int xstart, int ystart, RGBA* color), void*self);
void swf_WriteFont(SWFFONT* font, char* filename);
SWFFONT* swf_ReadFont(char* filename);
// Button Conditions
+/* missing: IDLE_OUTDOWN
+ OUTDOWN_OVERUP
+ OVERUP_OUTDOWN
+*/
#define BC_OVERDOWN_IDLE 0x0100
#define BC_IDLE_OVERDOWN 0x0080
#define BC_OUTDOWN_IDLE 0x0040
void swf_Relocate(SWF*swf, char*bitmap); // bitmap is 65536 bytes, bitmap[a]==0 means id a is free
void swf_RelocateDepth(SWF*swf, char*bitmap); // bitmap is 65536 bytes, bitmap[d]==0 means depth d is free
+TAG* swf_Concatenate (TAG*list1,TAG*list2); // warning: both list1 and list2 are invalid after this call.
+
// swfcgi.c
void swf_uncgi(); // same behaviour as Steven Grimm's uncgi-library