OSDN Git Service

Once more, Allow building with either giflib 4.2 or 5.0.
[swfed/swfed.git] / src / swf_button_record.h
1 /*
2   +----------------------------------------------------------------------+
3   | Author: yoya@awm.jp                                                  |
4   +----------------------------------------------------------------------+
5 */
6
7 #ifndef __SWF_BUTTON_RECORD_H__
8 #define __SWF_BUTTON_RECORD_H__
9
10 #include "swf_matrix.h"
11 #include "swf_cxformwithalpha.h"
12 #include "swf_tag.h"
13
14 typedef struct swf_button_record_ {
15     // char align;
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;
22     int character_id;
23     int place_depth;
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;
28 //    int blend_mode;
29     struct swf_button_record_ *next;
30 } swf_button_record_t;
31
32 typedef struct swf_button_record_list_ {
33     swf_button_record_t *head, *tail;
34 } swf_button_record_list_t;
35
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);
40
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);
46
47 #endif /* __SWF_BUTTON_RECORD_H__ */
48