{
Rasterize();
}
+
+ DALI_LOG_INFO( gVectorAnimationLogFilter, Debug::Verbose, "VectorRasterizeThread::Run: End of thread\n" );
}
void VectorRasterizeThread::SetRenderer( Renderer renderer )
void VectorRasterizeThread::PlayAnimation()
{
ConditionalWait::ScopedLock lock( mConditionalWait );
+
if( mPlayState != DevelImageVisual::PlayState::PLAYING )
{
mPlayState = DevelImageVisual::PlayState::PLAYING;
ConditionalWait::ScopedLock lock( mConditionalWait );
mLoopCount = count;
+
+ DALI_LOG_INFO( gVectorAnimationLogFilter, Debug::Verbose, "VectorRasterizeThread::SetLoopCount: [%d]\n", count );
}
}
mCurrentFrameUpdated = true;
mResourceReady = false;
}
+
+ DALI_LOG_INFO( gVectorAnimationLogFilter, Debug::Verbose, "VectorRasterizeThread::SetPlayRange: [%d, %d]\n", mStartFrame, mEndFrame );
}
}
}
mFrameRate = mVectorRenderer.GetFrameRate();
mFrameDurationNanoSeconds = NANOSECONDS_PER_SECOND / mFrameRate;
+ uint32_t width, height;
+ mVectorRenderer.GetDefaultSize( width, height );
+
+ SetSize( width, height );
+
DALI_LOG_INFO( gVectorAnimationLogFilter, Debug::Verbose, "VectorRasterizeThread::Initialize: file = %s [%d frames, %f fps]\n", mUrl.c_str(), mTotalFrame, mFrameRate );
}
{
mPlayState = DevelImageVisual::PlayState::STOPPED;
+ ResetToStart( mCurrentFrameUpdated, mCurrentFrame, startFrame, mConditionalWait );
+
// Animation is finished
mAnimationFinishedTrigger->Trigger();
#if defined(DEBUG_ENABLED)
auto sleepDuration = std::chrono::duration_cast< std::chrono::milliseconds >( timeToSleepUntil - std::chrono::system_clock::now() );
- DALI_LOG_INFO( gVectorAnimationLogFilter, Debug::Verbose, "VectorRasterizeThread::Rasterize: [current = %d, sleep duration = %lld]\n", mCurrentFrame, sleepDuration.count() );
+ DALI_LOG_INFO( gVectorAnimationLogFilter, Debug::Verbose, "VectorRasterizeThread::Rasterize: [current = %d, sleep duration = %lld]\n", currentFrame, sleepDuration.count() );
#endif
std::this_thread::sleep_until( timeToSleepUntil );