X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali%2Fdevel-api%2Fadaptor-framework%2Fimage-loading.cpp;h=207b79ad501020b23c22c7dba40cdf70f4539b90;hb=refs%2Ftags%2Faccepted%2Ftizen%2F6.5%2Funified%2F20220218.152705;hp=eac5e618f7418edefda927ecf54ce24008435558;hpb=97568a209c309d5f99bf288afa951a77f7fdcddd;p=platform%2Fcore%2Fuifw%2Fdali-adaptor.git diff --git a/dali/devel-api/adaptor-framework/image-loading.cpp b/dali/devel-api/adaptor-framework/image-loading.cpp index eac5e61..207b79a 100644 --- a/dali/devel-api/adaptor-framework/image-loading.cpp +++ b/dali/devel-api/adaptor-framework/image-loading.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. @@ -51,6 +51,42 @@ Devel::PixelBuffer LoadImageFromFile(const std::string& url, ImageDimensions siz return Dali::Devel::PixelBuffer(); } +void LoadImagePlanesFromFile(const std::string& url, std::vector& buffers, ImageDimensions size, FittingMode::Type fittingMode, SamplingMode::Type samplingMode, bool orientationCorrection) +{ + Integration::BitmapResourceType resourceType(size, fittingMode, samplingMode, orientationCorrection); + + Internal::Platform::FileReader fileReader(url); + FILE* const fp = fileReader.GetFile(); + if(fp != NULL) + { + TizenPlatform::ImageLoader::ConvertStreamToPlanes(resourceType, url, fp, buffers); + } +} + +Devel::PixelBuffer LoadImageFromBuffer(const Dali::Vector& buffer, ImageDimensions size, FittingMode::Type fittingMode, SamplingMode::Type samplingMode, bool orientationCorrection) +{ + if(buffer.Empty()) + { + DALI_LOG_ERROR("buffer is empty!\n"); + return Dali::Devel::PixelBuffer(); + } + Integration::BitmapResourceType resourceType(size, fittingMode, samplingMode, orientationCorrection); + + Internal::Platform::FileReader fileReader(buffer); + FILE* const fp = fileReader.GetFile(); + if(fp != NULL) + { + Dali::Devel::PixelBuffer bitmap; + // Make path as empty string. Path information just for file format hint. + bool success = TizenPlatform::ImageLoader::ConvertStreamToBitmap(resourceType, std::string(""), fp, bitmap); + if(success && bitmap) + { + return bitmap; + } + } + return Dali::Devel::PixelBuffer(); +} + ImageDimensions GetClosestImageSize(const std::string& filename, ImageDimensions size, FittingMode::Type fittingMode, @@ -65,9 +101,9 @@ ImageDimensions GetClosestImageSize(const std::string& filename, return dimension; } -ImageDimensions GetOriginalImageSize(const std::string& filename) +ImageDimensions GetOriginalImageSize(const std::string& filename, bool orientationCorrection) { - return TizenPlatform::ImageLoader::GetClosestImageSize(filename, ImageDimensions(0, 0), FittingMode::DEFAULT, SamplingMode::BOX_THEN_LINEAR, true); + return TizenPlatform::ImageLoader::GetClosestImageSize(filename, ImageDimensions(0, 0), FittingMode::DEFAULT, SamplingMode::BOX_THEN_LINEAR, orientationCorrection); } Devel::PixelBuffer DownloadImageSynchronously(const std::string& url, ImageDimensions size, FittingMode::Type fittingMode, SamplingMode::Type samplingMode, bool orientationCorrection)