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
Do not change BlendMode by following whether advanced blend equation is appied or not
[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
..
5f4aa46
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:
/**
@@
-57,20
+57,24
@@
public:
/**
* Destructor
*/
/**
* Destructor
*/
-
virtual ~RollingImageCache()
;
+
~RollingImageCache() override
;
/**
/**
- * Get the
first
frame. If it's not ready, this will trigger the
+ * Get the
Nth
frame. If it's not ready, this will trigger the
* sending of FrameReady() when the image becomes ready.
*/
* sending of FrameReady() when the image becomes ready.
*/
-
virtual TextureSet FirstFrame()
;
+
TextureSet Frame( uint32_t frameIndex ) override
;
/**
/**
- * Get the
nex
t frame. If it's not ready, this will trigger the
+ * Get the
firs
t frame. If it's not ready, this will trigger the
* sending of FrameReady() when the image becomes ready.
* sending of FrameReady() when the image becomes ready.
- * This will trigger the loading of the next batch.
*/
*/
- virtual TextureSet NextFrame();
+ TextureSet FirstFrame() override;
+
+ /**
+ * Get the interval of Nth frame.
+ */
+ uint32_t GetFrameInterval( uint32_t frameIndex ) override;
private:
/**
private:
/**
@@
-106,12
+110,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
+130,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;
};