Convert skhello tool to SkFlags API.
BUG=https://code.google.com/p/skia/issues/detail?id=1094
R=scroggo@google.com
Signed-off-by: Thiago Farina <tfarina@chromium.org>
Review URL: https://chromiumcodereview.appspot.com/12381087
git-svn-id: http://skia.googlecode.com/svn/trunk@7968 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/gyp/tools.gyp b/gyp/tools.gyp
index 7e5d79e..e5d6cd3 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 465806f..8cea1d1 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;