diff options
author | Tomaž Vajngerl <tomaz.vajngerl@collabora.co.uk> | 2020-02-03 17:53:19 +0100 |
---|---|---|
committer | Tomaž Vajngerl <quikee@gmail.com> | 2020-02-04 08:34:26 +0100 |
commit | 233c8aec16faf9302acb3625adcd1df026d59412 (patch) | |
tree | 4737affb0b3398be4adf3c919cd32396fc8f577e /include/drawinglayer/primitive2d | |
parent | 8cdbc45329fe8094ce7fb55713b9d0a13e8dd5ff (diff) |
remove animatedprimitive2d.hxx from clang-format blacklist
Change-Id: I6e4b2bc524a0880631735fb79b3545e88bf50f0c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/87933
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
Diffstat (limited to 'include/drawinglayer/primitive2d')
-rw-r--r-- | include/drawinglayer/primitive2d/animatedprimitive2d.hxx | 259 |
1 files changed, 132 insertions, 127 deletions
diff --git a/include/drawinglayer/primitive2d/animatedprimitive2d.hxx b/include/drawinglayer/primitive2d/animatedprimitive2d.hxx index c03ac0f220dc..cfd64f5c90f0 100644 --- a/include/drawinglayer/primitive2d/animatedprimitive2d.hxx +++ b/include/drawinglayer/primitive2d/animatedprimitive2d.hxx @@ -26,145 +26,150 @@ #include <memory> // predefines -namespace drawinglayer { namespace animation { - class AnimationEntry; -}} - -namespace basegfx { class B2DHomMatrix; } +namespace drawinglayer +{ +namespace animation +{ +class AnimationEntry; +} +} +namespace basegfx +{ +class B2DHomMatrix; +} namespace drawinglayer { - namespace primitive2d - { - /** AnimatedSwitchPrimitive2D class - - This is the basic class for simple, animated primitives. The basic idea - is to have an animation definition (AnimationEntry) who's basic - functionality is to return a state value for any given animation time in - the range of [0.0 .. 1.0]. Depending on the state, the decomposition - calculates an index, which of the members of the child vector is to - be visualized. - - An example: For blinking, the Child vector should exist of two entries; - for values of [0.0 .. 0.5] the first, else the last entry will be used. - This mechanism is not limited to two entries, though. - */ - class DRAWINGLAYER_DLLPUBLIC AnimatedSwitchPrimitive2D : public GroupPrimitive2D - { - private: - /** - The animation definition which allows translation of a point in time - to an animation state [0.0 .. 1.0]. This member contains a cloned - definition and is owned by this implementation. - */ - std::unique_ptr<animation::AnimationEntry> mpAnimationEntry; - - /** flag if this is a text or graphic animation. Necessary since SdrViews need to differentiate - between both types if they are on/off - */ - bool mbIsTextAnimation : 1; - - protected: - /** write access right for classes deriving from this who want to do special - things (e.g. optimization, buffering). - Caution: This is an exception from the read-only, non-modifiable paradigm - for primitives, so special preparations may be needed. Usually should - only be used for initialization (e.g. in a derived constructor) - */ - void setAnimationEntry(const animation::AnimationEntry& rNew); - - public: - /// constructor - AnimatedSwitchPrimitive2D( - const animation::AnimationEntry& rAnimationEntry, - const Primitive2DContainer& rChildren, - bool bIsTextAnimation); - - /// destructor - needed due to mpAnimationEntry - virtual ~AnimatedSwitchPrimitive2D() override; - - /// data read access - const animation::AnimationEntry& getAnimationEntry() const { return *mpAnimationEntry; } - bool isTextAnimation() const { return mbIsTextAnimation; } - bool isGraphicAnimation() const { return !isTextAnimation(); } - - /// compare operator - virtual bool operator==(const BasePrimitive2D& rPrimitive) const override; - - /// provide unique ID - virtual sal_uInt32 getPrimitive2DID() const override; - - /** Override getDecomposition() here since the decompose - depends on the point in time, so the default implementation is - not useful here, it needs to be handled locally - */ - virtual void get2DDecomposition(Primitive2DDecompositionVisitor& rVisitor, const geometry::ViewInformation2D& rViewInformation) const override; - }; - } // end of namespace primitive2d +namespace primitive2d +{ +/** AnimatedSwitchPrimitive2D class + + This is the basic class for simple, animated primitives. The basic idea + is to have an animation definition (AnimationEntry) who's basic + functionality is to return a state value for any given animation time in + the range of [0.0 .. 1.0]. Depending on the state, the decomposition + calculates an index, which of the members of the child vector is to + be visualized. + + An example: For blinking, the Child vector should exist of two entries; + for values of [0.0 .. 0.5] the first, else the last entry will be used. + This mechanism is not limited to two entries, though. + */ +class DRAWINGLAYER_DLLPUBLIC AnimatedSwitchPrimitive2D : public GroupPrimitive2D +{ +private: + /** + The animation definition which allows translation of a point in time + to an animation state [0.0 .. 1.0]. This member contains a cloned + definition and is owned by this implementation. + */ + std::unique_ptr<animation::AnimationEntry> mpAnimationEntry; + + /** flag if this is a text or graphic animation. Necessary since SdrViews need to differentiate + between both types if they are on/off + */ + bool mbIsTextAnimation : 1; + +protected: + /** write access right for classes deriving from this who want to do special + things (e.g. optimization, buffering). + Caution: This is an exception from the read-only, non-modifiable paradigm + for primitives, so special preparations may be needed. Usually should + only be used for initialization (e.g. in a derived constructor) + */ + void setAnimationEntry(const animation::AnimationEntry& rNew); + +public: + /// constructor + AnimatedSwitchPrimitive2D(const animation::AnimationEntry& rAnimationEntry, + const Primitive2DContainer& rChildren, bool bIsTextAnimation); + + /// destructor - needed due to mpAnimationEntry + virtual ~AnimatedSwitchPrimitive2D() override; + + /// data read access + const animation::AnimationEntry& getAnimationEntry() const { return *mpAnimationEntry; } + bool isTextAnimation() const { return mbIsTextAnimation; } + bool isGraphicAnimation() const { return !isTextAnimation(); } + + /// compare operator + virtual bool operator==(const BasePrimitive2D& rPrimitive) const override; + + /// provide unique ID + virtual sal_uInt32 getPrimitive2DID() const override; + + /** Override getDecomposition() here since the decompose + depends on the point in time, so the default implementation is + not useful here, it needs to be handled locally + */ + virtual void + get2DDecomposition(Primitive2DDecompositionVisitor& rVisitor, + const geometry::ViewInformation2D& rViewInformation) const override; +}; +} // end of namespace primitive2d } // end of namespace drawinglayer - namespace drawinglayer { - namespace primitive2d - { - /** AnimatedBlinkPrimitive2D class - - Basically the same mechanism as in AnimatedSwitchPrimitive2D, but the - decomposition is specialized in delivering the children in the - range [0.0.. 0.5] and an empty sequence else - */ - class DRAWINGLAYER_DLLPUBLIC AnimatedBlinkPrimitive2D final : public AnimatedSwitchPrimitive2D - { - public: - /// constructor - AnimatedBlinkPrimitive2D( - const animation::AnimationEntry& rAnimationEntry, - const Primitive2DContainer& rChildren); - - /// create local decomposition - virtual void get2DDecomposition(Primitive2DDecompositionVisitor& rVisitor, const geometry::ViewInformation2D& rViewInformation) const override; - - /// provide unique ID - virtual sal_uInt32 getPrimitive2DID() const override; - }; - } // end of namespace primitive2d -} // end of namespace drawinglayer +namespace primitive2d +{ +/** AnimatedBlinkPrimitive2D class + Basically the same mechanism as in AnimatedSwitchPrimitive2D, but the + decomposition is specialized in delivering the children in the + range [0.0.. 0.5] and an empty sequence else + */ +class DRAWINGLAYER_DLLPUBLIC AnimatedBlinkPrimitive2D final : public AnimatedSwitchPrimitive2D +{ +public: + /// constructor + AnimatedBlinkPrimitive2D(const animation::AnimationEntry& rAnimationEntry, + const Primitive2DContainer& rChildren); + + /// create local decomposition + virtual void + get2DDecomposition(Primitive2DDecompositionVisitor& rVisitor, + const geometry::ViewInformation2D& rViewInformation) const override; + + /// provide unique ID + virtual sal_uInt32 getPrimitive2DID() const override; +}; +} // end of namespace primitive2d +} // end of namespace drawinglayer namespace drawinglayer { - namespace primitive2d - { - /** AnimatedInterpolatePrimitive2D class - - Specialized on multi-step animations based on matrix transformations. The - Child sequence will be embedded in a matrix transformation. That transformation - will be linearly combined from the decomposed values and the animation value - to allow a smooth animation. - */ - class DRAWINGLAYER_DLLPUBLIC AnimatedInterpolatePrimitive2D final : public AnimatedSwitchPrimitive2D - { - private: - /// the transformations - std::vector< basegfx::utils::B2DHomMatrixBufferedDecompose > maMatrixStack; - - public: - /// constructor - AnimatedInterpolatePrimitive2D( - const std::vector< basegfx::B2DHomMatrix >& rmMatrixStack, - const animation::AnimationEntry& rAnimationEntry, - const Primitive2DContainer& rChildren); - - /// create local decomposition - virtual void get2DDecomposition(Primitive2DDecompositionVisitor& rVisitor, const geometry::ViewInformation2D& rViewInformation) const override; - - /// provide unique ID - virtual sal_uInt32 getPrimitive2DID() const override; - }; - } // end of namespace primitive2d -} // end of namespace drawinglayer +namespace primitive2d +{ +/** AnimatedInterpolatePrimitive2D class + Specialized on multi-step animations based on matrix transformations. The + Child sequence will be embedded in a matrix transformation. That transformation + will be linearly combined from the decomposed values and the animation value + to allow a smooth animation. + */ +class DRAWINGLAYER_DLLPUBLIC AnimatedInterpolatePrimitive2D final : public AnimatedSwitchPrimitive2D +{ +private: + /// the transformations + std::vector<basegfx::utils::B2DHomMatrixBufferedDecompose> maMatrixStack; + +public: + /// constructor + AnimatedInterpolatePrimitive2D(const std::vector<basegfx::B2DHomMatrix>& rmMatrixStack, + const animation::AnimationEntry& rAnimationEntry, + const Primitive2DContainer& rChildren); + + /// create local decomposition + virtual void + get2DDecomposition(Primitive2DDecompositionVisitor& rVisitor, + const geometry::ViewInformation2D& rViewInformation) const override; + + /// provide unique ID + virtual sal_uInt32 getPrimitive2DID() const override; +}; +} // end of namespace primitive2d +} // end of namespace drawinglayer /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |