{"e", "expand"},
{"O", "optimize"},
{"S", "swifty"},
+{"c", "clip"},
{"o", "output"},
{"v", "verbose"},
-{"c", "clip"},
{"V", "version"},
{0,0}
};
return 0;
}
else if(!strcmp(name, "q")) {
- verbose --;
+ if(verbose)
+ verbose --;
return 0;
}
else if(!strcmp(name, "e")) {
printf("-e , --expand Write out a new file using the recalculated bounding box\n");
printf("-O , --optimize Recalculate bounding boxes\n");
printf("-S , --swifty Print out transformed bounding boxes\n");
+ printf("-c , --clip Clip bounding boxes to movie size\n");
printf("-o , --output <filename> Set output filename to <filename> (for -O)\n");
printf("-v , --verbose Be more verbose\n");
printf("-V , --version Print program version and exit\n");
while(tag) {
if(tag->id == ST_PLACEOBJECT || tag->id == ST_PLACEOBJECT2) {
SWFPLACEOBJECT*po = rfx_alloc(sizeof(SWFPLACEOBJECT));
+ int id;
swf_GetPlaceObject(tag, po);
- int id = po->id;
+ id = po->id;
if(po->move) {
fprintf(stderr, "MOVE tags not supported with -c");
}
return r;
}
- printf("ID %d\n", id);
- swf_DumpMatrix(stdout, &m);
+ if(verbose) {
+ printf("ID %d\n", id);
+ swf_DumpMatrix(stdout, &m);
+ }
mbbox.xmin -= m.tx;
mbbox.ymin -= m.ty;
mbbox.xmax -= m.tx;
mbbox.xmax *= 65536.0/m.sx;
mbbox.ymin *= 65536.0/m.sy;
mbbox.ymax *= 65536.0/m.sy;
-
- printf("border: %f/%f/%f/%f - rect: %f/%f/%f/%f\n",
- mbbox.xmin /20.0,
- mbbox.ymin /20.0,
- mbbox.xmax /20.0,
- mbbox.ymax /20.0,
- r.xmin /20.0,
- r.ymin /20.0,
- r.xmax /20.0,
- r.ymax /20.0);
+
+ if(verbose) {
+ printf("border: %f/%f/%f/%f - rect: %f/%f/%f/%f\n",
+ mbbox.xmin /20.0,
+ mbbox.ymin /20.0,
+ mbbox.xmax /20.0,
+ mbbox.ymax /20.0,
+ r.xmin /20.0,
+ r.ymin /20.0,
+ r.xmax /20.0,
+ r.ymax /20.0);
+ }
r = swf_ClipRect(mbbox, r);
-
- printf("new rect: %f/%f/%f/%f\n",
- r.xmin /20.0,
- r.ymin /20.0,
- r.xmax /20.0,
- r.ymax /20.0);
+
+ if(verbose) {
+ printf("new rect: %f/%f/%f/%f\n",
+ r.xmin /20.0,
+ r.ymin /20.0,
+ r.xmax /20.0,
+ r.ymax /20.0);
+ }
return r;
}
/* not tested yet- the matrix/fontsize calculation is probably all wrong */
int x = xstart + xpos[t];
int y = ystart;
- int ch;
+ int ch = 0;
SRECT newglyphbbox, glyphbbox = font->layout->bounds[chars[t]];
MATRIX m = bounds->m;
SPOINT p;