X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-core%2Ftrunk%2Fsrc%2Ftool%2Fmain.cpp;h=7fa7357b251ac90b0b94605eb824a59a66072776;hb=55323d29e72ab09cb29414e861458ed0713b97be;hp=17b7a4c50a128dd8b09ed4f66c2944d0b51bf9e1;hpb=bdf90370edef9fa9fc12b14324dc4399dffb2f25;p=synfig.git diff --git a/synfig-core/trunk/src/tool/main.cpp b/synfig-core/trunk/src/tool/main.cpp index 17b7a4c..7fa7357 100644 --- a/synfig-core/trunk/src/tool/main.cpp +++ b/synfig-core/trunk/src/tool/main.cpp @@ -258,6 +258,7 @@ struct Job int quality; bool sifout; + bool list_canvases; }; typedef list arg_list_t; @@ -267,9 +268,7 @@ void guid_test() { cout<<"GUID Test"<",_("Set the physical resolution (dots-per-inch)")); Argument("--dpi-x","",_("Set the physical X resolution (dots-per-inch")); Argument("--dpi-y","",_("Set the physical Y resolution (dots-per-inch)")); + + Argument("--list-canvases",NULL,_("List the exported canvases in the composition")); Argument("--append","",_("Append layers in to composition")); + Argument("--layer-info","",_("Print out layer's description, parameter info, etc.")); Argument("--layers",NULL,_("Print out the list of available layers")); Argument("--targets",NULL,_("Print out the list of available targets")); @@ -418,6 +420,11 @@ int process_global_flags(arg_list_t &arg_list) Progress p(PACKAGE); synfig::Main synfig_main(dirname(progname),&p); iter=next++; + if (iter==arg_list.end()) + { + error("The `%s' flag requires a value. Use --help for a list of options.", "--layer-info"); + return SYNFIGTOOL_MISSINGARGUMENT; + } Layer::Handle layer=synfig::Layer::create(*iter); cout<<"Layer Name: "<get_name()<get_local_name()<children()); + for (Canvas::Children::iterator iter = children.begin(); iter != children.end(); iter++) + { + cout << prefix << ":" << (*iter)->get_id() << endl; + list_child_canvases(prefix + ":" + (*iter)->get_id(), *iter); + } +} + /* === M E T H O D S ======================================================= */ /* === E N T R Y P O I N T ================================================= */ @@ -848,6 +880,7 @@ int main(int argc, char *argv[]) cerr<<_("FATAL: Synfig Version Mismatch")<set_time(0); string canvasid; @@ -919,7 +956,6 @@ int main(int argc, char *argv[]) cerr<<_("Throwing out job...")<set_threads(threads); - } if(imageargs.size()) { @@ -1089,29 +1121,32 @@ int main(int argc, char *argv[]) RenderProgress p; p.task(job_list.front().filename+" ==> "+job_list.front().outfilename); - if(!job_list.front().sifout) + if(job_list.front().sifout) { - VERBOSE_OUT(1)<<_("Rendering...")<render(&p)) + if(!save_canvas(job_list.front().outfilename,job_list.front().canvas)) { cerr<<"Render Failure."<render(&p)) { cerr<<"Render Failure."<