2 * Copyright (c) 2023 Samsung Electronics Co., Ltd.
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
18 #include <dali-toolkit/internal/visuals/animated-image/image-cache.h>
26 ImageCache::ImageCache(TextureManager& textureManager,
28 Dali::FittingMode::Type fittingMode,
29 Dali::SamplingMode::Type samplingMode,
30 TextureManager::MaskingDataPointer& maskingData,
31 ImageCache::FrameReadyObserver& observer,
34 bool preMultiplyOnLoad)
35 : mTextureManager(textureManager),
37 mMaskingData(maskingData),
39 mFittingMode(fittingMode),
40 mSamplingMode(samplingMode),
41 mBatchSize(batchSize),
43 mLoadState(TextureManager::LoadState::NOT_STARTED),
44 mRequestingLoad(false),
45 mPreMultiplyOnLoad(preMultiplyOnLoad),
46 mTextureManagerAlive(true)
48 mTextureManager.AddObserver(*this);
51 ImageCache::~ImageCache()
53 if(mTextureManagerAlive)
55 mTextureManager.RemoveObserver(*this);
59 void ImageCache::TextureManagerDestroyed()
61 mTextureManagerAlive = false;
64 void ImageCache::SetInterval(uint32_t interval)
69 } //namespace Internal