diff options
Diffstat (limited to 'slideshow/source/engine/animationfactory.cxx')
-rw-r--r-- | slideshow/source/engine/animationfactory.cxx | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/slideshow/source/engine/animationfactory.cxx b/slideshow/source/engine/animationfactory.cxx index 8068bbfac83e..db141c906a50 100644 --- a/slideshow/source/engine/animationfactory.cxx +++ b/slideshow/source/engine/animationfactory.cxx @@ -214,6 +214,7 @@ namespace slideshow::internal maShapeOrig(), mnFlags( nFlags ), mbAnimationStarted( false ), + mbAnimationFirstUpdate( true ), mnAdditive( nAdditive ), mpBox2DWorld( pBox2DWorld ) { @@ -324,10 +325,14 @@ namespace slideshow::internal mpShapeManager->notifyShapeUpdate( mpShape ); if ( mpBox2DWorld->isInitialized() ) { - mpBox2DWorld->queueShapePathAnimationUpdate( mpShape->getXShape(), mpAttrLayer ); + mpBox2DWorld->queueShapePathAnimationUpdate( mpShape->getXShape(), + mpAttrLayer, + mbAnimationFirstUpdate ); } } + if( mbAnimationFirstUpdate ) mbAnimationFirstUpdate = false; + return true; } @@ -351,6 +356,7 @@ namespace slideshow::internal ::basegfx::B2DPoint maShapeOrig; const int mnFlags; bool mbAnimationStarted; + bool mbAnimationFirstUpdate; sal_Int16 mnAdditive; box2d::utils::Box2DWorldSharedPtr mpBox2DWorld; }; @@ -587,6 +593,7 @@ namespace slideshow::internal mnFlags( nFlags ), maDefaultValue(rDefaultValue), mbAnimationStarted( false ), + mbAnimationFirstUpdate( true ), meAttrType( eAttrType ), mpBox2DWorld ( pBox2DWorld ) { @@ -694,6 +701,8 @@ namespace slideshow::internal if( mpShape->isContentChanged() ) mpShapeManager->notifyShapeUpdate( mpShape ); + if( mbAnimationFirstUpdate ) mbAnimationFirstUpdate = false; + return true; } @@ -708,12 +717,14 @@ namespace slideshow::internal if( mpBox2DWorld && mpBox2DWorld->isInitialized() ) { - mpBox2DWorld->queueShapeAnimationUpdate( mpShape->getXShape(), mpAttrLayer, meAttrType ); + mpBox2DWorld->queueShapeAnimationUpdate( mpShape->getXShape(), mpAttrLayer, meAttrType, mbAnimationFirstUpdate ); } if( mpShape->isContentChanged() ) mpShapeManager->notifyShapeUpdate( mpShape ); + if( mbAnimationFirstUpdate ) mbAnimationFirstUpdate = false; + return true; } @@ -746,6 +757,7 @@ namespace slideshow::internal const ValueT maDefaultValue; bool mbAnimationStarted; + bool mbAnimationFirstUpdate; const AttributeType meAttrType; const box2d::utils::Box2DWorldSharedPtr mpBox2DWorld; |