projects
/
platform
/
core
/
uifw
/
dali-toolkit.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Protecting test cases from memory scribbling
[platform/core/uifw/dali-toolkit.git]
/
automated-tests
/
src
/
dali-toolkit
/
dali-toolkit-test-utils
/
toolkit-vector-animation-renderer.cpp
diff --git
a/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/toolkit-vector-animation-renderer.cpp
b/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/toolkit-vector-animation-renderer.cpp
index
cf52774
..
18ce2ef
100755
(executable)
--- a/
automated-tests/src/dali-toolkit/dali-toolkit-test-utils/toolkit-vector-animation-renderer.cpp
+++ b/
automated-tests/src/dali-toolkit/dali-toolkit-test-utils/toolkit-vector-animation-renderer.cpp
@@
-19,6
+19,8
@@
#include <dali/public-api/object/base-object.h>
#include <toolkit-application.h>
#include <toolkit-vector-animation-renderer.h>
#include <dali/public-api/object/base-object.h>
#include <toolkit-application.h>
#include <toolkit-vector-animation-renderer.h>
+#include <toolkit-event-thread-callback.h>
+#include <memory>
namespace Dali
{
namespace Dali
{
@@
-33,13
+35,14
@@
class VectorAnimationRenderer: public Dali::BaseObject
{
public:
{
public:
- VectorAnimationRenderer(
const std::string& url
)
- : mUrl(
url
),
+ VectorAnimationRenderer()
+ : mUrl(),
mRenderer(),
mWidth( 0 ),
mHeight( 0 ),
mPreviousFrame( 0 ),
mRenderer(),
mWidth( 0 ),
mHeight( 0 ),
mPreviousFrame( 0 ),
- mFrameRate( 60.0f )
+ mFrameRate( 60.0f ),
+ mEventThreadCallback( new EventThreadCallback( MakeCallback( this, &VectorAnimationRenderer::OnTriggered ) ) )
{
mCount++;
{
mCount++;
@@
-54,6
+57,16
@@
public:
mCount--;
}
mCount--;
}
+ bool Load(const std::string& url)
+ {
+ mUrl = url;
+ if(mUrl == "invalid.json")
+ {
+ return false;
+ }
+ return true;
+ }
+
void SetRenderer( Dali::Renderer renderer )
{
mRenderer = renderer;
void SetRenderer( Dali::Renderer renderer )
{
mRenderer = renderer;
@@
-83,6
+96,12
@@
public:
bool Render( uint32_t frameNumber )
{
bool Render( uint32_t frameNumber )
{
+ if( mNeedTrigger )
+ {
+ mEventThreadCallback->Trigger();
+ mNeedTrigger = false;
+ }
+
if( frameNumber == 1 && mPreviousFrame != frameNumber )
{
mPreviousFrame = frameNumber;
if( frameNumber == 1 && mPreviousFrame != frameNumber )
{
mPreviousFrame = frameNumber;
@@
-133,9
+152,14
@@
public:
return mUploadCompletedSignal;
}
return mUploadCompletedSignal;
}
+ void OnTriggered()
+ {
+ }
+
public:
static uint32_t mCount;
public:
static uint32_t mCount;
+ static bool mNeedTrigger;
std::string mUrl;
Dali::Renderer mRenderer;
std::string mUrl;
Dali::Renderer mRenderer;
@@
-144,9
+168,11
@@
public:
uint32_t mPreviousFrame;
float mFrameRate;
Dali::VectorAnimationRenderer::UploadCompletedSignalType mUploadCompletedSignal;
uint32_t mPreviousFrame;
float mFrameRate;
Dali::VectorAnimationRenderer::UploadCompletedSignalType mUploadCompletedSignal;
+ std::unique_ptr< EventThreadCallback > mEventThreadCallback;
};
uint32_t VectorAnimationRenderer::mCount = 0;
};
uint32_t VectorAnimationRenderer::mCount = 0;
+bool VectorAnimationRenderer::mNeedTrigger = true;
inline VectorAnimationRenderer& GetImplementation( Dali::VectorAnimationRenderer& renderer )
{
inline VectorAnimationRenderer& GetImplementation( Dali::VectorAnimationRenderer& renderer )
{
@@
-171,9
+197,9
@@
inline const VectorAnimationRenderer& GetImplementation( const Dali::VectorAnima
/********************************* PUBLIC CLASS *******************************/
/********************************************************************************/
/********************************* PUBLIC CLASS *******************************/
/********************************************************************************/
-VectorAnimationRenderer VectorAnimationRenderer::New(
const std::string& url
)
+VectorAnimationRenderer VectorAnimationRenderer::New()
{
{
- Internal::Adaptor::VectorAnimationRenderer* animationRenderer = new Internal::Adaptor::VectorAnimationRenderer(
url
);
+ Internal::Adaptor::VectorAnimationRenderer* animationRenderer = new Internal::Adaptor::VectorAnimationRenderer();
return VectorAnimationRenderer( animationRenderer );
}
return VectorAnimationRenderer( animationRenderer );
}
@@
-206,6
+232,11
@@
void VectorAnimationRenderer::Finalize()
{
}
{
}
+bool VectorAnimationRenderer::Load(const std::string& url)
+{
+ return Internal::Adaptor::GetImplementation( *this ).Load(url);
+}
+
void VectorAnimationRenderer::SetRenderer( Renderer renderer )
{
Internal::Adaptor::GetImplementation( *this ).SetRenderer( renderer );
void VectorAnimationRenderer::SetRenderer( Renderer renderer )
{
Internal::Adaptor::GetImplementation( *this ).SetRenderer( renderer );
@@
-250,5
+281,18
@@
VectorAnimationRenderer::UploadCompletedSignalType& VectorAnimationRenderer::Upl
return Internal::Adaptor::GetImplementation( *this ).UploadCompletedSignal();
}
return Internal::Adaptor::GetImplementation( *this ).UploadCompletedSignal();
}
-} // namespace Dali;
+} // namespace Dali
+
+namespace Test
+{
+namespace VectorAnimationRenderer
+{
+
+void RequestTrigger()
+{
+ Dali::Internal::Adaptor::VectorAnimationRenderer::mNeedTrigger = true;
+}
+
+} // VectorAnimationRenderer
+} // Test