+void swf_DumpSWF(FILE * f, SWF*swf)
+{
+ TAG* tag = swf->firstTag;
+ fprintf(f, "vvvvvvvvvvvvvvvvvvvvv\n");
+ while(tag) {
+ printf("%8d %s\n", tag->len, swf_TagGetName(tag));
+ tag = tag->next;
+ }
+ fprintf(f, "^^^^^^^^^^^^^^^^^^^^^\n");
+}
+
+void swf_DumpFont(SWFFONT * font)
+{
+ printf("ID: %d\n", font->id);
+ printf("Version: %d\n", font->version);
+ printf("name: %s\n", font->name);
+ printf("characters: %d\n", font->numchars);
+ printf("biggest mapped ascii value: %d\n", font->maxascii);
+ printf("layout: %s\n", font->layout?"yes":"no");
+ if(font->layout)
+ {
+ printf(" ascent:%d\n", font->layout->ascent);
+ printf(" descent:%d\n", font->layout->descent);
+ printf(" leading:%d\n", font->layout->leading);
+ printf(" bounds: (not shown)\n");
+ printf(" kerning records:%d\n", font->layout->kerningcount);
+ printf(" kerning records: (not shown)\n");
+ }
+ printf("style: %d\n", font->style);
+ printf("encoding: %d\n", font->encoding);
+ printf("language: %d\n", font->language);
+}
+
+void swf_DumpShape(SHAPE2*shape2)
+{
+ SHAPELINE*l = shape2->lines;
+ while(l) {
+ if(l->type == moveTo) {
+ //printf("fill %d/%d line %d\n", l->fillstyle0, l->fillstyle1, l->linestyle);
+ printf("moveTo %.2f,%.2f\n", l->x/20.0, l->y/20.0);
+ }
+ if(l->type == lineTo) {
+ //printf("fill %d/%d line %d\n", l->fillstyle0, l->fillstyle1, l->linestyle);
+ printf("lineTo %.2f,%.2f\n", l->x/20.0, l->y/20.0);
+ }
+ if(l->type == splineTo) {
+ //printf("fill %d/%d line %d\n", l->fillstyle0, l->fillstyle1, l->linestyle);
+ printf("splineTo %.2f,%.2f %.2f,%.2f\n", l->sx/20.0, l->sy/20.0, l->x/20.0, l->y/20.0);
+ }
+ l = l->next;
+ }
+}
+