aboutsummaryrefslogtreecommitdiffhomepage
path: root/tools/viewer
diff options
context:
space:
mode:
authorGravatar Florin Malita <fmalita@chromium.org>2018-02-20 16:49:20 -0500
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2018-02-20 22:12:43 +0000
commit60d3bfcef5e9cbe2f1a2d108deb363a8899c1488 (patch)
tree729af3adc5fee4ef7c1b21f29f819520a06e02aa /tools/viewer
parentcbb85a7275155f4fabde0ade8e9590af197a6869 (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.cpp13
-rw-r--r--tools/viewer/SkottieSlide.h1
-rw-r--r--tools/viewer/SlideDir.cpp6
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;
}