svnno****@sourc*****
svnno****@sourc*****
2009年 5月 23日 (土) 01:40:50 JST
Revision: 129 http://svn.sourceforge.jp/view?root=swfed&view=rev&rev=129 Author: yoya Date: 2009-05-23 01:40:50 +0900 (Sat, 23 May 2009) Log Message: ----------- DefineShape のデータ構造を幾つか定義 TODO: swf_matrix と swf_shape_record_{end|setup|edge} Modified Paths: -------------- trunk/src/swf_line_style.h trunk/src/swf_shape_record.h trunk/src/swf_tag_shape.h Added Paths: ----------- trunk/src/swf_shape_with_style.h -------------- next part -------------- Modified: trunk/src/swf_line_style.h =================================================================== --- trunk/src/swf_line_style.h 2009-05-20 15:45:42 UTC (rev 128) +++ trunk/src/swf_line_style.h 2009-05-22 16:40:50 UTC (rev 129) @@ -8,15 +8,28 @@ #define __SWF_LINE_STYLE_H__ #include "swf_rgba.h" +#include "swf_fill_style.h" +#include "swf_rgb.h" typedef union swf_line_style_ { - // DefineMorphShape - unsigned short width; // twips - unsigned short width_morph; // twips swf_rgba_t rgba; - swf_rgba_t rgba_morph; + swf_rgba_t rgba_morph; // + DefineMorphShape2 // DefineShape4, DefinePhophShape2 -// ... + unsigned short /* twips */ width; + unsigned short /* twips */ width_morph; // DefineMorphShape2 + unsigned start_cap_style : 2; + unsigned join_style : 2; + unsigned has_fill : 1; + unsigned no_hscale : 1; + unsigned no_vscale : 1; + unsigned pixel_hinting : 1; + unsigned reserved : 5; + unsigned no_close : 1; + unsigned end_cap_style : 2; + unsigned short /* fixed */ miter_limit_factor; // join_style == 2 + swf_fill_style_t fill_style; // has_fill == true + swf_rgb_t rgb; + } swf_line_style_t; extern int swf_line_style_parse(bitstream_t *bs, swf_line_style_t *color); Modified: trunk/src/swf_shape_record.h =================================================================== --- trunk/src/swf_shape_record.h 2009-05-20 15:45:42 UTC (rev 128) +++ trunk/src/swf_shape_record.h 2009-05-22 16:40:50 UTC (rev 129) @@ -9,8 +9,11 @@ #include "swf_shape_record.h" -typedef struct swf_shape_record_ { - int dummy; // +typedef union swf_shape_record_ { + int dummy; int dummy2; +// swf_shape_record_end_t shape_end; +// swf_shape_record_setup_t shape_setup; +// swf_shape_record_edge_t shape_edge; } swf_shape_record_t; extern int swf_shape_record_parse(bitstream_t *bs, swf_shape_record_t *color); Added: trunk/src/swf_shape_with_style.h =================================================================== --- trunk/src/swf_shape_with_style.h (rev 0) +++ trunk/src/swf_shape_with_style.h 2009-05-22 16:40:50 UTC (rev 129) @@ -0,0 +1,22 @@ +/* + +----------------------------------------------------------------------+ + | Author: yoya****@awm***** | + +----------------------------------------------------------------------+ +*/ + +#ifndef __SWF_SHAPE_WITH_STYLE_H__ +#define __SWF_SHAPE_WITH_STYLE_H__ + +#include "swf_styles.h" +#include "swf_shape_record.h" + +typedef struct swf_shape_with_style_ { + swf_styles_t styles; + swf_shape_record_t *shape_records; +} swf_shape_with_style_t; + +extern int swf_shape_with_style_parse(bitstream_t *bs, swf_shape_with_style_t *color); +extern int swf_shape_with_style_build(bitstream_t *bs, swf_shape_with_style_t *color); +extern int swf_shape_with_style_print(swf_shape_with_style_t *color); + +#endif /* __SWF_SHAPE_WITH_STYLE_H__ */ Modified: trunk/src/swf_tag_shape.h =================================================================== --- trunk/src/swf_tag_shape.h 2009-05-20 15:45:42 UTC (rev 128) +++ trunk/src/swf_tag_shape.h 2009-05-22 16:40:50 UTC (rev 129) @@ -9,7 +9,7 @@ #include "swf_rect.h" #include "swf_morph_shape_with_style.h" -// #include "swf_shape_with_style.h" +#include "swf_shape_with_style.h" #include "swf_tag.h" typedef struct swf_tag_shape_detail_ { @@ -30,9 +30,9 @@ unsigned char define_shape_scaling_strokes; // is_morph unsigned long offset_morph; -// swf_morph_shape_with_style_t morph_shape_with_style; + swf_morph_shape_with_style_t morph_shape_with_style; // else -// swf_shape_with_style_t morph_shape_with_style; + swf_shape_with_style_t shape_with_style; } swf_tag_shape_detail_t; extern swf_tag_detail_handler_t *swf_tag_shape_detail_handler(void);