summaryrefslogtreecommitdiff
path: root/slideshow/source/engine/animationfactory.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'slideshow/source/engine/animationfactory.cxx')
-rw-r--r--slideshow/source/engine/animationfactory.cxx16
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;