#include <msp/gl/windowview.h>
#include <msp/input/mouse.h>
#include <msp/io/print.h>
+#include <msp/strings/regex.h>
#include <msp/time/timestamp.h>
#include <msp/time/utils.h>
Viewer::Options::Options(int argc, char **argv)
{
+ string window_size;
+
GetOpt getopt;
getopt.add_option('r', "resources", resource_locations, GetOpt::REQUIRED_ARG);
getopt.add_option('a', "animation", animation_name, GetOpt::REQUIRED_ARG);
+ getopt.add_option('w', "window-size", window_size, GetOpt::REQUIRED_ARG);
getopt.add_argument("renderable", renderable_name);
getopt(argc, argv);
wnd_opts.width = 1024;
wnd_opts.height = 768;
+ if (!window_size.empty())
+ {
+ RegMatch m = Regex("^([1-9][0-9]*)x([1-9][0-9]*)$").match(window_size);
+ if(!m)
+ throw usage_error("Invalid window size");
+
+ wnd_opts.width = lexical_cast<unsigned>(m[1].str);
+ wnd_opts.height = lexical_cast<unsigned>(m[2].str);
+ }
gl_opts.gl_version_major = Graphics::GLOptions::LATEST_VERSION;
gl_opts.core_profile = true;
}