2 +----------------------------------------------------------------------+
3 | Author: yoya@awm.jp |
4 +----------------------------------------------------------------------+
7 #ifndef __SWF_BUTTON_RECORD_H__
8 #define __SWF_BUTTON_RECORD_H__
10 #include "swf_matrix.h"
11 #include "swf_cxformwithalpha.h"
14 typedef struct swf_button_record_ {
16 int button_has_blend_mode ;
17 unsigned char button_has_filter_list : 1;
18 unsigned char button_state_hittest : 1;
19 unsigned char button_state_down : 1;
20 unsigned char button_state_over : 1;
21 unsigned char button_state_up : 1;
24 swf_matrix_t place_matrix;
25 swf_cxformwithalpha_t color_transform;
26 // not implemented yet. (swf 8 later only)
27 // swf_filterlist_t *filter_list;
29 struct swf_button_record_ *next;
30 } swf_button_record_t;
32 typedef struct swf_button_record_list_ {
33 swf_button_record_t *head, *tail;
34 } swf_button_record_list_t;
36 extern int swf_button_record_parse(bitstream_t *bs, swf_button_record_t *button_record, swf_tag_t *tag);
37 extern int swf_button_record_build(bitstream_t *bs, swf_button_record_t *button_record, swf_tag_t *tag);
38 extern void swf_button_record_destroy(swf_button_record_t *button_record);
39 extern int swf_button_record_print(swf_button_record_t *button_record, int indent_depth, swf_tag_t *tag);
41 extern swf_button_record_list_t *swf_button_record_list_create(void);
42 extern int swf_button_record_list_parse(bitstream_t *bs, swf_button_record_list_t *button_record_list, swf_tag_t *tag);
43 extern int swf_button_record_list_build(bitstream_t *bs, swf_button_record_list_t *button_record_list, swf_tag_t *tag);
44 extern void swf_button_record_list_destroy(swf_button_record_list_t *button_record_list);
45 extern int swf_button_record_list_print(swf_button_record_list_t *button_record_list, int indent_depth_list, swf_tag_t *tag);
47 #endif /* __SWF_BUTTON_RECORD_H__ */