OSDN Git Service

add bitmap_id parameter into apply factor method.
[swfed/swfed.git] / src / swf_matrix.h
1 /*
2   +----------------------------------------------------------------------+
3   | Author: yoya@awm.jp                                                  |
4   +----------------------------------------------------------------------+
5 */
6
7 #ifndef __SWF_MATRIX_H__
8 #define __SWF_MATRIX_H__
9
10 typedef struct swf_matrix_ {
11     // char align;
12     unsigned char has_scale:1;
13     unsigned char scale_bits; //  : 5;
14     signed long scale_x; // : scale_bits; n.16 fixed point
15     signed long scale_y; // : scale_bits; n.16 fixed point
16
17     unsigned has_rotate : 1;
18     unsigned rotate_bits; // : 5;
19     signed long rotate_skew0; // : rotate_bits; n.16 fixed point
20     signed long rotate_skew1; // : rotate_bits; n.16 fixed point
21
22     unsigned translate_bits; // : f_rotate_bits;
23     signed translate_x;      // : f_rotate_bits;
24     signed translate_y;      // : f_rotate_bits;
25 } swf_matrix_t;
26
27 extern int swf_matrix_parse(bitstream_t *bs, swf_matrix_t *matrix);
28 extern int swf_matrix_build(bitstream_t *bs, swf_matrix_t *matrix);
29 extern int swf_matrix_print(swf_matrix_t *matrix, int indent_depth);
30
31 extern int swf_matrix_apply_factor(swf_matrix_t *matrix,
32                                    double scale_x, double scale_y,
33                                    double rotate_rad,
34                                    signed int trans_x, signed int trans_y);
35
36 #endif /* __SWF_MATRIX_H__ */