summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
6ecc4c0)
Change-Id: I688715d694f5a726cebb95c1a69bf051177b4085
bool AnimatedImageVisual::DisplayNextFrame()
{
bool AnimatedImageVisual::DisplayNextFrame()
{
- bool nextFrame = false;
- uint32_t frameIndex = mImageCache->GetCurrentFrameIndex();
+ bool continueTimer = false;
- mIsJumpTo = false;
- frameIndex = mFrameIndexForJumpTo;
- }
- else if( mActionStatus == DevelAnimatedImageVisual::Action::PAUSE )
- {
- return false;
- }
- else if( mActionStatus == DevelAnimatedImageVisual::Action::STOP )
- {
- frameIndex = 0;
- if( mStopBehavior == DevelImageVisual::StopBehavior::FIRST_FRAME )
+ bool nextFrame = false;
+ uint32_t frameIndex = mImageCache->GetCurrentFrameIndex();
+
+ if( mIsJumpTo )
+ mIsJumpTo = false;
+ frameIndex = mFrameIndexForJumpTo;
- else if( mStopBehavior == DevelImageVisual::StopBehavior::LAST_FRAME )
+ else if( mActionStatus == DevelAnimatedImageVisual::Action::PAUSE )
- frameIndex = mFrameCount - 1;
+ else if( mActionStatus == DevelAnimatedImageVisual::Action::STOP )
- return false; // Do not draw already rendered scene twice.
- }
- }
- else
- {
- if( mFrameCount > 1 )
- {
- nextFrame = true;
- frameIndex++;
- if( frameIndex >= mFrameCount )
+ frameIndex = 0;
+ if( mStopBehavior == DevelImageVisual::StopBehavior::FIRST_FRAME )
- frameIndex %= mFrameCount;
- ++mCurrentLoopIndex;
-
- if(mLoopCount >= 0 && mCurrentLoopIndex >= mLoopCount)
+ else if( mStopBehavior == DevelImageVisual::StopBehavior::LAST_FRAME )
+ {
+ frameIndex = mFrameCount - 1;
+ }
+ else
- // This will stop timer
- mActionStatus = DevelAnimatedImageVisual::Action::STOP;
- return DisplayNextFrame();
+ return false; // Do not draw already rendered scene twice.
-
- unsigned int delay = mImageCache->GetFrameInterval( frameIndex );
- if( delay > 0u )
- if( mFrameDelayTimer.GetInterval() != delay )
+ if( mFrameCount > 1 )
+ {
+ nextFrame = true;
+ frameIndex++;
+ if( frameIndex >= mFrameCount )
+ {
+ frameIndex %= mFrameCount;
+ ++mCurrentLoopIndex;
+ }
+
+ if(mLoopCount >= 0 && mCurrentLoopIndex >= mLoopCount)
+ {
+ // This will stop timer
+ mActionStatus = DevelAnimatedImageVisual::Action::STOP;
+ return DisplayNextFrame();
+ }
+ }
+
+ unsigned int delay = mImageCache->GetFrameInterval( frameIndex );
+ if( delay > 0u )
- mFrameDelayTimer.SetInterval( delay );
+ if( mFrameDelayTimer.GetInterval() != delay )
+ {
+ mFrameDelayTimer.SetInterval( delay );
+ }
- DALI_LOG_INFO( gAnimImgLogFilter,Debug::Concise,"AnimatedImageVisual::DisplayNextFrame(this:%p) CurrentFrameIndex:%d\n", this, frameIndex);
+ DALI_LOG_INFO( gAnimImgLogFilter,Debug::Concise,"AnimatedImageVisual::DisplayNextFrame(this:%p) CurrentFrameIndex:%d\n", this, frameIndex);
- TextureSet textureSet;
- if( mImageCache )
- {
if(nextFrame)
{
textureSet = mImageCache->NextFrame();
if(nextFrame)
{
textureSet = mImageCache->NextFrame();
SetImageSize( textureSet );
mImpl->mRenderer.SetTextures( textureSet );
}
SetImageSize( textureSet );
mImpl->mRenderer.SetTextures( textureSet );
}
+
+ continueTimer = ( mActionStatus == DevelAnimatedImageVisual::Action::PLAY ) ? true : false;
- return ( mActionStatus == DevelAnimatedImageVisual::Action::PLAY ) ? true : false;