#ifndef __RFX_SWF_INCLUDED__
#define __RFX_SWF_INCLUDED__
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int swf_SetU16(TAG * t,U16 v);
void swf_SetS16(TAG * t,int v);
int swf_SetU32(TAG * t,U32 v);
-#define swf_SetString(t,s) swf_SetBlock(t,s,strlen(s)+1)
+#define swf_SetString(t,s) swf_SetBlock(t,s,strlen((const char *)s)+1)
//int swf_GetPoint(TAG * t,SPOINT * p); // resets Bitcount
int swf_GetRect(TAG * t,SRECT * r);
#define ST_DEFINEFONTALIGNZONES 73 /* version 8 */
#define ST_CSMTEXTSETTINGS 74 /* version 8 */
#define ST_DEFINEFONT3 75 /* version 8 */
+#define ST_SYMBOLCLASS 76 /* version 9 */
#define ST_METADATA 77 /* version 8 */
#define ST_DEFINESCALINGGRID 78 /* version 8 */
+#define ST_DOABC 82 /* version 9 */
#define ST_DEFINESHAPE4 83 /* version 8 */
#define ST_DEFINEMORPHSHAPE2 84 /* version 8 */
#define ST_SCENEDESCRIPTION 86 /* version 9 */
+#define ST_DEFINEBINARY 87 /* version 9 */
+#define ST_DEFINEFONTNAME 88 /* version 9 */
/* custom tags- only valid for swftools */
#define ST_REFLEX 777 /* to identify generator software */
SRECT* bbox; // may be NULL
} SHAPE2;
+enum SHAPELINETYPE {moveTo, lineTo, splineTo};
typedef struct _SHAPELINE
{
- enum {moveTo, lineTo, splineTo} type;
+ enum SHAPELINETYPE type;
SCOORD x,y;
SCOORD sx,sy; //only if type==splineTo
int fillstyle0;
int swf_FontExtract(SWF * swf,int id,SWFFONT ** f);
// Fetches all available information from DefineFont, DefineFontInfo, DefineText, ...
// id = FontID, id=0 -> Extract first Font
+int swf_FontExtract_DefineFont2(int id, SWFFONT * font, TAG * tag);
+int swf_FontExtract_DefineFontInfo(int id, SWFFONT * f, TAG * t);
+int swf_FontExtract_DefineFont(int id, SWFFONT * f, TAG * t);
+int swf_FontExtract_GlyphNames(int id, SWFFONT * f, TAG * tag);
int swf_FontIsItalic(SWFFONT * f);
int swf_FontIsBold(SWFFONT * f);
ActionTAG* action_BitRShift(ActionTAG*atag);
ActionTAG* action_BitURShift(ActionTAG*atag);
ActionTAG* action_GotoFrame(ActionTAG*atag, U16 frame);
-ActionTAG* action_GetUrl(ActionTAG*atag, char* url, char* label);
+ActionTAG* action_GetUrl(ActionTAG*atag, const char* url, char* label);
ActionTAG* action_StoreRegister(ActionTAG*atag, U8 reg);
ActionTAG* action_Constantpool(ActionTAG*atag, char* constantpool);
ActionTAG* action_WaitForFrame(ActionTAG*atag, U16 frame, U8 skip);
RGBA* swf_Render(RENDERBUF*dest);
void swf_RenderShape(RENDERBUF*dest, SHAPE2*shape, MATRIX*m, CXFORM*c, U16 depth,U16 clipdepth);
void swf_RenderSWF(RENDERBUF*buf, SWF*swf);
-void swf_Render_AddImage(RENDERBUF*buf, U16 id, RGBA*img, int width, int height);
+void swf_Render_AddImage(RENDERBUF*buf, U16 id, RGBA*img, int width, int height); /* img is non-premultiplied */
void swf_Render_ClearCanvas(RENDERBUF*dest);
void swf_Render_Delete(RENDERBUF*dest);
FILTER*swf_GetFilter(TAG*tag);
FILTER*swf_NewFilter(U8 type);
-#ifdef __cplusplus
-}
-#endif
+void AVM2_InsertStops(SWF*swf);
#endif
-