diff options
author | Florin Malita <fmalita@chromium.org> | 2018-02-20 16:49:20 -0500 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2018-02-20 22:12:43 +0000 |
commit | 60d3bfcef5e9cbe2f1a2d108deb363a8899c1488 (patch) | |
tree | 729af3adc5fee4ef7c1b21f29f819520a06e02aa /tools/viewer | |
parent | cbb85a7275155f4fabde0ade8e9590af197a6869 (diff) |
[skottie] Show inval rects on mouse click in SkottieSlide
Also fix a SlideDir sizing bug.
TBR=
Change-Id: Iee61bb6665dc56ddd6fc062a686a9c0ef87dea92
Reviewed-on: https://skia-review.googlesource.com/108902
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
Diffstat (limited to 'tools/viewer')
-rw-r--r-- | tools/viewer/SkottieSlide.cpp | 13 | ||||
-rw-r--r-- | tools/viewer/SkottieSlide.h | 1 | ||||
-rw-r--r-- | tools/viewer/SlideDir.cpp | 6 |
3 files changed, 17 insertions, 3 deletions
diff --git a/tools/viewer/SkottieSlide.cpp b/tools/viewer/SkottieSlide.cpp index 063330e925..a364bb1099 100644 --- a/tools/viewer/SkottieSlide.cpp +++ b/tools/viewer/SkottieSlide.cpp @@ -77,3 +77,16 @@ bool SkottieSlide::onChar(SkUnichar c) { return INHERITED::onChar(c); } + +bool SkottieSlide::onMouse(SkScalar x, SkScalar y, sk_app::Window::InputState state, uint32_t) { + switch (state) { + case sk_app::Window::kUp_InputState: + fShowAnimationInval = !fShowAnimationInval; + fAnimation->setShowInval(fShowAnimationInval); + break; + default: + break; + } + + return true; +} diff --git a/tools/viewer/SkottieSlide.h b/tools/viewer/SkottieSlide.h index a287a6855c..ac26d2f3c1 100644 --- a/tools/viewer/SkottieSlide.h +++ b/tools/viewer/SkottieSlide.h @@ -27,6 +27,7 @@ public: bool animate(const SkAnimTimer&) override; bool onChar(SkUnichar) override; + bool onMouse(SkScalar x, SkScalar y, sk_app::Window::InputState, uint32_t modifiers) override; private: SkString fPath; diff --git a/tools/viewer/SlideDir.cpp b/tools/viewer/SlideDir.cpp index da8685ddf7..ba3bbbae12 100644 --- a/tools/viewer/SlideDir.cpp +++ b/tools/viewer/SlideDir.cpp @@ -337,8 +337,8 @@ void SlideDir::unload() { } SkISize SlideDir::getDimensions() const { - return SkSize::Make(fWinSize.width(), - fCellSize.height() * (fSlides.count() / fColumns)).toCeil(); + return SkSize::Make(fWinSize.width(), + fCellSize.height() * (1 + (fSlides.count() - 1) / fColumns)).toCeil(); } void SlideDir::draw(SkCanvas* canvas) { @@ -414,5 +414,5 @@ const SlideDir::Rec* SlideDir::findCell(float x, float y) const { row = static_cast<int>(y / fCellSize.height()), idx = row * fColumns + col; - return idx <= fRecs.count() ? &fRecs[idx] : nullptr; + return idx < fRecs.count() ? &fRecs[idx] : nullptr; } |