aboutsummaryrefslogtreecommitdiffhomepage
path: root/tools/viewer/Viewer.h
diff options
context:
space:
mode:
authorGravatar Brian Osman <brianosman@google.com>2017-12-08 16:45:43 -0500
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2017-12-11 16:46:58 +0000
commit80fc07e8f854cd7c632bc06443d5f120ed002524 (patch)
tree451364a76adac42650893d3f4aaa149f3b9d2b20 /tools/viewer/Viewer.h
parent46020c4409490dc84e389d26509cf49ea0b9cdf7 (diff)
Create a Window::Layer interface to reduce sk_app glue code
This also makes it possible to manage other parts of viewer, etc (like the stats screen, command set, even samples) as additional layers in the stack. For now, it just removes a lot of boilerplate. Bug: skia: Change-Id: Ic2f80690fc76c683b3736287dc2b738c50d38614 Reviewed-on: https://skia-review.googlesource.com/82688 Reviewed-by: Jim Van Verth <jvanverth@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
Diffstat (limited to 'tools/viewer/Viewer.h')
-rw-r--r--tools/viewer/Viewer.h18
1 files changed, 10 insertions, 8 deletions
diff --git a/tools/viewer/Viewer.h b/tools/viewer/Viewer.h
index ff47b35f7f..1f5d1c5dc4 100644
--- a/tools/viewer/Viewer.h
+++ b/tools/viewer/Viewer.h
@@ -20,19 +20,21 @@
class SkCanvas;
-class Viewer : public sk_app::Application {
+class Viewer : public sk_app::Application, sk_app::Window::Layer {
public:
Viewer(int argc, char** argv, void* platformData);
~Viewer() override;
- void onBackendCreated();
- void onPaint(SkCanvas* canvas);
void onIdle() override;
- bool onTouch(intptr_t owner, sk_app::Window::InputState state, float x, float y);
- bool onMouse(float x, float y, sk_app::Window::InputState state, uint32_t modifiers);
- void onUIStateChanged(const SkString& stateName, const SkString& stateValue);
- bool onKey(sk_app::Window::Key key, sk_app::Window::InputState state, uint32_t modifiers);
- bool onChar(SkUnichar c, uint32_t modifiers);
+
+ void onBackendCreated() override;
+ void onPaint(SkCanvas* canvas) override;
+ bool onTouch(intptr_t owner, sk_app::Window::InputState state, float x, float y) override;
+ bool onMouse(int x, int y, sk_app::Window::InputState state, uint32_t modifiers) override;
+ bool onMouseWheel(float delta, uint32_t modifiers) override;
+ void onUIStateChanged(const SkString& stateName, const SkString& stateValue) override;
+ bool onKey(sk_app::Window::Key key, sk_app::Window::InputState state, uint32_t modifiers) override;
+ bool onChar(SkUnichar c, uint32_t modifiers) override;
private:
enum class ColorMode {