If only one of -w and -h is specified on the command line, calculate the other in...
authordooglus <dooglus@1f10aa63-cdf2-0310-b900-c93c546f37ac>
Fri, 7 Mar 2008 23:26:58 +0000 (23:26 +0000)
committerdooglus <dooglus@1f10aa63-cdf2-0310-b900-c93c546f37ac>
Fri, 7 Mar 2008 23:26:58 +0000 (23:26 +0000)
git-svn-id: http://svn.voria.com/code@1877 1f10aa63-cdf2-0310-b900-c93c546f37ac

synfig-core/trunk/src/tool/main.cpp

index 77281c8..1862f4b 100644 (file)
@@ -682,24 +682,16 @@ int extract_RendDesc(arg_list_t &arg_list,RendDesc &desc)
                else if (flag_requires_value(*iter))
                        iter=next++;
        }
-       if(w&&h)
+       if (w||h)
        {
+               if (!w)
+                       w = desc.get_w() * h / desc.get_h();
+               else if (!h)
+                       h = desc.get_h() * w / desc.get_w();
+
                desc.set_wh(w,h);
                VERBOSE_OUT(1)<<strprintf(_("Resolution set to %dx%d"),w,h)<<endl;
        }
-       else
-       {
-               if(w)
-               {
-                       VERBOSE_OUT(1)<<strprintf(_("Width set to %d pixels"),w)<<endl;
-                       desc.set_w(w);
-               }
-               if(h)
-               {
-                       VERBOSE_OUT(1)<<strprintf(_("Height set to %d pixels"),h)<<endl;
-                       desc.set_h(h);
-               }
-       }
        if(span)
                desc.set_span(span);
        return SYNFIGTOOL_OK;