Add sample mouse support to Viewer
Bug: skia:6830
Change-Id: I1a6bb781465a29cec4946462e234d63c48693454
Reviewed-on: https://skia-review.googlesource.com/66543
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
diff --git a/tools/viewer/Viewer.cpp b/tools/viewer/Viewer.cpp
index 85b78ba..2355d98 100644
--- a/tools/viewer/Viewer.cpp
+++ b/tools/viewer/Viewer.cpp
@@ -897,24 +897,26 @@
}
bool Viewer::onMouse(float x, float y, Window::InputState state, uint32_t modifiers) {
- if (GestureDevice::kTouch == fGestureDevice) {
- return false;
+ if (!fSlides[fCurrentSlide]->onMouse(x, y, state, modifiers)) {
+ if (GestureDevice::kTouch == fGestureDevice) {
+ return false;
+ }
+ switch (state) {
+ case Window::kUp_InputState: {
+ fGesture.touchEnd(nullptr);
+ break;
+ }
+ case Window::kDown_InputState: {
+ fGesture.touchBegin(nullptr, x, y);
+ break;
+ }
+ case Window::kMove_InputState: {
+ fGesture.touchMoved(nullptr, x, y);
+ break;
+ }
+ }
+ fGestureDevice = fGesture.isBeingTouched() ? GestureDevice::kMouse : GestureDevice::kNone;
}
- switch (state) {
- case Window::kUp_InputState: {
- fGesture.touchEnd(nullptr);
- break;
- }
- case Window::kDown_InputState: {
- fGesture.touchBegin(nullptr, x, y);
- break;
- }
- case Window::kMove_InputState: {
- fGesture.touchMoved(nullptr, x, y);
- break;
- }
- }
- fGestureDevice = fGesture.isBeingTouched() ? GestureDevice::kMouse : GestureDevice::kNone;
fWindow->inval();
return true;
}