diff options
-rw-r--r-- | gyp/tools.gyp | 2 | ||||
-rw-r--r-- | tools/skhello.cpp | 34 |
2 files changed, 13 insertions, 23 deletions
diff --git a/gyp/tools.gyp b/gyp/tools.gyp index 7e5d79e895..e5d6cd3fef 100644 --- a/gyp/tools.gyp +++ b/gyp/tools.gyp @@ -66,6 +66,8 @@ 'type': 'executable', 'sources': [ '../tools/skhello.cpp', + '../tools/SkFlags.h', + '../tools/SkFlags.cpp', ], 'dependencies': [ 'skia_base_libs.gyp:skia_base_libs', diff --git a/tools/skhello.cpp b/tools/skhello.cpp index 465806f8fa..8cea1d1640 100644 --- a/tools/skhello.cpp +++ b/tools/skhello.cpp @@ -6,40 +6,28 @@ */ #include "SkCanvas.h" +#include "SkFlags.h" #include "SkGraphics.h" #include "SkImageEncoder.h" #include "SkString.h" -static void show_help() { - SkDebugf("usage: skhello [-o out-dir] [-t 'hello']\n default output: skhello.png\n"); -} +DEFINE_string(o, "skhello.png", "The filename to write the image."); +DEFINE_string(t, "Hello", "The string to write."); int tool_main(int argc, char** argv); int tool_main(int argc, char** argv) { + SkFlags::SetUsage(""); + SkFlags::ParseCommandLine(argc, argv); + SkAutoGraphics ag; SkString path("skhello.png"); SkString text("Hello"); - for (int i = 1; i < argc; i++) { - if (!strcmp(argv[i], "--help")) { - show_help(); - return 0; - } - if (!strcmp(argv[i], "-o")) { - if (i == argc-1) { - SkDebugf("ERROR: -o needs a following filename\n"); - return -1; - } - path.set(argv[i+1]); - i += 1; // skip the out dir name - } else if (!strcmp(argv[i], "-t")) { - if (i == argc-1) { - SkDebugf("ERROR: -t needs a following string\n"); - return -1; - } - text.set(argv[i+1]); - i += 1; // skip the text string - } + if (!FLAGS_o.isEmpty()) { + path.set(FLAGS_o[0]); + } + if (!FLAGS_t.isEmpty()) { + text.set(FLAGS_t[0]); } SkPaint paint; |