[Swfed-svn] swfed-svn [149] swf_line_style_print の中身を実装

Back to archive index

svnno****@sourc***** svnno****@sourc*****
2009年 6月 8日 (月) 01:40:17 JST


Revision: 149
          http://svn.sourceforge.jp/view?root=swfed&view=rev&rev=149
Author:   yoya
Date:     2009-06-08 01:40:17 +0900 (Mon, 08 Jun 2009)

Log Message:
-----------
swf_line_style_print の中身を実装

Modified Paths:
--------------
    trunk/src/swf_line_style.c


-------------- next part --------------
Modified: trunk/src/swf_line_style.c
===================================================================
--- trunk/src/swf_line_style.c	2009-06-07 16:39:28 UTC (rev 148)
+++ trunk/src/swf_line_style.c	2009-06-07 16:40:17 UTC (rev 149)
@@ -91,6 +91,51 @@
 int
 swf_line_style_print(swf_line_style_t *line_style, int indent_depth,
                      swf_tag_t *tag) {
-    printf("swf_line_style_print: not implemented yet\n");
+    if (tag->tag == 46) { // DefineMorphShape
+        print_indent(indent_depth);
+        printf("witdh=%d  width_morph=%d\n",
+               line_style->width, line_style->width_morph);
+        swf_rgba_print(&(line_style->rgba), indent_depth);
+        swf_rgba_print(&(line_style->rgba_morph), indent_depth);
+    } else if (tag->tag == 83 || tag->tag == 84) {
+        // DefineShape4 || DefineMorphShape2
+        if (tag->tag == 84) { // DefineMorphShape2
+            print_indent(indent_depth);
+            printf("width_morph=%d\n", line_style->width_morph);
+        }
+        print_indent(indent_depth);
+        printf("start_cap_style=%u  join_style=%u  has_fill=%u\n",
+               line_style->start_cap_style,
+               line_style->join_style, line_style->has_fill);
+        print_indent(indent_depth);
+        printf("no_hscale=%u  no_vscale=%u  pixel_hinting=%u\n",
+               line_style->no_hscale, line_style->no_vscale,
+               line_style->pixel_hinting);
+        print_indent(indent_depth);
+        printf("(reserved=%u)  no_close=%u end_cap_style=%u\n",
+               line_style->reserved, line_style->no_close,
+               line_style->end_cap_style);
+        if (line_style->join_style == 2) {
+            print_indent(indent_depth);
+            printf("miter_limit_factor=%u\n", line_style->miter_limit_factor);
+        }
+        if (line_style->has_fill) {
+            swf_fill_style_print(&(line_style->fill_style), indent_depth + 1,
+                tag);
+        } else {
+            swf_rgba_print(&(line_style->rgba), indent_depth);
+            if (tag->tag == 84) { // DefineMorphShape2
+                swf_rgba_print(&(line_style->rgba_morph), indent_depth);
+            }
+        }
+    } else if (tag->tag == 32) { // DefineShape3
+        print_indent(indent_depth);
+        printf("witdh=%u\n", line_style->width);
+        swf_rgba_print(&(line_style->rgba), indent_depth + 1);
+    } else {
+        print_indent(indent_depth);
+        printf("witdh=%u\n", line_style->width);
+        swf_rgb_print(&(line_style->rgb), indent_depth + 1);
+    }
     return 0;
 }



Swfed-svn メーリングリストの案内
Back to archive index