VectorAnimationRendererTizen::VectorAnimationRendererTizen()
: mBuffers(),
mRenderedTexture(),
- mPreviousTexture(),
+ mPreviousTextures(),
mTargetSurface(),
mTbmQueue(NULL)
{
if(!mResourceReady)
{
- mPreviousTexture = mRenderedTexture; // It is used to destroy the object in the main thread.
+ mPreviousTextures.push_back(mRenderedTexture); // It is used to destroy the object in the main thread.
+
mRenderedTexture = mTexture;
mResourceReady = true;
mResourceReadyTriggered = true;
void VectorAnimationRendererTizen::OnFinalize()
{
mRenderedTexture.Reset();
- mPreviousTexture.Reset();
+ mPreviousTextures.clear();
mTargetSurface = nullptr;
mTbmQueue = NULL;
mTbmQueue = AnyCast<tbm_surface_queue_h>(mTargetSurface->GetNativeImageSourceQueue());
// Reset the previous texture to destroy it in the main thread
- mPreviousTexture.Reset();
+ mPreviousTextures.clear();
}
void VectorAnimationRendererTizen::PrepareTarget()
std::vector<SurfacePair> mBuffers; ///< EGL Image vector
- Dali::Texture mRenderedTexture; ///< Rendered Texture
- Dali::Texture mPreviousTexture; ///< Previous rendered texture
- NativeImageSourceQueuePtr mTargetSurface; ///< The target surface
- tbm_surface_queue_h mTbmQueue; ///< Tbm surface queue handle
+ Dali::Texture mRenderedTexture; ///< Rendered Texture
+ std::vector<Dali::Texture> mPreviousTextures; ///< Previous rendered texture
+ NativeImageSourceQueuePtr mTargetSurface; ///< The target surface
+ tbm_surface_queue_h mTbmQueue; ///< Tbm surface queue handle
};
} // namespace Plugin