#include <dali/devel-api/adaptor-framework/pixel-buffer.h>
#include <dali/devel-api/adaptor-framework/vector-animation-renderer.h>
+#include <dali/devel-api/threading/mutex.h>
#include <dali/public-api/object/base-object.h>
#include <toolkit-application.h>
#include <toolkit-event-thread-callback.h>
bool Load(const std::string& url)
{
+ Dali::Mutex::ScopedLock lock(mMutex);
mUrl = url;
if(mUrl == "invalid.json")
{
{
// Change total frame number for test
mTotalFrameNumber = 200;
- mTestFrameDrop = true;
}
mDefaultWidth = 100;
void SetSize(uint32_t width, uint32_t height)
{
+ Dali::Mutex::ScopedLock lock(mMutex);
mWidth = width;
mHeight = height;
bool Render(uint32_t frameNumber)
{
+ Dali::Mutex::ScopedLock lock(mMutex);
if(mWidth == 0 || mHeight == 0)
{
return false;
void InvalidateBuffer()
{
- mNeedTrigger = true;
- mResourceReady = false;
+ Dali::Mutex::ScopedLock lock(mMutex);
+ if(mResourceReady)
+ {
+ mNeedTrigger = true;
+ mResourceReady = false;
+ }
}
Dali::VectorAnimationRenderer::UploadCompletedSignalType& UploadCompletedSignal()
std::string mUrl;
Dali::Renderer mRenderer;
+ Dali::Mutex mMutex;
uint32_t mWidth;
uint32_t mHeight;
uint32_t mDefaultWidth;
{
void DelayRendering(uint32_t delay)
{
- Dali::Internal::Adaptor::gVectorAnimationRenderer->mDelayTime = delay;
+ Dali::Internal::Adaptor::gVectorAnimationRenderer->mDelayTime = delay;
+ Dali::Internal::Adaptor::gVectorAnimationRenderer->mTestFrameDrop = true;
}
uint32_t GetDroppedFrames()