diff options
Diffstat (limited to 'slideshow/source/engine/animationnodes')
4 files changed, 18 insertions, 4 deletions
diff --git a/slideshow/source/engine/animationnodes/animationbasenode.cxx b/slideshow/source/engine/animationnodes/animationbasenode.cxx index 4dcb640795aa..1a15bf2de843 100644 --- a/slideshow/source/engine/animationnodes/animationbasenode.cxx +++ b/slideshow/source/engine/animationnodes/animationbasenode.cxx @@ -45,12 +45,12 @@ AnimationBaseNode::AnimationBaseNode( mxAnimateNode( xNode, uno::UNO_QUERY_THROW ), maAttributeLayerHolder(), maSlideSize( rContext.maSlideSize ), - mpActivity(), mpShape(), mpShapeSubset(), mpSubsetManager(rContext.maContext.mpSubsettableShapeManager), mbPreservedVisibility(true), - mbIsIndependentSubset( rContext.mbIsIndependentSubset ) + mbIsIndependentSubset( rContext.mbIsIndependentSubset ), + mpActivity() { // extract native node targets // =========================== @@ -294,7 +294,7 @@ void AnimationBaseNode::activate_st() mpActivity->setTargets( getShape(), maAttributeLayerHolder.get() ); // add to activities queue - getContext().mrActivitiesQueue.addActivity( mpActivity ); + enqueueActivity(); } else { // Actually, DO generate the event for empty activity, @@ -372,6 +372,11 @@ bool AnimationBaseNode::hasPendingAnimation() const return true; } +bool AnimationBaseNode::enqueueActivity() const +{ + return getContext().mrActivitiesQueue.addActivity( mpActivity ); +} + #if defined(DBG_UTIL) void AnimationBaseNode::showState() const { diff --git a/slideshow/source/engine/animationnodes/animationbasenode.hxx b/slideshow/source/engine/animationnodes/animationbasenode.hxx index d31a3a5a2fc9..6bb5cd1f2ff7 100644 --- a/slideshow/source/engine/animationnodes/animationbasenode.hxx +++ b/slideshow/source/engine/animationnodes/animationbasenode.hxx @@ -59,6 +59,7 @@ protected: private: virtual bool hasPendingAnimation() const override; + virtual bool enqueueActivity() const; private: // state transition callbacks virtual bool init_st() override; @@ -79,7 +80,6 @@ private: css::uno::Reference<css::animations::XAnimate> mxAnimateNode; ShapeAttributeLayerHolder maAttributeLayerHolder; ::basegfx::B2DVector maSlideSize; - AnimationActivitySharedPtr mpActivity; /// When valid, this node has a plain target shape AttributableShapeSharedPtr mpShape; @@ -88,6 +88,9 @@ private: SubsettableShapeManagerSharedPtr mpSubsetManager; bool mbPreservedVisibility; bool mbIsIndependentSubset; + +protected: + AnimationActivitySharedPtr mpActivity; }; } // namespace presentation::internal diff --git a/slideshow/source/engine/animationnodes/animationphysicsnode.cxx b/slideshow/source/engine/animationnodes/animationphysicsnode.cxx index 28e247c30d6c..8f531ea24ed7 100644 --- a/slideshow/source/engine/animationnodes/animationphysicsnode.cxx +++ b/slideshow/source/engine/animationnodes/animationphysicsnode.cxx @@ -43,6 +43,11 @@ AnimationActivitySharedPtr AnimationPhysicsNode::createActivity() const true); } +bool AnimationPhysicsNode::enqueueActivity() const +{ + return getContext().mrActivitiesQueue.addTailActivity(mpActivity); +} + } // namespace slideshow::internal /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/slideshow/source/engine/animationnodes/animationphysicsnode.hxx b/slideshow/source/engine/animationnodes/animationphysicsnode.hxx index 15ac8911e916..8517dbbb803b 100644 --- a/slideshow/source/engine/animationnodes/animationphysicsnode.hxx +++ b/slideshow/source/engine/animationnodes/animationphysicsnode.hxx @@ -44,6 +44,7 @@ protected: private: virtual AnimationActivitySharedPtr createActivity() const override; + virtual bool enqueueActivity() const override; css::uno::Reference<css::animations::XAnimateMotion> mxPhysicsMotionNode; }; |