#define DALI_TOOLKIT_INTERNAL_ROLLING_IMAGE_CACHE_H
/*
- * Copyright (c) 2019 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.
/**
* Destructor
*/
- virtual ~RollingImageCache();
+ ~RollingImageCache() override;
+
+ /**
+ * Get the Nth frame. If it's not ready, this will trigger the
+ * sending of FrameReady() when the image becomes ready.
+ */
+ TextureSet Frame( uint32_t frameIndex ) override;
/**
* Get the first frame. If it's not ready, this will trigger the
/**
* Get the next frame. If it's not ready, this will trigger the
* sending of FrameReady() when the image becomes ready.
- * This will trigger the loading of the next batch.
*/
TextureSet NextFrame() override;
+ /**
+ * Get the interval of Nth frame.
+ */
+ uint32_t GetFrameInterval( uint32_t frameIndex ) const override;
+
+ /**
+ * Get the current rendered frame index.
+ * If there isn't any loaded frame, returns -1.
+ */
+ int32_t GetCurrentFrameIndex() const override;
+
+ /**
+ * Get total frame count of the animated image file.
+ */
+ int32_t GetTotalFrameCount() const override;
+
private:
/**
* @return true if the front frame is ready
const Vector4& atlasRect,
bool preMultiplied ) override;
+ void LoadComplete(
+ bool loadSuccess,
+ Devel::PixelBuffer pixelBuffer,
+ const VisualUrl& url,
+ bool preMultiplied ) override;
+
private:
/**
* Secondary class to hold readiness and index into url