clipdepth is now always shown.
[swftools.git] / src / swfdump.c
index 1f038a6..051b8a2 100644 (file)
@@ -67,11 +67,11 @@ static struct options_t options[] = {
 {"t", "text"},
 {"s", "shapes"},
 {"p", "placements"},
+{"b", "bbox"},
 {"X", "width"},
 {"Y", "height"},
 {"r", "rate"},
 {"f", "frames"},
-{"b", "bbox"},
 {"d", "hex"},
 {"u", "used"},
 {0,0}
@@ -159,6 +159,7 @@ void args_callback_usage(char *name)
     printf("-t , --text                    Show text fields (like swfstrings).\n");
     printf("-s , --shapes                  Show shape coordinates/styles\n");
     printf("-p , --placements              Show placement information\n");
+    printf("-b , --bbox                    Print tag's bounding boxes\n");
     printf("-X , --width                   Prints out a string of the form \"-X width\".\n");
     printf("-Y , --height                  Prints out a string of the form \"-Y height\".\n");
     printf("-r , --rate                    Prints out a string of the form \"-r rate\".\n");
@@ -915,8 +916,16 @@ int main (int argc,char ** argv)
                printf(" object");
 
             printf(" at depth %04d", swf_GetDepth(tag));
+           
+           if(tag->data[0]&64) {
+               SWFPLACEOBJECT po;
+               swf_GetPlaceObject(tag, &po);
+               printf(" (clip to %04d)", po.clipdepth);
+               swf_PlaceObjectFree(&po);
+           }
             if(swf_GetName(tag))
                 printf(" name \"%s\"",swf_GetName(tag));
+
        }
         else if(tag->id == ST_REMOVEOBJECT) {
             printf(" removes id %04d from depth %04d", swf_GetPlaceID(tag), swf_GetDepth(tag));