⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 swf.h

📁 一个GNU的开源软件,基于linux下X-Window的flash播放器,工作稳定,方便移植和修改
💻 H
字号:
#ifndef _SWF_H_#define _SWF_H_#include <stdio.h>#include <stdlib.h>#include <string.h>#include <setjmp.h>#include <assert.h>#include <limits.h>#ifdef DUMP#include "bitstream.h"#endif#include "flash.h"extern int debug;#include <stdint.h>// Global Typestypedef uint32_t U32, *P_U32, **PP_U32;typedef int32_t S32, *P_S32, **PP_S32;typedef uint16_t U16, *P_U16, **PP_U16;typedef int16_t S16, *P_S16, **PP_S16;typedef uint8_t U8, *P_U8, **PP_U8;typedef int8_t S8, *P_S8, **PP_S8;typedef int32_t SFIXED, *P_SFIXED;typedef int32_t SCOORD, *P_SCOORD;typedef uint32_t BOOL;#define ZOOM(v,f) ((v)/(f))#include "matrix.h"#include "cxform.h"#include "rect.h"#include <sys/time.h>#define ST struct timeval t1,t2;#define START gettimeofday(&t1,0)#define STOP(msg) gettimeofday(&t2,0); printf("%s Delta = %d ms\n", msg, (t2.tv_sec-t1.tv_sec)*1000+(t2.tv_usec-t1.tv_usec)/1000); fflush(stdout);// Start Sound Flagsenum {	soundHasInPoint		= 0x01,	soundHasOutPoint	= 0x02,	soundHasLoops		= 0x04,	soundHasEnvelope	= 0x08	// the upper 4 bits are reserved for synchronization flags};// Flags for Sound Formatenum SounfFlags {	soundIsStereo		= 0x01,	soundIs16bit		= 0x02,	soundIsADPCMCompressed	= 0x10};// Flags for defining Button Statesenum ButtonState {	stateHitTest = 0x08,	stateDown    = 0x04,	stateOver    = 0x02,	stateUp      = 0x01};// Actionsenum Action {		// Internal actions		ActionRefresh		= 0x00,		ActionPlaySound		= 0x01,		// Normal actions		ActionGotoFrame		= 0x81,		ActionGetURL		= 0x83,		ActionNextFrame		= 0x04,		ActionPrevFrame		= 0x05,		ActionPlay		= 0x06,		ActionStop		= 0x07,		ActionToggleQuality	= 0x08,		ActionStopSounds	= 0x09,		ActionWaitForFrame	= 0x8a,		ActionSetTarget		= 0x8b,		ActionGoToLabel		= 0x8c};class Sound;struct ActionRecord {	Action			 action;	// GotoFrame  & WaitForFrame	long			 frameIndex;	// GetURL	char			*url;	char			*target;	// GotoLabel	char			*frameLabel;	// WaitForFrame	long			 skipCount;	// Sound	Sound			*sound;	struct ActionRecord	*next;		ActionRecord() {		frameLabel = 0;		url = 0;		target = 0;		sound = 0;	};	~ActionRecord() {		if (frameLabel) free(frameLabel);		if (url) free(url);		if (target) free(target);	};};enum FontFlags {	fontUnicode   = 0x20,	fontShiftJIS  = 0x10,	fontANSI      = 0x08,	fontItalic    = 0x04,	fontBold      = 0x02,	fontWideCodes = 0x01};enum TextFlags {	isTextControl = 0x80,	textIsLarge   = 0x70,	textHasFont   = 0x08,	textHasColor  = 0x04,	textHasYOffset= 0x02,	textHasXOffset= 0x01};#ifndef NULL#define NULL 0#endif// Tag values that represent actions or data in a Flash script.enum{     stagEnd 			= 0,    stagShowFrame 		= 1,    stagDefineShape		= 2,    stagFreeCharacter 		= 3,    stagPlaceObject 		= 4,    stagRemoveObject 		= 5,    stagDefineBits 		= 6,    stagDefineButton 		= 7,    stagJPEGTables 		= 8,    stagSetBackgroundColor	= 9,    stagDefineFont		= 10,    stagDefineText		= 11,    stagDoAction		= 12,    stagDefineFontInfo		= 13,    stagDefineSound		= 14,	// Event sound tags.    stagStartSound		= 15,    stagStopSound		= 16,    stagDefineButtonSound	= 17,    stagSoundStreamHead		= 18,    stagSoundStreamBlock	= 19,    stagDefineBitsLossless	= 20,	// A bitmap using lossless zlib compression.    stagDefineBitsJPEG2		= 21,	// A bitmap using an internal JPEG compression table.    stagDefineShape2		= 22,    stagDefineButtonCxform	= 23,    stagProtect			= 24,	// This file should not be importable for editing.    // These are the new tags for Flash 3.    stagPlaceObject2		= 26,	// The new style place w/ alpha color transform and name.    stagRemoveObject2		= 28,	// A more compact remove object that omits the character tag (just depth).    stagDefineShape3		= 32,	// A shape V3 includes alpha values.    stagDefineText2		= 33,	// A text V2 includes alpha values.    stagDefineButton2		= 34,	// A button V2 includes color transform, alpha and multiple actions    stagDefineBitsJPEG3		= 35,	// A JPEG bitmap with alpha info.    stagDefineBitsLossless2 	= 36,	// A lossless bitmap with alpha info.    stagDefineSprite		= 39,	// Define a sequence of tags that describe the behavior of a sprite.    stagNameCharacter		= 40,	// Name a character definition, character id and a string, (used for buttons, bitmaps, sprites and sounds).    stagFrameLabel			= 43,	// A string label for the current frame.    stagSoundStreamHead2	= 45,	// For lossless streaming sound, should not have needed this...    stagDefineMorphShape	= 46,	// A morph shape definition    stagDefineFont2		= 48,    notEnoughData		= 0xffff,	// Special code};#ifndef false#define false 0#endif#ifndef true#define true 1#endifextern int shape_size,shape_nb,shaperecord_size,shaperecord_nb,style_size,style_nb;typedef void (*ScanLineFunc)(void *id, long y, long start, long end);class Bitmap;struct FlashMovie;extern "C" {#include "jpeglib.h"};extern "C" {#include "zlib.h"};extern "C" {#include "mad.h"};#include "graphic.h"#include "character.h"#include "bitmap.h"#include "shape.h"#include "displaylist.h"#include "sound.h"#include "button.h"#include "font.h"#include "text.h"#include "adpcm.h"#include "program.h"#include "sprite.h"#include "script.h"#include "movie.h"#endif /* _SWF_H_ */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -