struct swf_matrix {
char align;
unsigned f_has_scale : 1;
if(f_has_scale) {
unsigned f_scale_bits : 5;
signed fixed f_scale_x : f_scale_bits;
signed fixed f_scale_y : f_scale_bits;
}
unsigned f_has_rotate : 1;
if(f_has_rotate) {
unsigned f_rotate_bits : 5;
signed fixed f_rotate_skew0 : f_rotate_bits;
signed fixed f_rotate_skew1 : f_rotate_bits;
}
unsigned f_translate_bits : 5;
signed f_translate_x : f_rotate_bits;
signed f_translate_y : f_rotate_bits;
};