diff options
| author | senorblanco@chromium.org <senorblanco@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2011-06-28 19:44:03 +0000 |
|---|---|---|
| committer | senorblanco@chromium.org <senorblanco@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2011-06-28 19:44:03 +0000 |
| commit | 78b8253c0a389a484e15439722e35a1658eb3b01 (patch) | |
| tree | 732fb5f2f8655c841de93343a1a26417a1d79533 /samplecode/SampleApp.cpp | |
| parent | 4809fc862957010dad610c68bdff5058d8b16a4c (diff) | |
Parse SampleApp command line for a test name. If an argument is passed to
SampleApp on the command line, interpret it as a test name. If it's a valid
test, open that test at startup.
Review URL: http://codereview.appspot.com/4661054/
git-svn-id: http://skia.googlecode.com/svn/trunk@1742 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'samplecode/SampleApp.cpp')
| -rw-r--r-- | samplecode/SampleApp.cpp | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/samplecode/SampleApp.cpp b/samplecode/SampleApp.cpp index d561c85148..a5987f26c2 100644 --- a/samplecode/SampleApp.cpp +++ b/samplecode/SampleApp.cpp @@ -347,7 +347,7 @@ SampleWindow::CanvasType SampleWindow::cycle_canvastype(CanvasType ct) { return gCT[ct]; } -SampleWindow::SampleWindow(void* hwnd) : INHERITED(hwnd) { +SampleWindow::SampleWindow(void* hwnd, int argc, char** argv) : INHERITED(hwnd) { #ifdef PIPE_FILE //Clear existing file or create file if it doesn't exist FILE* f = fopen(FILE_PATH, "wb"); @@ -404,6 +404,19 @@ SampleWindow::SampleWindow(void* hwnd) : INHERITED(hwnd) { } } fCurrIndex = 0; + if (argc > 1) { + int i, count = fSamples.count(); + for (i = 0; i < count; i++) { + SkString title = getSampleTitle(i); + if (title.equals(argv[1])) { + fCurrIndex = i; + break; + } + } + if (i == count) { + fprintf(stderr, "Unknown sample \"%s\"\n", argv[1]); + } + } this->loadView(fSamples[fCurrIndex]()); // If another constructor set our dimensions, ensure that our @@ -1673,9 +1686,9 @@ static void test() { } } -SkOSWindow* create_sk_window(void* hwnd) { +SkOSWindow* create_sk_window(void* hwnd, int argc, char** argv) { // test(); - return new SampleWindow(hwnd); + return new SampleWindow(hwnd, argc, argv); } void get_preferred_size(int* x, int* y, int* width, int* height) { |
