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

📄 fad.types.h

📁 libFAD is a Flash Animation Decode library
💻 H
字号:
#ifndef __FAD_TYPES_H#define __FAD_TYPES_H#include "fad.h"/**include libmad headers*/#include "libmad/frame.h"#include "libmad/stream.h"#include "libmad/synth.h"#define FAD_TRUE 1#define FAD_FALSE 0/**position type*/#define FAD_POST_HEAD 1#define FAD_POST_TAIL 0/**direction type*/#define FAD_DIRT_TRUE 1#define FAD_DIRT_FALSE 0#define MATRIX_IS_BLANK(mx) (mx->sx==1.00 && mx->sy==1.00 && mx->r0==0.00 && mx->r1==0.00 && mx->tx==0.00 && mx->ty==0.00)/**MACRO for frame attribute*/#define COLOR_DO_CXFORM(c, m, a) (((c*m)>>8)+a)/**frame modify flag*/#define FAD_FRAME_SET_MODIFY(attr) attr |= 0x01#define FAD_FRAME_CLR_MODIFY(attr) attr &= 0xfe#define FAD_FRAME_CHK_MODIFY(attr) attr & 0x01/**sprite frame flag*/#define FAD_FRAME_SET_SPRITE(attr) attr |= 0x02#define FAD_FRAME_CLR_SPRITE(attr) attr &= 0xfd#define FAD_FRAME_CHK_SPRITE(attr) attr & 0x02/**event sound frame flag*/#define FAD_FRAME_SET_EVENTSOUND(attr) attr |= 0x04#define FAD_FRAME_CLR_EVENTSOUND(attr) attr &= 0xfb#define FAD_FRAME_CHK_EVENTSOUND(attr) attr &  0x04/**stream sound frame flag*/#define FAD_FRAME_SET_STREAMSOUND(attr) attr |= 0x08#define FAD_FRAME_CLR_STREAMSOUND(attr) attr &= 0xf7#define FAD_FRAME_CHK_STREAMSOUND(attr) attr &  0x08/**MACRO for display list node attribute*//**PLACEOBJECT version*/#define FAD_DL_NODE_SET_VER(attr, v) \if(v == 2) { \  attr |= 0x01; \}#define FAD_DL_NODE_GET_VER(attr) ((attr&0x01)+1)/**have matrix flag*/#define FAD_DL_NODE_SET_MATRIX(attr) attr |= 0x02#define FAD_DL_NODE_CHK_MATRIX(attr) (attr&0x02)/**merge sprite matrix flag*/#define FAD_DL_NODE_SET_MERGE(attr)  attr |= 0x04#define FAD_DL_NODE_CHK_MERGE(attr)  (attr&0x04)#define FAD_DL_NODE_SET_BTNMX(attr) attr |= 0x08#define FAD_DL_NODE_CHK_BTNMX(attr) (attr&0x08)#define FAD_DL_NODE_CLR_BTNMX(attr) attr&=0xf7/**MACRO for object type*/#define FO_TYPE_BITMAP 0x01#define FO_TYPE_GLYPHFONT 0x02#define FO_TYPE_STYLESHAPE  0x03#define FO_TYPE_MORPHSHAPE  0x04#define FO_TYPE_SPRITE  0x05#define FO_TYPE_BUTTON  0x06#define FO_TYPE_STATICTEXT  0x07#define FO_TYPE_JPEG 0x08/**MACRO for mouse attribute, value port from SDL*/#define FAD_MOUSEBUTTON_LEFT 0x01#define FAD_MOUSEBUTTON_MIDDLE 0x02#define FAD_MOUSEBUTTON_RIGHT 0x03#ifdef LIBFAD_DEBUG#define DEBUG_ENTER //fprintf(stderr, "enter *%s*\n", __func__)#define DEBUG_LEVEL //fprintf(stderr, "level *%s*\n\n", __func__)#else#define DEBUG_ENTER#define DEBUG_LEVEL#endiftypedef struct _edges_chunk edges_chunk_t;typedef struct _edges_record edges_record_t;typedef struct _edges_record_array edges_record_array_t;enum {  FAD_NOEVENT = 0,  FAD_ACTIVEEVENT, /**unused event, but define in SDL*/  FAD_KEYDOWN,  FAD_KEYUP,  FAD_MOUSEMOTION,  FAD_MOUSEDOWN,  FAD_MOUSEUP};#define FAD_SRV_SHAPE1  0x01#define FAD_SRV_SHAPE2  0x02#define FAD_SRV_SHAPE3  0x03#define FAD_SRV_STATIC  0x04#define FAD_SRV_MORPH   0x05#define FAD_SRT_LPT  0x01 /**lint to line point*/#define FAD_SRT_MPT  0x02 /**move to line point*/#define FAD_SRT_CPT  0x03 /**curved   line point*/#define FAD_SRT_XXX  0xff /**unknown  lint point*/#define FAD_NLSTA_INIT   0x01#define FAD_NLSTA_OPEN   0x02#define FAD_NLSTA_CLOSE  0x03typedef struct _sr_node sr_node_t;typedef struct _sr_node_list sr_node_list_t;typedef struct _sr_edgesrecord sr_edgesrecord_t;typedef struct _morph_sr_node morph_sr_node_t;typedef struct _morph_sr_node_list morph_sr_node_list_t;struct _sr_node {  u8_t type;  s32_t x0, y0, x1, y1;  /**straight line: x0, y0*/  /**curved   lint: ancx = x0, ancy = y0, ctlx = x1, ctly = y1*/  sr_node_t *next;};struct _morph_sr_node{  u8_t type;  s32_t sx0, sy0, sx1, sy1;  s32_t ox0, oy0, ox1, oy1;  /**straight line: x0, y0*/  /**curved   lint: ancx = x0, ancy = y0, ctlx = x1, ctly = y1*/  morph_sr_node_t *next;};typedef struct {  u8_t** array;  u16_t  count;} fill_style_array_t;typedef struct {  u8_t* array;  u16_t count;} line_style_array_t;struct _sr_node_list {  u8_t sta;  sr_node_t *header, *tail;  sr_node_list_t *next, *prev;};struct _morph_sr_node_list {  u8_t sta;  morph_sr_node_t *header, *tail;  morph_sr_node_list_t *next, *prev;};typedef struct {  fill_style_array_t fs_array;  line_style_array_t ls_array;} sr_newstyle_t;struct _sr_edgesrecord {  /**style of edges records*/  sr_newstyle_t *ns;  /**next edges records addresss*/  sr_edgesrecord_t *next;  u16_t fs_num, ls_num;  /**size = fs_num+ls_num, if ns is NULL, size = 1*/  sr_node_list_t *array[];};typedef struct {  /**shape record version*/  u8_t srv;  /**dictionary of ALL object*/  dynarray_t* dict;  /**style of shape record, especially in morphing shape*/  sr_newstyle_t *ns;  sr_edgesrecord_t *header, *tail;} shape_record_t;typedef struct {  /**libmad object for stream sound*/  struct mad_frame  mad_frame;  struct mad_synth  mad_synth;  struct mad_stream mad_stream;} frame_priv_t;/**convert fad object type to string*/const char *fad_object_type_to_string(u8_t type);/**convert fad tag id to string*/const char *fad_tag_id_to_string(u16_t tag_id);#endif

⌨️ 快捷键说明

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