📄 script.h
字号:
#ifndef _SCRIPT_H_
#define _SCRIPT_H_
// SWF file parser.
//
//////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////
// Input script object definition.
//////////////////////////////////////////////////////////////////////
// An input script object. This object represents a script created from
// an external file that is meant to be inserted into an output script.
struct CInputScript : public Dict
{
int level;
struct CInputScript *next;
Program *program; // Current parsed program
// Memory fences
int outOfMemory;
//Flash info
long frameRate;
long frameCount;
Rect frameRect;
// Pointer to file contents buffer.
U8 *m_fileBuf;
// File state information.
U32 m_filePos;
U32 m_fileSize;
U32 m_actualSize;
U32 m_fileStart;
U16 m_fileVersion;
int needHeader;
// Bit Handling
S32 m_bitPos;
U32 m_bitBuf;
// Tag parsing information.
U32 m_tagStart;
U32 m_tagEnd;
U32 m_tagLen;
// Parsing information.
S32 m_nFillBits;
S32 m_nLineBits;
S32 m_nGlyphBits;
S32 m_nAdvanceBits;
// Set to true if we wish to dump all contents long form
U32 m_dumpAll;
// if set to true will dump image guts (i.e. jpeg, zlib, etc. data)
U32 m_dumpGuts;
// Handle to output file.
FILE *m_outputFile;
// Constructor/destructor.
CInputScript(int level = 0);
~CInputScript();
// Tag scanning methods.
U16 GetTag(void);
U8 GetByte(void);
U16 GetWord(void);
U32 GetDWord(void);
void GetRect(Rect *r);
void GetMatrix(Matrix *matrix);
void GetCxform(Cxform *cxform, BOOL hasAlpha);
char *GetString(void);
// Routines for reading arbitrary sized bit fields from the stream.
// Always call start bits before gettings bits and do not intermix
// these calls with GetByte, etc...
void InitBits();
S32 GetSBits(S32 n);
U32 GetBits(S32 n);
// Tag subcomponent parsing methods
void ParseFillStyle(long getAlpha = 0);
void ParseLineStyle(long getAlpha = 0);
int ParseShapeRecord(long getAlpha = 0);
ButtonRecord * ParseButtonRecord(long getCxform = 0);
ActionRecord * ParseActionRecord();
TextRecord * ParseTextRecord(int hasAlpha = 0);
void ParseShapeData(int getAlpha, int getStyles);
// Parsing methods.
void ParseEnd(); // 00: stagEnd
void ParseShowFrame(U32 frame, U32 offset); // 01: stagShowFrame
void ParseDefineShape(int level); // 02: stagDefineShape
void ParseFreeCharacter(); // 03: stagFreeCharacter
void ParsePlaceObject(); // 04: stagPlaceObject
void ParseRemoveObject(); // 05: stagRemoveObject
void ParseDefineBits(); // 06: stagDefineBits
void ParseDefineButton(); //x 07: stagDefineButton
void ParseJPEGTables(); // 08: stagJPEGTables
void ParseSetBackgroundColor(); // 09: stagSetBackgroundColor
void ParseDefineFont(); //x 10: stagDefineFont
void ParseDefineText(int hasAplha); //x 11: stagDefineText 33: stagDefineText2
void ParseDoAction(); // 12: stagDoAction
void ParseDefineFontInfo(); //x 13: stagDefineFontInfo
void ParseDefineSound(); // 14: stagDefineSound
void ParseStartSound(); // 15: stagStartSound
void ParseStopSound(); // 16: stagStopSound
void ParseDefineButtonSound(); // 17: stagDefineButtonSound
void ParseSoundStreamHead(); // 18: stagSoundStreamHead
void ParseSoundStreamBlock(); // 19: stagSoundStreamBlock
void ParseDefineBitsLossless(); // 20: stagDefineBitsLossless
void ParseDefineBitsJPEG2(); // 21: stagDefineBitsJPEG2
void ParseDefineButtonCxform(); // 23: stagDefineButtonCxform
void ParseProtect(); // 24: stagProtect
void ParsePlaceObject2(); // 26: stagPlaceObject2
void ParseRemoveObject2(); // 28: stagRemoveObject2
void ParseDefineButton2(); //x 34: stagDefineButton2
void ParseDefineBitsJPEG3(); // 35: stagDefineBitsJPEG3
void ParseDefineBitsLossless2(); // 36: stagDefineBitsLossless2
void ParseDefineMouseTarget(); // 38: stagDefineMouseTarget
void ParseDefineSprite(); //x 39: stagDefineSprite
void ParseNameCharacter(); // 40: stagNameCharacter
void ParseFrameLabel(); // 43: stagFrameLabel
void ParseSoundStreamHead2(); // 45: stagSoundStreamHead2
void ParseDefineMorphShape(); //x 46: stagDefineMorphShape
void ParseDefineFont2(); //x 48: stagDefineFont2
void ParseUnknown(long,long);
void ParseTags(int *);
int ParseData(FlashMovie *movie, char * data, long size);
void S_DumpImageGuts();
#ifdef DUMP
long save(char *filenam);
#endif
};
#endif /* _SCRIPT_H_ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -