diff options
author | Brian Osman <brianosman@google.com> | 2016-10-18 14:42:44 -0400 |
---|---|---|
committer | Mike Klein <mtklein@google.com> | 2016-10-18 18:53:30 +0000 |
commit | 16adfa39330b7b1c6ac16b8127843e55f4233a29 (patch) | |
tree | 982debdfd67ed9a3005ebb43927d8338f0712faa | |
parent | e719577fe8ac3de38795cde2007337f854d97435 (diff) |
Viewer builds (for Windows) with GN
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3599
Change-Id: Id6a142f90f544bef266d78e385f22e17288d5064
Reviewed-on: https://skia-review.googlesource.com/3599
Reviewed-by: Mike Klein <mtklein@google.com>
-rw-r--r-- | BUILD.gn | 118 | ||||
-rw-r--r-- | gyp/viewer.gyp | 1 | ||||
-rw-r--r-- | include/views/SkWindow.h | 4 | ||||
-rw-r--r-- | samplecode/SampleAAGeometry.cpp | 2 | ||||
-rw-r--r-- | samplecode/SampleBevel.cpp | 4 | ||||
-rw-r--r-- | samplecode/SampleText.cpp | 3 | ||||
-rw-r--r-- | tools/viewer/Viewer.cpp | 5 |
7 files changed, 130 insertions, 7 deletions
@@ -905,6 +905,79 @@ if (skia_enable_tools) { ] } + test_lib("views") { + public_include_dirs = [ "include/views" ] + sources = [ + "src/views/SkEvent.cpp", + "src/views/SkEventSink.cpp", + "src/views/SkOSMenu.cpp", + "src/views/SkTagList.cpp", + "src/views/SkTouchGesture.cpp", + "src/views/SkView.cpp", + "src/views/SkViewPriv.cpp", + ] + libs = [] + if (!is_android) { + sources += [ "src/views/SkWindow.cpp" ] + } + if (is_android) { + } else if (is_linux) { + sources += [ "src/views/unix/SkOSWindow_Unix.cpp" ] + } else if (is_mac) { + sources += [ + "src/views/mac/SkEventNotifier.mm", + "src/views/mac/SkNSView.mm", + "src/views/mac/SkOSWindow_Mac.mm", + "src/views/mac/SkTextFieldCell.m", + ] + libs += [ + "QuartzCore.framework", + "Cocoa.framework", + "Foundation.framework", + ] + } else if (is_win) { + sources += [ "src/views/win/SkOSWindow_win.cpp" ] + } + } + + sample_sources = exec_script("gyp/find.py", + [ + "*.c*", + rebase_path("samplecode"), + ], + "list lines", + []) + + test_lib("samples") { + include_dirs = [ "experimental" ] + public_include_dirs = [ "samplecode" ] + sources = sample_sources + sources -= [ + rebase_path("samplecode/SampleAnimator.cpp"), # relies on animator + rebase_path("samplecode/SampleApp.cpp"), # part of SampleApp exe, not samples lib + rebase_path("samplecode/SampleClamp.cpp"), + rebase_path("samplecode/SampleDash.cpp"), + rebase_path("samplecode/SampleLua.cpp"), # no Lua yet in GN + rebase_path("samplecode/SamplePathFill.cpp"), + rebase_path("samplecode/SamplePictFile.cpp"), # relies on SK_SUPPORT_LEGACY_DRAWFILTER + rebase_path("samplecode/SampleSkLayer.cpp"), # relies on SkMatrix44 which doesn't compile? + rebase_path("samplecode/SampleFontCache.cpp"), # relies on pthread.h + ] + sources += [ + "experimental/SkPerlinNoiseShader2/SkPerlinNoiseShader2.cpp", + "experimental/SkSetPoly3To3.cpp", + "experimental/SkSetPoly3To3_A.cpp", + "experimental/SkSetPoly3To3_D.cpp", + ] + deps = [ + ":experimental_svg_model", + ":gm", # Why does SampleFilterQuality.cpp include gm.h ??? + ":tool_utils", + ":views", + ":xml", + ] + } + executable("dm") { sources = [ "dm/DM.cpp", @@ -1096,4 +1169,49 @@ if (skia_enable_tools) { ] testonly = true } + + if (is_win) { + executable("viewer") { + sources = [ + "tools/viewer/GMSlide.cpp", + "tools/viewer/ImageSlide.cpp", + "tools/viewer/SKPSlide.cpp", + "tools/viewer/SampleSlide.cpp", + "tools/viewer/Viewer.cpp", + "tools/viewer/sk_app/CommandSet.cpp", + "tools/viewer/sk_app/GLWindowContext.cpp", + "tools/viewer/sk_app/Window.cpp", + "tools/viewer/sk_app/WindowContext.cpp", + ] + + if (is_win) { + sources += [ + "tools/viewer/sk_app/win/GLWindowContext_win.cpp", + "tools/viewer/sk_app/win/RasterWindowContext_win.cpp", + "tools/viewer/sk_app/win/Window_win.cpp", + "tools/viewer/sk_app/win/main_win.cpp", + ] + } + + if (skia_use_vulkan) { + sources += [ "tools/viewer/sk_app/VulkanWindowContext.cpp" ] + if (is_win) { + sources += [ "tools/viewer/sk_app/win/VulkanWindowContext_win.cpp" ] + } + } + + include_dirs = [] + deps = [ + ":flags", + ":gm", + ":gpu_tool_utils", + ":samples", + ":skia", + ":tool_utils", + ":views", + "//third_party/jsoncpp", + ] + testonly = true + } + } } diff --git a/gyp/viewer.gyp b/gyp/viewer.gyp index 4317b8adb3..033232a35a 100644 --- a/gyp/viewer.gyp +++ b/gyp/viewer.gyp @@ -52,6 +52,7 @@ ], 'dependencies': [ 'flags.gyp:flags', + 'flags.gyp:flags_common', 'gputest.gyp:skgputest', 'jsoncpp.gyp:jsoncpp', 'skia_lib.gyp:skia_lib', diff --git a/include/views/SkWindow.h b/include/views/SkWindow.h index 1c4b5aef89..e34bbb6e2f 100644 --- a/include/views/SkWindow.h +++ b/include/views/SkWindow.h @@ -93,8 +93,8 @@ protected: virtual bool onHandleChar(SkUnichar); virtual bool onHandleKey(SkKey); virtual bool onHandleKeyUp(SkKey); - virtual void onAddMenu(const SkOSMenu*) {}; - virtual void onUpdateMenu(const SkOSMenu*) {}; + virtual void onAddMenu(const SkOSMenu*) {} + virtual void onUpdateMenu(const SkOSMenu*) {} virtual void onSetTitle(const char title[]) {} // overrides from SkView diff --git a/samplecode/SampleAAGeometry.cpp b/samplecode/SampleAAGeometry.cpp index 4b7a37420b..506b1bc0b7 100644 --- a/samplecode/SampleAAGeometry.cpp +++ b/samplecode/SampleAAGeometry.cpp @@ -940,7 +940,7 @@ public: SET_CONTROL(Res); SET_CONTROL(Filter); SET_CONTROL(Weight); - }; + } #undef SET_CONTROL diff --git a/samplecode/SampleBevel.cpp b/samplecode/SampleBevel.cpp index cbeb2499a5..fce8885c48 100644 --- a/samplecode/SampleBevel.cpp +++ b/samplecode/SampleBevel.cpp @@ -105,11 +105,11 @@ private: // Overriden by sub-class to handle clicks. Do not call directly, click() modulates by relative // position. Return true if holding mouse capture - virtual bool onClick(const SkPoint& clickPos) { return false; }; + virtual bool onClick(const SkPoint& clickPos) { return false; } // Overriden by sub-classes with controls. Should return true if clickPos lands inside a control // region, to enable mouse caputre. - virtual bool onIsInCtrlRegion(const SkPoint& clickPos) const { return false; }; + virtual bool onIsInCtrlRegion(const SkPoint& clickPos) const { return false; } // The position of the control relative to it's parent SkPoint fRelativePos; diff --git a/samplecode/SampleText.cpp b/samplecode/SampleText.cpp index ca09cc749a..730c47ce98 100644 --- a/samplecode/SampleText.cpp +++ b/samplecode/SampleText.cpp @@ -47,7 +47,8 @@ static void DrawTheText(SkCanvas* canvas, const char text[], size_t length, SkSc SkScalar xpos = x; SkASSERT(length <= SK_ARRAY_COUNT(pts)); for (size_t i = 0; i < length; i++) { - pts[i].set(xpos, y), xpos += paint.getTextSize(); + pts[i].set(xpos, y); + xpos += paint.getTextSize(); } canvas->drawPosText(text, length, pts, paint); } diff --git a/tools/viewer/Viewer.cpp b/tools/viewer/Viewer.cpp index 99570a2a06..84b1eeaa11 100644 --- a/tools/viewer/Viewer.cpp +++ b/tools/viewer/Viewer.cpp @@ -50,7 +50,8 @@ static void on_ui_state_changed_handler(const SkString& stateName, const SkStrin } DEFINE_bool2(fullscreen, f, true, "Run fullscreen."); -DEFINE_string(key, "", "Space-separated key/value pairs to add to JSON identifying this builder."); + +static DEFINE_string2(match, m, nullptr, "[~][^]substring[$] [...] of bench name to run.\n" "Multiple matches may be separated by spaces.\n" @@ -68,9 +69,11 @@ DEFINE_string2(match, m, nullptr, #endif #ifdef SK_BUILD_FOR_ANDROID +static DEFINE_string(skps, "/data/local/tmp/skia", "Directory to read skps from."); DEFINE_string(jpgs, "/data/local/tmp/skia", "Directory to read jpgs from."); #else +static DEFINE_string(skps, "skps", "Directory to read skps from."); DEFINE_string(jpgs, "jpgs", "Directory to read jpgs from."); #endif |