bool preMultiplyOnLoad)
: ImageCache(textureManager, size, fittingMode, samplingMode, maskingData, observer, batchSize, interval, preMultiplyOnLoad),
mImageUrls(urlList),
- mFront(FIRST_FRAME_INDEX)
+ mCurrentFrameIndex(FIRST_FRAME_INDEX)
{
mReadyFlags.reserve(mImageUrls.size());
}
}
while(mReadyFlags.size() < mImageUrls.size() &&
- (frameIndex > mFront || mReadyFlags.empty()))
+ (frameIndex > mCurrentFrameIndex || mReadyFlags.empty()))
{
- ++mFront;
+ ++mCurrentFrameIndex;
LoadBatch();
}
- mFront = frameIndex;
+ mCurrentFrameIndex = frameIndex;
- if(IsFrontReady() && mLoadState != TextureManager::LoadState::LOAD_FAILED)
+ if(IsFrameReady(mCurrentFrameIndex) && mLoadState != TextureManager::LoadState::LOAD_FAILED)
{
- textureSet = GetFrontTextureSet();
+ textureSet = GetTextureSet(mCurrentFrameIndex);
}
return textureSet;
int32_t FixedImageCache::GetCurrentFrameIndex() const
{
- return static_cast<int32_t>(mFront);
+ return static_cast<int32_t>(mCurrentFrameIndex);
}
int32_t FixedImageCache::GetTotalFrameCount() const
return mImageUrls.size();
}
-bool FixedImageCache::IsFrontReady() const
+bool FixedImageCache::IsFrameReady(uint32_t frameIndex) const
{
- return (mReadyFlags.size() > 0 && mReadyFlags[mFront] == true);
+ return (mReadyFlags.size() > 0 && mReadyFlags[frameIndex] == true);
}
void FixedImageCache::LoadBatch()
}
}
-TextureSet FixedImageCache::GetFrontTextureSet() const
+TextureSet FixedImageCache::GetTextureSet(uint32_t frameIndex) const
{
- TextureSet textureSet = mTextureManager.GetTextureSet(mImageUrls[mFront].mTextureId);
+ TextureSet textureSet = mTextureManager.GetTextureSet(mImageUrls[frameIndex].mTextureId);
if(textureSet)
{
Sampler sampler = Sampler::New();
return textureSet;
}
-void FixedImageCache::CheckFrontFrame(bool wasReady, bool preMultiplied)
+void FixedImageCache::MakeReady(bool wasReady, uint32_t frameIndex, bool preMultiplied)
{
- if(wasReady == false && IsFrontReady())
+ if(wasReady == false && IsFrameReady(frameIndex))
{
- mObserver.FrameReady(GetFrontTextureSet(), mInterval, preMultiplied);
+ mObserver.FrameReady(GetTextureSet(frameIndex), mInterval, preMultiplied);
}
}
if(loadSuccess)
{
mLoadState = TextureManager::LoadState::LOAD_FINISHED;
- bool frontFrameReady = IsFrontReady();
+ bool isCurrentFrameReady = IsFrameReady(mCurrentFrameIndex);
if(!mRequestingLoad)
{
for(std::size_t i = 0; i < mImageUrls.size(); ++i)
{
mReadyFlags.back() = true;
}
- CheckFrontFrame(frontFrameReady, textureInformation.preMultiplied);
+ MakeReady(isCurrentFrameReady, mCurrentFrameIndex, textureInformation.preMultiplied);
}
else
{