LibreOffice Module drawinglayer (master) 1
|
AnimatedSwitchPrimitive2D class. More...
#include <animatedprimitive2d.hxx>
Public Member Functions | |
AnimatedSwitchPrimitive2D (const animation::AnimationEntry &rAnimationEntry, Primitive2DContainer &&aChildren, bool bIsTextAnimation) | |
constructor More... | |
virtual | ~AnimatedSwitchPrimitive2D () override |
destructor - needed due to mpAnimationEntry More... | |
const animation::AnimationEntry & | getAnimationEntry () const |
data read access More... | |
bool | isTextAnimation () const |
bool | isGraphicAnimation () const |
virtual bool | operator== (const BasePrimitive2D &rPrimitive) const override |
compare operator More... | |
virtual sal_uInt32 | getPrimitive2DID () const override |
provide unique ID More... | |
virtual void | get2DDecomposition (Primitive2DDecompositionVisitor &rVisitor, const geometry::ViewInformation2D &rViewInformation) 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. More... | |
Public Member Functions inherited from drawinglayer::primitive2d::GroupPrimitive2D | |
GroupPrimitive2D (Primitive2DContainer &&aChildren) | |
constructor More... | |
const Primitive2DContainer & | getChildren () const |
data read access More... | |
void | getChildren (Primitive2DDecompositionVisitor &rVisitor) const |
virtual bool | operator== (const BasePrimitive2D &rPrimitive) const override |
compare operator More... | |
virtual void | get2DDecomposition (Primitive2DDecompositionVisitor &rVisitor, const geometry::ViewInformation2D &rViewInformation) const override |
local decomposition. Implementation will just return children More... | |
virtual sal_uInt32 | getPrimitive2DID () const override |
provide unique ID More... | |
virtual sal_Int64 | estimateUsage () override |
Public Member Functions inherited from drawinglayer::primitive2d::BasePrimitive2D | |
BasePrimitive2D () | |
virtual | ~BasePrimitive2D () override |
virtual bool | operator== (const BasePrimitive2D &rPrimitive) const |
the ==operator is mainly needed to allow testing newly-created primitives against their last incarnation which buffers/holds the made decompositions. More... | |
bool | operator!= (const BasePrimitive2D &rPrimitive) const |
virtual basegfx::B2DRange | getB2DRange (const geometry::ViewInformation2D &rViewInformation) const |
The default implementation will use getDecomposition results to create the range. More... | |
virtual sal_uInt32 | getPrimitive2DID () const =0 |
provide unique ID for fast identifying of known primitive implementations in renderers. More... | |
virtual void | get2DDecomposition (Primitive2DDecompositionVisitor &rVisitor, const geometry::ViewInformation2D &rViewInformation) const |
The default implementation will return an empty sequence. More... | |
Primitive2DContainer | getDecomposition (const css::uno::Sequence< css::beans::PropertyValue > &rViewParameters) |
The getDecomposition implementation for UNO API will use getDecomposition from this implementation. More... | |
css::geometry::RealRectangle2D | getRange (const css::uno::Sequence< css::beans::PropertyValue > &rViewParameters) |
The getRange implementation for UNO API will use getRange from this implementation. More... | |
virtual sal_Int64 | estimateUsage () |
Public Member Functions inherited from salhelper::SimpleReferenceObject | |
SimpleReferenceObject () | |
void | acquire () |
void | release () |
Protected Member Functions | |
void | setAnimationEntry (const animation::AnimationEntry &rNew) |
write access right for classes deriving from this who want to do special things (e.g. More... | |
Protected Member Functions inherited from salhelper::SimpleReferenceObject | |
virtual | ~SimpleReferenceObject () COVERITY_NOEXCEPT_FALSE |
Private Attributes | |
std::unique_ptr< animation::AnimationEntry > | mpAnimationEntry |
The animation definition which allows translation of a point in time to an animation state [0.0 . More... | |
bool | mbIsTextAnimation: 1 |
flag if this is a text or graphic animation. More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from salhelper::SimpleReferenceObject | |
static void * | operator new (std::size_t nSize) |
static void * | operator new (std::size_t nSize, std::nothrow_t const &rNothrow) |
static void | operator delete (void *pPtr) |
static void | operator delete (void *pPtr, std::nothrow_t const &rNothrow) |
Protected Attributes inherited from salhelper::SimpleReferenceObject | |
oslInterlockedCount | m_nCount |
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.
Definition at line 54 of file animatedprimitive2d.hxx.
drawinglayer::primitive2d::AnimatedSwitchPrimitive2D::AnimatedSwitchPrimitive2D | ( | const animation::AnimationEntry & | rAnimationEntry, |
Primitive2DContainer && | aChildren, | ||
bool | bIsTextAnimation | ||
) |
constructor
Definition at line 38 of file animatedprimitive2d.cxx.
References drawinglayer::animation::AnimationEntry::clone(), and mpAnimationEntry.
|
overridevirtual |
destructor - needed due to mpAnimationEntry
Definition at line 49 of file animatedprimitive2d.cxx.
|
overridevirtual |
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.
Reimplemented from drawinglayer::primitive2d::GroupPrimitive2D.
Reimplemented in drawinglayer::primitive2d::AnimatedBlinkPrimitive2D, and drawinglayer::primitive2d::AnimatedInterpolatePrimitive2D.
Definition at line 65 of file animatedprimitive2d.cxx.
References basegfx::fround(), getAnimationEntry(), drawinglayer::primitive2d::GroupPrimitive2D::getChildren(), drawinglayer::geometry::ViewInformation2D::getViewTime(), nIndex, size, and drawinglayer::primitive2d::Primitive2DDecompositionVisitor::visit().
|
inline |
data read access
Definition at line 87 of file animatedprimitive2d.hxx.
Referenced by get2DDecomposition(), drawinglayer::primitive2d::AnimatedBlinkPrimitive2D::get2DDecomposition(), drawinglayer::primitive2d::AnimatedInterpolatePrimitive2D::get2DDecomposition(), and operator==().
|
overridevirtual |
provide unique ID
Reimplemented from drawinglayer::primitive2d::GroupPrimitive2D.
Reimplemented in drawinglayer::primitive2d::AnimatedBlinkPrimitive2D, and drawinglayer::primitive2d::AnimatedInterpolatePrimitive2D.
Definition at line 84 of file animatedprimitive2d.cxx.
References PRIMITIVE2D_ID_ANIMATEDSWITCHPRIMITIVE2D.
|
inline |
Definition at line 89 of file animatedprimitive2d.hxx.
|
inline |
Definition at line 88 of file animatedprimitive2d.hxx.
|
overridevirtual |
compare operator
Reimplemented from drawinglayer::primitive2d::GroupPrimitive2D.
Definition at line 53 of file animatedprimitive2d.cxx.
References getAnimationEntry().
|
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)
Definition at line 32 of file animatedprimitive2d.cxx.
References drawinglayer::animation::AnimationEntry::clone(), and mpAnimationEntry.
|
private |
flag if this is a text or graphic animation.
Necessary since SdrViews need to differentiate between both types if they are on/off
Definition at line 67 of file animatedprimitive2d.hxx.
|
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.
Definition at line 62 of file animatedprimitive2d.hxx.
Referenced by AnimatedSwitchPrimitive2D(), and setAnimationEntry().