* @param[out] textureId The textureId of the frame
* @param[in, out] maskInfo Mask info structure
* @param[in] samplingMode The SamplingMode to use
- * @param[in] wrapModeU Horizontal Wrap mode
- * @param[in] wrapModeV Vertical Wrap mode
* @param[in] synchronousLoading true if the frame should be loaded synchronously
* @param[in] textureObserver The client object should inherit from this and provide the "LoadCompleted" virtual.
* This is called when an image load completes (or fails).
TextureManager::TextureId& textureId,
MaskingDataPointer& maskInfo,
const Dali::SamplingMode::Type& samplingMode,
- const Dali::WrapMode::Type& wrapModeU,
- const Dali::WrapMode::Type& wrapModeV,
const bool& synchronousLoading,
TextureUploadObserver* textureObserver,
TextureManager::MultiplyOnLoad& preMultiplyOnLoad);
* be loaded, and marked successful, but this will be set to false.
* If atlasing succeeds, this will be set to true.
* @param[out] loadingStatus The loading status of the texture
- * @param[in] wrapModeU Horizontal Wrap mode
- * @param[in] wrapModeV Vertical Wrap mode
* @param[in] textureObserver The client object should inherit from this and provide the "LoadCompleted" virtual.
* This is called when an image load completes (or fails).
* @param[in] atlasObserver This is used if the texture is atlased, and will be called instead of
Dali::ImageDimensions& textureRectSize,
bool& atlasingStatus,
bool& loadingStatus,
- const Dali::WrapMode::Type& wrapModeU,
- const Dali::WrapMode::Type& wrapModeV,
TextureUploadObserver* textureObserver,
AtlasUploadObserver* atlasObserver,
ImageAtlasManagerPtr imageAtlasManager,
*/
Geometry GetRenderGeometry(const TextureManager::TextureId& textureId, std::uint32_t& frontElements, std::uint32_t& backElements);
+ /**
+ * @brief Returns the textureSet in texture manager.
+ * @param[in] textureId Id of the texture
+ * @return The textureSet in texture manager. These textures include YUV textures or images and masks.
+ */
+ TextureSet GetTextureSet(const TextureManager::TextureId& textureId);
+
+ /**
+ * @brief Returns the textureSet in texture manager.
+ * @param[in] textureInfo the information of the texture
+ * @return The textureSet in texture manager. These textures include YUV textures or images and masks.
+ */
+ TextureSet GetTextureSet(const TextureManager::TextureInfo& textureInfo);
+
public:
// API list that need to access TextureCacheManager.
}
/**
- * @copydoc TextureCacheManager::GetTextureSet
+ * @copydoc TextureCacheManager::GetTexture
*/
- inline TextureSet GetTextureSet(const TextureManager::TextureId& textureId)
+ inline Texture GetTexture(const TextureManager::TextureId& textureId)
{
- return mTextureCacheManager.GetTextureSet(textureId);
+ return mTextureCacheManager.GetTexture(textureId);
}
/**
* @param[in] samplingMode The SamplingMode to use
* @param[in] orientationCorrection Whether to use image metadata to rotate or flip the image,
* e.g., from portrait to landscape
+ * @param[in] loadYuvPlanes True if the image should be loaded as yuv planes
+ * @param[out] pixelBuffers The image pixelBuffer
* @return PixelBuffer of loaded image.
*/
- Devel::PixelBuffer LoadImageSynchronously(
- const VisualUrl& url,
- const Dali::ImageDimensions& desiredSize,
- const Dali::FittingMode::Type& fittingMode,
- const Dali::SamplingMode::Type& samplingMode,
- const bool& orientationCorrection);
+ void LoadImageSynchronously(
+ const VisualUrl& url,
+ const Dali::ImageDimensions& desiredSize,
+ const Dali::FittingMode::Type& fittingMode,
+ const Dali::SamplingMode::Type& samplingMode,
+ const bool& orientationCorrection,
+ const bool& loadYuvPlanes,
+ std::vector<Devel::PixelBuffer>& pixelBuffers);
private:
// Load and queue
/**
* @brief Performs Post-Load steps including atlasing.
- * @param[in] textureInfo The struct associated with this Texture
- * @param[in] pixelBuffer The image pixelBuffer
+ * @param[in] textureInfo The struct associated with this Texture
+ * @param[in] pixelBuffers The image pixelBuffer
* @return True if successful
*/
- void PostLoad(TextureManager::TextureInfo& textureInfo, Devel::PixelBuffer& pixelBuffer);
+ void PostLoad(TextureManager::TextureInfo& textureInfo, std::vector<Devel::PixelBuffer>& pixelBuffers);
/**
* Check if there is a texture waiting to be masked. If there
/**
* Upload the texture specified in pixelBuffer to the appropriate location
- * @param[in] pixelBuffer The image data to upload
- * @param[in] textureInfo The texture info containing the location to
- * store the data to.
+ * @param[in] pixelBuffers The image data to upload
+ * @param[in] textureInfo The texture info containing the location to store the data to.
*/
- void UploadTexture(Devel::PixelBuffer& pixelBuffer, TextureManager::TextureInfo& textureInfo);
+ void UploadTextures(std::vector<Devel::PixelBuffer>& pixelBuffers, TextureManager::TextureInfo& textureInfo);
/**
* Notify the current observers that the texture upload is complete,
/**
* @brief Common method to handle loading completion.
* TextureAsyncLoadingHelper will call this API After async loading finished.
- * @param[in] textureId The ID of the texture load complete.
- * @param[in] pixelBuffer The loaded image data
+ * @param[in] textureId The ID of the texture load complete.
+ * @param[in] pixelBuffers The loaded image data
*/
- void AsyncLoadComplete(const TextureManager::TextureId& textureId, Devel::PixelBuffer pixelBuffer);
+ void AsyncLoadComplete(const TextureManager::TextureId& textureId, std::vector<Devel::PixelBuffer>& pixelBuffers);
private:
/**
Dali::Vector<LoadQueueElement> mLoadQueue; ///< Queue of textures to load after NotifyObservers
Dali::Vector<TextureManager::TextureId> mRemoveQueue; ///< Queue of textures to remove after NotifyObservers
bool mQueueLoadFlag; ///< Flag that causes Load Textures to be queued.
+ bool mLoadYuvPlanes; ///< A global flag to specify if the image should be loaded as yuv planes
};
} // namespace Internal