/*
- * Copyright (c) 2017 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2020 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.
FixedImageCache::~FixedImageCache()
{
- for( std::size_t i = 0; i < mImageUrls.size() ; ++i )
+ if( mTextureManagerAlive )
{
- mTextureManager.Remove( mImageUrls[i].mTextureId );
+ for( std::size_t i = 0; i < mImageUrls.size() ; ++i )
+ {
+ mTextureManager.Remove( mImageUrls[i].mTextureId, this );
+ }
}
}
+TextureSet FixedImageCache::Frame( uint32_t frameIndex )
+{
+ while( frameIndex > mFront )
+ {
+ NextFrame();
+ }
+ mFront = frameIndex;
+
+ TextureSet textureSet;
+ if( IsFrontReady() == true )
+ {
+ textureSet = GetFrontTextureSet();
+ }
+ else
+ {
+ mWaitingForReadyFrame = true;
+ }
+
+ return textureSet;
+}
+
TextureSet FixedImageCache::FirstFrame()
{
TextureSet textureSet = GetFrontTextureSet();
{
mWaitingForReadyFrame = true;
}
-
LoadBatch();
return textureSet;
// Try and load up to mBatchSize images, until the cache is filled.
// Once the cache is filled, mUrlIndex exceeds mImageUrls size and
// no more images are loaded.
- bool frontFrameReady = IsFrontReady();;
+ bool frontFrameReady = IsFrontReady();
for( unsigned int i=0; i< mBatchSize && mUrlIndex < mImageUrls.size(); ++i )
{
AtlasUploadObserver* atlasObserver = nullptr;
ImageAtlasManagerPtr imageAtlasManager = nullptr;
Vector4 textureRect;
+ Dali::ImageDimensions textureRectSize;
auto preMultiply = TextureManager::MultiplyOnLoad::LOAD_WITHOUT_MULTIPLY;
mTextureManager.LoadTexture(
url, ImageDimensions(), FittingMode::SCALE_TO_FILL,
SamplingMode::BOX_THEN_LINEAR, maskInfo,
- synchronousLoading, mImageUrls[ mUrlIndex ].mTextureId, textureRect,
+ synchronousLoading, mImageUrls[ mUrlIndex ].mTextureId, textureRect, textureRectSize,
atlasingStatus, loadingStatus, Dali::WrapMode::Type::DEFAULT,
Dali::WrapMode::Type::DEFAULT, this,
atlasObserver, imageAtlasManager, ENABLE_ORIENTATION_CORRECTION, TextureManager::ReloadPolicy::CACHED,
}
}
+void FixedImageCache::LoadComplete(
+ bool loadSuccess,
+ Devel::PixelBuffer pixelBuffer,
+ const VisualUrl& url,
+ bool preMultiplied )
+{
+ // LoadComplete is called if this TextureUploadObserver requested to load
+ // an image that will be returned as a type of PixelBuffer by using a method
+ // TextureManager::LoadPixelBuffer.
+}
+
} //namespace Internal
} //namespace Toolkit
-} //namespace Dali
+} //namespace Dali
\ No newline at end of file