- mConditionalWait.Wait( lock );
- }
-
- // Keep the thread alive if this thread is NOT to be destroyed
- return !mDestroyThread;
-}
-
-bool VectorRasterizeThread::StartRender()
-{
- //TODO: check the return value
- mVectorRenderer.StartRender();
-
- mTotalFrame = mVectorRenderer.GetTotalFrameNumber();
-
- mStartFrame = static_cast< uint32_t >( mPlayRange.x * mTotalFrame + 0.5f );
- mEndFrame = static_cast< uint32_t >( mPlayRange.y * mTotalFrame + 0.5f );
-
- mCurrentFrame = mStartFrame;
-
- DALI_LOG_INFO( gVectorAnimationLogFilter, Debug::Verbose, "VectorRasterizeThread::StartRender: Renderer is started [%d (%d, %d)]\n", mTotalFrame, mStartFrame, mEndFrame );
-
- return true;
-}
-
-void VectorRasterizeThread::Rasterize()
-{
- DALI_LOG_INFO( gVectorAnimationLogFilter, Debug::Verbose, "VectorRasterizeThread::Rasterize: [%d]\n", mCurrentFrame );
-
- // Rasterize
- mVectorRenderer.Render( mCurrentFrame );
-
- if( mPlaying && !mPaused )
- {
- if( ++mCurrentFrame >= mEndFrame )