- Remove unused function
- Not update the current frame if the value is same
Change-Id: I262b5bea4a7e035b7d478f5c777e27f4adc8e7cb
- void StopRender()
- {
- }
-
bool Render( uint32_t frameNumber )
{
if( frameNumber == 1 && mPreviousFrame != frameNumber )
bool Render( uint32_t frameNumber )
{
if( frameNumber == 1 && mPreviousFrame != frameNumber )
Internal::Adaptor::GetImplementation( *this ).SetSize( width, height );
}
Internal::Adaptor::GetImplementation( *this ).SetSize( width, height );
}
-void VectorAnimationRenderer::StopRender()
-{
- Internal::Adaptor::GetImplementation( *this ).StopRender();
-}
-
bool VectorAnimationRenderer::Render( uint32_t frameNumber )
{
return Internal::Adaptor::GetImplementation( *this ).Render( frameNumber );
bool VectorAnimationRenderer::Render( uint32_t frameNumber )
{
return Internal::Adaptor::GetImplementation( *this ).Render( frameNumber );
ConditionalWait::ScopedLock lock( mConditionalWait );
mDestroyThread = true;
mConditionalWait.Notify( lock );
ConditionalWait::ScopedLock lock( mConditionalWait );
mDestroyThread = true;
mConditionalWait.Notify( lock );
-
- // This should be called in the main thread to stop waiting for the dequeuable buffer.
- mVectorRenderer.StopRender();
}
DALI_LOG_INFO( gVectorAnimationLogFilter, Debug::Verbose, "VectorRasterizeThread::~VectorRasterizeThread: Join [%p]\n", this );
}
DALI_LOG_INFO( gVectorAnimationLogFilter, Debug::Verbose, "VectorRasterizeThread::~VectorRasterizeThread: Join [%p]\n", this );
{
ConditionalWait::ScopedLock lock( mConditionalWait );
{
ConditionalWait::ScopedLock lock( mConditionalWait );
- if( frameNumber >= mStartFrame && frameNumber <= mEndFrame )
+ if( frameNumber >= mStartFrame && frameNumber <= mEndFrame && mCurrentFrame != frameNumber )
{
mCurrentFrame = frameNumber;
mCurrentFrameUpdated = true;
{
mCurrentFrame = frameNumber;
mCurrentFrameUpdated = true;
- DALI_LOG_INFO( gVectorAnimationLogFilter, Debug::Verbose, "VectorRasterizeThread::Rasterize: Resource ready trigger [%p]\n", this );
+ DALI_LOG_INFO( gVectorAnimationLogFilter, Debug::Verbose, "VectorRasterizeThread::Rasterize: Resource ready trigger [current = %d] [%p]\n", currentFrame, this );
mResourceReadyTrigger->Trigger();
}
mResourceReadyTrigger->Trigger();
}
// Animation is finished
mAnimationFinishedTrigger->Trigger();
// Animation is finished
mAnimationFinishedTrigger->Trigger();
- DALI_LOG_INFO( gVectorAnimationLogFilter, Debug::Verbose, "VectorRasterizeThread::Rasterize: Animation is finished [%p]\n", this );
+ DALI_LOG_INFO( gVectorAnimationLogFilter, Debug::Verbose, "VectorRasterizeThread::Rasterize: Animation is finished [current = %d] [%p]\n", currentFrame, this );
}
auto timeToSleepUntil = currentFrameStartTime + std::chrono::nanoseconds( mFrameDurationNanoSeconds );
}
auto timeToSleepUntil = currentFrameStartTime + std::chrono::nanoseconds( mFrameDurationNanoSeconds );