X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=platform-abstractions%2Ftizen%2Ftizen-platform-abstraction.cpp;h=2bf6e6f9954564bbfaa8dc38959ae747c1893993;hb=0e18992346b92b3951f71616ffe18230ff79b3b3;hp=1a8a876c8b13e54878a5c926ce430037ea973c04;hpb=422667d3df334499df2778b973a0a92515c53c0a;p=platform%2Fcore%2Fuifw%2Fdali-adaptor.git diff --git a/platform-abstractions/tizen/tizen-platform-abstraction.cpp b/platform-abstractions/tizen/tizen-platform-abstraction.cpp index 1a8a876..2bf6e6f 100644 --- a/platform-abstractions/tizen/tizen-platform-abstraction.cpp +++ b/platform-abstractions/tizen/tizen-platform-abstraction.cpp @@ -28,6 +28,7 @@ // INTERNAL INCLUDES #include "image-loaders/image-loader.h" #include "portable/file-reader.h" +#include namespace Dali { @@ -69,7 +70,8 @@ Integration::ResourcePointer TizenPlatformAbstraction::LoadImageSynchronously(co Integration::BitmapPtr TizenPlatformAbstraction::DecodeBuffer( const Integration::BitmapResourceType& resource, uint8_t * buffer, size_t size ) { - Integration::BitmapPtr bitmap = 0; + Integration::BitmapPtr resultBitmap; + Dali::Devel::PixelBuffer bitmap; Dali::Internal::Platform::FileReader fileReader( buffer, size ); FILE * const fp = fileReader.GetFile(); @@ -81,9 +83,29 @@ Integration::BitmapPtr TizenPlatformAbstraction::DecodeBuffer( const Integration bitmap.Reset(); DALI_LOG_WARNING( "Unable to decode bitmap supplied as in-memory blob.\n" ); } + else + { + Integration::Bitmap::Profile profile{Integration::Bitmap::Profile::BITMAP_2D_PACKED_PIXELS}; + + // For backward compatibility the Bitmap must be created + auto retval = Integration::Bitmap::New(profile, Dali::ResourcePolicy::OWNED_DISCARD); + + retval->GetPackedPixelsProfile()->ReserveBuffer( + bitmap.GetPixelFormat(), + bitmap.GetWidth(), + bitmap.GetHeight(), + bitmap.GetWidth(), + bitmap.GetHeight() + ); + + auto& impl = Dali::GetImplementation(bitmap); + + std::copy( impl.GetBuffer(), impl.GetBuffer()+impl.GetBufferSize(), retval->GetBuffer()); + resultBitmap.Reset(retval); + } } - return bitmap; + return resultBitmap; } bool TizenPlatformAbstraction::LoadShaderBinaryFile( const std::string& filename, Dali::Vector< unsigned char >& buffer ) const