X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=automated-tests%2Fsrc%2Fdali-toolkit%2Fdali-toolkit-test-utils%2Ftoolkit-vector-image-renderer.cpp;h=3093fcb8220aeb59563ab508edb89ccf86b7c923;hp=35134101743c3580fceb4a5a7341493093e8c4a8;hb=e8a53a0a591085c6b7470feac4f9cea85cc8ae6e;hpb=bb764a75b719ea839f4c255ab015b8fa54fd8039 diff --git a/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/toolkit-vector-image-renderer.cpp b/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/toolkit-vector-image-renderer.cpp index 3513410..3093fcb 100644 --- a/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/toolkit-vector-image-renderer.cpp +++ b/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/toolkit-vector-image-renderer.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020 Samsung Electronics Co., Ltd. + * Copyright (c) 2022 Samsung Electronics Co., Ltd. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -18,29 +18,28 @@ #include #include #include +#include #include #include +#include +#include #include -#include namespace Dali { - namespace Internal { - namespace Adaptor { +namespace +{ +Dali::Internal::Adaptor::VectorImageRenderer* gVectorImageRenderer = nullptr; +} -class VectorImageRenderer: public Dali::BaseObject +class VectorImageRenderer : public Dali::BaseObject { public: - VectorImageRenderer() - : mUrl(), - mRenderer(), - mWidth( 0 ), - mHeight( 0 ) { } @@ -48,64 +47,68 @@ public: { } - bool Render( float scale ) + bool Load(const Vector& data, float dpi) { - return true; + mLoadCount++; + if(strncmp(reinterpret_cast(data.Begin()), "invalid", 7) == 0) + { + return false; + } + else if(strncmp(reinterpret_cast(data.Begin()), "Fail to rasterize", strlen("Fail to rasterize")) == 0) + { + mRasterizeSuccess = false; + } + mLoadSuccess = true; + return true; } - void SetBuffer( Dali::Devel::PixelBuffer &buffer ) + bool IsLoaded() const { + return mLoadSuccess; } - bool Load( const std::string& url ) + Dali::Devel::PixelBuffer Rasterize(uint32_t width, uint32_t height) { - struct stat sb; - if ( stat(url.c_str(), &sb) == 0 ) + if(mRasterizeSuccess) { - return true; + Devel::PixelBuffer pixelBuffer = Devel::PixelBuffer::New(width, height, Dali::Pixel::RGBA8888); + return pixelBuffer; } - - return false; + return Dali::Devel::PixelBuffer(); } - bool Load( const char *data, uint32_t size ) + void GetDefaultSize(uint32_t& width, uint32_t& height) const { - return true; - } - - void GetDefaultSize( uint32_t& width, uint32_t& height ) const - { - width = 100; + width = 100; height = 100; } public: - - std::string mUrl; - Dali::Renderer mRenderer; - uint32_t mWidth; - uint32_t mHeight; + uint32_t mWidth{0}; + uint32_t mHeight{0}; + uint32_t mLoadCount{0}; + bool mLoadSuccess{false}; + bool mRasterizeSuccess{true}; }; -inline VectorImageRenderer& GetImplementation( Dali::VectorImageRenderer& renderer ) +inline VectorImageRenderer& GetImplementation(Dali::VectorImageRenderer& renderer) { - DALI_ASSERT_ALWAYS( renderer && "VectorImageRenderer handle is empty." ); + DALI_ASSERT_ALWAYS(renderer && "VectorImageRenderer handle is empty."); BaseObject& handle = renderer.GetBaseObject(); - return static_cast< Internal::Adaptor::VectorImageRenderer& >( handle ); + return static_cast(handle); } -inline const VectorImageRenderer& GetImplementation( const Dali::VectorImageRenderer& renderer ) +inline const VectorImageRenderer& GetImplementation(const Dali::VectorImageRenderer& renderer) { - DALI_ASSERT_ALWAYS( renderer && "VectorImageRenderer handle is empty." ); + DALI_ASSERT_ALWAYS(renderer && "VectorImageRenderer handle is empty."); const BaseObject& handle = renderer.GetBaseObject(); - return static_cast< const Internal::Adaptor::VectorImageRenderer& >( handle ); + return static_cast(handle); } } // namespace Adaptor } // namespace Internal - /********************************************************************************/ /********************************* PUBLIC CLASS *******************************/ /********************************************************************************/ @@ -114,7 +117,9 @@ VectorImageRenderer VectorImageRenderer::New() { Internal::Adaptor::VectorImageRenderer* imageRenderer = new Internal::Adaptor::VectorImageRenderer(); - return VectorImageRenderer( imageRenderer ); + Internal::Adaptor::gVectorImageRenderer = imageRenderer; + + return VectorImageRenderer(imageRenderer); } VectorImageRenderer::VectorImageRenderer() @@ -125,34 +130,41 @@ VectorImageRenderer::~VectorImageRenderer() { } -VectorImageRenderer::VectorImageRenderer( Internal::Adaptor::VectorImageRenderer* internal ) -: BaseHandle( internal ) +VectorImageRenderer::VectorImageRenderer(Internal::Adaptor::VectorImageRenderer* internal) +: BaseHandle(internal) { } -void VectorImageRenderer::SetBuffer( Dali::Devel::PixelBuffer &buffer ) +bool VectorImageRenderer::Load(const Vector& data, float dpi) { - Internal::Adaptor::GetImplementation( *this ).SetBuffer( buffer ); + return Internal::Adaptor::GetImplementation(*this).Load(data, dpi); } -bool VectorImageRenderer::Render( float scale ) +bool VectorImageRenderer::IsLoaded() const { - return Internal::Adaptor::GetImplementation( *this ).Render( scale ); + return Internal::Adaptor::GetImplementation(*this).IsLoaded(); } -bool VectorImageRenderer::Load( const std::string& url ) +Dali::Devel::PixelBuffer VectorImageRenderer::Rasterize(uint32_t width, uint32_t height) { - return Internal::Adaptor::GetImplementation( *this ).Load( url ); + return Internal::Adaptor::GetImplementation(*this).Rasterize(width, height); } -bool VectorImageRenderer::Load( const char *data, uint32_t size ) +void VectorImageRenderer::GetDefaultSize(uint32_t& width, uint32_t& height) const { - return Internal::Adaptor::GetImplementation( *this ).Load( data, size ); + Internal::Adaptor::GetImplementation(*this).GetDefaultSize(width, height); } -void VectorImageRenderer::GetDefaultSize( uint32_t& width, uint32_t& height ) const +} // namespace Dali + +namespace Test { - Internal::Adaptor::GetImplementation( *this ).GetDefaultSize( width, height ); +namespace VectorImageRenderer +{ +uint32_t GetLoadCount() +{ + return Dali::Internal::Adaptor::gVectorImageRenderer->mLoadCount; } -} // namespace Dali +} // namespace VectorImageRenderer +} // namespace Test