projects
/
platform
/
core
/
uifw
/
dali-toolkit.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Introduce new visual transform property : EXTRA_SIZE
[platform/core/uifw/dali-toolkit.git]
/
dali-toolkit
/
internal
/
visuals
/
animated-image
/
rolling-image-cache.h
diff --git
a/dali-toolkit/internal/visuals/animated-image/rolling-image-cache.h
b/dali-toolkit/internal/visuals/animated-image/rolling-image-cache.h
index
1aed961
..
47a5155
100644
(file)
--- a/
dali-toolkit/internal/visuals/animated-image/rolling-image-cache.h
+++ b/
dali-toolkit/internal/visuals/animated-image/rolling-image-cache.h
@@
-2,7
+2,7
@@
#define DALI_TOOLKIT_INTERNAL_ROLLING_IMAGE_CACHE_H
/*
#define DALI_TOOLKIT_INTERNAL_ROLLING_IMAGE_CACHE_H
/*
- * Copyright (c) 20
17
Samsung Electronics Co., Ltd.
+ * Copyright (c) 20
20
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.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@
-34,7
+34,7
@@
namespace Internal
* Class to manage a rolling cache of images, where the cache size
* is smaller than the total number of images.
*/
* Class to manage a rolling cache of images, where the cache size
* is smaller than the total number of images.
*/
-class RollingImageCache : public ImageCache
+class RollingImageCache : public ImageCache
, public TextureUploadObserver
{
public:
/**
{
public:
/**
@@
-60,17
+60,23
@@
public:
virtual ~RollingImageCache();
/**
virtual ~RollingImageCache();
/**
+ * 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
* sending of FrameReady() when the image becomes ready.
*/
* Get the first frame. If it's not ready, this will trigger the
* sending of FrameReady() when the image becomes ready.
*/
-
virtual TextureSet FirstFrame()
;
+
TextureSet FirstFrame() override
;
/**
* 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.
*/
/**
* 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.
*/
-
virtual TextureSet NextFrame()
;
+
TextureSet NextFrame() override
;
private:
/**
private:
/**
@@
-106,12
+112,19
@@
private:
void CheckFrontFrame( bool wasReady );
protected:
void CheckFrontFrame( bool wasReady );
protected:
- v
irtual v
oid UploadComplete(
+ void UploadComplete(
bool loadSuccess,
int32_t textureId,
TextureSet textureSet,
bool useAtlasing,
bool loadSuccess,
int32_t textureId,
TextureSet textureSet,
bool useAtlasing,
- const Vector4& atlasRect );
+ const Vector4& atlasRect,
+ bool preMultiplied ) override;
+
+ void LoadComplete(
+ bool loadSuccess,
+ Devel::PixelBuffer pixelBuffer,
+ const VisualUrl& url,
+ bool preMultiplied ) override;
private:
/**
private:
/**
@@
-119,10
+132,11
@@
private:
*/
struct ImageFrame
{
*/
struct ImageFrame
{
- unsigned int mUrlIndex;
- bool mReady;
+ unsigned int mUrlIndex
= 0u
;
+ bool mReady
= false
;
};
};
+ std::vector<UrlStore>& mImageUrls;
CircularQueue<ImageFrame> mQueue;
};
CircularQueue<ImageFrame> mQueue;
};