aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar Brian Osman <brianosman@google.com>2016-10-18 14:42:44 -0400
committerGravatar Mike Klein <mtklein@google.com>2016-10-18 18:53:30 +0000
commit16adfa39330b7b1c6ac16b8127843e55f4233a29 (patch)
tree982debdfd67ed9a3005ebb43927d8338f0712faa
parente719577fe8ac3de38795cde2007337f854d97435 (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.gn118
-rw-r--r--gyp/viewer.gyp1
-rw-r--r--include/views/SkWindow.h4
-rw-r--r--samplecode/SampleAAGeometry.cpp2
-rw-r--r--samplecode/SampleBevel.cpp4
-rw-r--r--samplecode/SampleText.cpp3
-rw-r--r--tools/viewer/Viewer.cpp5
7 files changed, 130 insertions, 7 deletions
diff --git a/BUILD.gn b/BUILD.gn
index 7308fa125f..3f976f8e9b 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -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