#include <toolkit-application.h>
#include <toolkit-event-thread-callback.h>
#include <memory>
+#include <cstring>
#include <sys/stat.h>
namespace Dali
public:
VectorImageRenderer()
- : mUrl(),
- mRenderer(),
- mWidth( 0 ),
- mHeight( 0 )
+ : mWidth(0),
+ mHeight(0),
+ mRasterizeSuccess(true)
{
}
{
}
- bool Render( float scale )
+ bool Load(const Vector<uint8_t>& data, float dpi)
{
- return true;
- }
-
- void SetBuffer( Dali::Devel::PixelBuffer &buffer )
- {
- }
-
- bool Load( const std::string& url )
- {
- struct stat sb;
- if ( stat(url.c_str(), &sb) == 0 )
+ if(strncmp(reinterpret_cast<char*>(data.Begin()), "invalid", 7) == 0)
{
- return true;
+ return false;
}
-
- return false;
+ else if(strncmp(reinterpret_cast<char*>(data.Begin()), "Fail to rasterize", strlen("Fail to rasterize")) == 0)
+ {
+ mRasterizeSuccess = false;
+ }
+ return true;
}
- bool Load( const char *data, uint32_t size )
+ bool Rasterize(Dali::Devel::PixelBuffer& buffer, float scale)
{
- return true;
+ return mRasterizeSuccess;
}
- void GetDefaultSize( uint32_t& width, uint32_t& height ) const
+ void GetDefaultSize(uint32_t& width, uint32_t& height) const
{
width = 100;
height = 100;
public:
- std::string mUrl;
- Dali::Renderer mRenderer;
uint32_t mWidth;
uint32_t mHeight;
+ bool mRasterizeSuccess;
};
inline VectorImageRenderer& GetImplementation( Dali::VectorImageRenderer& renderer )
{
}
-void VectorImageRenderer::SetBuffer( Dali::Devel::PixelBuffer &buffer )
-{
- Internal::Adaptor::GetImplementation( *this ).SetBuffer( buffer );
-}
-
-bool VectorImageRenderer::Render( float scale )
-{
- return Internal::Adaptor::GetImplementation( *this ).Render( scale );
-}
-
-bool VectorImageRenderer::Load( const std::string& url )
+bool VectorImageRenderer::Load(const Vector<uint8_t>& data, float dpi)
{
- return Internal::Adaptor::GetImplementation( *this ).Load( url );
+ return Internal::Adaptor::GetImplementation(*this).Load(data, dpi);
}
-bool VectorImageRenderer::Load( const char *data, uint32_t size )
+bool VectorImageRenderer::Rasterize(Dali::Devel::PixelBuffer& buffer, float scale)
{
- return Internal::Adaptor::GetImplementation( *this ).Load( data, size );
+ return Internal::Adaptor::GetImplementation(*this).Rasterize(buffer, scale);
}
void VectorImageRenderer::GetDefaultSize( uint32_t& width, uint32_t& height ) const