1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- /*
- * Copyright 2017 Google Inc.
- *
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
- #ifndef SkottieSlide_DEFINED
- #define SkottieSlide_DEFINED
- #include "tools/viewer/Slide.h"
- #if defined(SK_ENABLE_SKOTTIE)
- #include "modules/skottie/include/Skottie.h"
- #include "modules/sksg/include/SkSGInvalidationController.h"
- namespace sksg { class Scene; }
- class SkottieSlide : public Slide {
- public:
- SkottieSlide(const SkString& name, const SkString& path);
- ~SkottieSlide() override = default;
- void load(SkScalar winWidth, SkScalar winHeight) override;
- void unload() override;
- SkISize getDimensions() const override;
- void draw(SkCanvas*) override;
- bool animate(double) override;
- bool onChar(SkUnichar) override;
- bool onMouse(SkScalar x, SkScalar y, InputState, ModifierKey modifiers) override;
- private:
- SkString fPath;
- sk_sp<skottie::Animation> fAnimation;
- skottie::Animation::Builder::Stats fAnimationStats;
- sksg::InvalidationController fInvalController;
- SkSize fWinSize = SkSize::MakeEmpty();
- SkMSec fTimeBase = 0;
- bool fShowAnimationInval = false,
- fShowAnimationStats = false;
- typedef Slide INHERITED;
- };
- #endif // SK_ENABLE_SKOTTIE
- #endif // SkottieSlide_DEFINED
|