/*
- * Copyright (c) 2021 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.
}
size = dimensions;
- unsigned int i = 0;
+ uint32_t i = 0;
for(AtlasContainer::iterator iter = mAtlasList.begin(); iter != mAtlasList.end(); ++iter)
{
if(GetImplementation(*iter).Upload(textureRect, url, size, fittingMode, orientationCorrection, atlasUploadObserver))
return mTextureSetList.back();
}
+TextureSet ImageAtlasManager::Add(Vector4& textureRect,
+ const EncodedImageBuffer& encodedImageBuffer,
+ const ImageDimensions& size,
+ FittingMode::Type fittingMode,
+ bool orientationCorrection,
+ AtlasUploadObserver* atlasUploadObserver)
+{
+ // big image, atlasing is not applied
+ if(static_cast<uint32_t>(size.GetWidth()) * static_cast<uint32_t>(size.GetHeight()) > MAX_ITEM_AREA || size.GetWidth() > DEFAULT_ATLAS_SIZE || size.GetHeight() > DEFAULT_ATLAS_SIZE)
+ {
+ return TextureSet();
+ }
+
+ uint32_t i = 0;
+ for(AtlasContainer::iterator iter = mAtlasList.begin(); iter != mAtlasList.end(); ++iter)
+ {
+ if(GetImplementation(*iter).Upload(textureRect, encodedImageBuffer, size, fittingMode, orientationCorrection, atlasUploadObserver))
+ {
+ return mTextureSetList[i];
+ }
+ i++;
+ }
+
+ CreateNewAtlas();
+ GetImplementation(mAtlasList.back()).Upload(textureRect, encodedImageBuffer, size, fittingMode, orientationCorrection, atlasUploadObserver);
+ return mTextureSetList.back();
+}
+
TextureSet ImageAtlasManager::Add(Vector4& textureRect,
PixelData pixelData)
{
return TextureSet();
}
- unsigned int i = 0;
+ uint32_t i = 0;
for(AtlasContainer::iterator iter = mAtlasList.begin(); iter != mAtlasList.end(); ++iter)
{
if((*iter).Upload(textureRect, pixelData))
void ImageAtlasManager::Remove(TextureSet textureSet, const Vector4& textureRect)
{
- unsigned int i = 0;
+ uint32_t i = 0;
for(TextureSetContainer::iterator iter = mTextureSetList.begin(); iter != mTextureSetList.end(); ++iter)
{
if((*iter) == textureSet)