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
Force call KeepRendering when lottie animation stopped, or frame changed
[platform/core/uifw/dali-toolkit.git]
/
dali-toolkit
/
internal
/
visuals
/
animated-vector-image
/
animated-vector-image-visual.h
diff --git
a/dali-toolkit/internal/visuals/animated-vector-image/animated-vector-image-visual.h
b/dali-toolkit/internal/visuals/animated-vector-image/animated-vector-image-visual.h
index
221cf23
..
7e7b04d
100644
(file)
--- a/
dali-toolkit/internal/visuals/animated-vector-image/animated-vector-image-visual.h
+++ b/
dali-toolkit/internal/visuals/animated-vector-image/animated-vector-image-visual.h
@@
-2,7
+2,7
@@
#define DALI_TOOLKIT_INTERNAL_ANIMATED_VECTOR_IMAGE_VISUAL_H
/*
#define DALI_TOOLKIT_INTERNAL_ANIMATED_VECTOR_IMAGE_VISUAL_H
/*
- * Copyright (c) 202
2
Samsung Electronics Co., Ltd.
+ * Copyright (c) 202
4
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.
@@
-73,9
+73,10
@@
public:
* @param[in] factoryCache A pointer pointing to the VisualFactoryCache object
* @param[in] shaderFactory The ImageVisualShaderFactory object
* @param[in] imageUrl The URL to an animated vector image to use
* @param[in] factoryCache A pointer pointing to the VisualFactoryCache object
* @param[in] shaderFactory The ImageVisualShaderFactory object
* @param[in] imageUrl The URL to an animated vector image to use
+ * @param[in] size The width and height of the rasterized buffer. The visual size will be used if these are 0.
* @return A smart-pointer to the newly allocated visual.
*/
* @return A smart-pointer to the newly allocated visual.
*/
- static AnimatedVectorImageVisualPtr New(VisualFactoryCache& factoryCache, ImageVisualShaderFactory& shaderFactory, const VisualUrl& imageUrl);
+ static AnimatedVectorImageVisualPtr New(VisualFactoryCache& factoryCache, ImageVisualShaderFactory& shaderFactory, const VisualUrl& imageUrl
, ImageDimensions size = ImageDimensions()
);
public: // from Visual
/**
public: // from Visual
/**
@@
-111,8
+112,9
@@
protected:
* @param[in] factoryCache A pointer pointing to the VisualFactoryCache object
* @param[in] shaderFactory The ImageVisualShaderFactory object
* @param[in] imageUrl The URL to an animated vector image to use
* @param[in] factoryCache A pointer pointing to the VisualFactoryCache object
* @param[in] shaderFactory The ImageVisualShaderFactory object
* @param[in] imageUrl The URL to an animated vector image to use
+ * @param[in] size The width and height of the rasterized buffer. The visual size will be used if these are 0.
*/
*/
- AnimatedVectorImageVisual(VisualFactoryCache& factoryCache, ImageVisualShaderFactory& shaderFactory, const VisualUrl& imageUrl);
+ AnimatedVectorImageVisual(VisualFactoryCache& factoryCache, ImageVisualShaderFactory& shaderFactory, const VisualUrl& imageUrl
, ImageDimensions size
);
/**
* @brief A reference counted object may only be deleted by calling Unreference().
/**
* @brief A reference counted object may only be deleted by calling Unreference().
@@
-159,6
+161,11
@@
protected:
*/
void OnDoAction(const Property::Index actionId, const Property::Value& attributes) override;
*/
void OnDoAction(const Property::Index actionId, const Property::Value& attributes) override;
+ /**
+ * @copydoc Visual::Base::OnDoActionExtension
+ */
+ void OnDoActionExtension(const Property::Index actionId, Dali::Any attributes) override;
+
private:
/**
* Helper method to set individual values by index key.
private:
/**
* Helper method to set individual values by index key.
@@
-175,8
+182,17
@@
private:
/**
* @brief Event callback from rasterize thread. This is called after the animation is finished.
/**
* @brief Event callback from rasterize thread. This is called after the animation is finished.
+ *
+ * @param[in] playStateId The play state id
+ */
+ void OnAnimationFinished(uint32_t playStateId);
+
+ /**
+ * @brief Event callback from rasterize thread. This is called when we want to ensure rendering next frame.
+ *
+ * @param[in] argument Not using arguments
*/
*/
- void On
AnimationFinished(
);
+ void On
ForceRendering(uint32_t argument
);
/**
* @brief Send animation data to the rasterize thread.
/**
* @brief Send animation data to the rasterize thread.
@@
-230,7
+246,7
@@
private:
AnimatedVectorImageVisual& operator=(const AnimatedVectorImageVisual& visual) = delete;
private:
AnimatedVectorImageVisual& operator=(const AnimatedVectorImageVisual& visual) = delete;
private:
- VisualUrl mUrl;
+ VisualUrl m
Image
Url;
VectorAnimationTask::AnimationData mAnimationData;
VectorAnimationTaskPtr mVectorAnimationTask;
ImageVisualShaderFactory& mImageVisualShaderFactory;
VectorAnimationTask::AnimationData mAnimationData;
VectorAnimationTaskPtr mVectorAnimationTask;
ImageVisualShaderFactory& mImageVisualShaderFactory;
@@
-238,13
+254,19
@@
private:
PropertyNotification mSizeNotification;
Vector2 mVisualSize;
Vector2 mVisualScale;
PropertyNotification mSizeNotification;
Vector2 mVisualSize;
Vector2 mVisualScale;
+ Dali::ImageDimensions mDesiredSize{};
WeakHandle<Actor> mPlacementActor;
DevelImageVisual::PlayState::Type mPlayState;
CallbackBase* mEventCallback; // Not owned
WeakHandle<Actor> mPlacementActor;
DevelImageVisual::PlayState::Type mPlayState;
CallbackBase* mEventCallback; // Not owned
- bool mLoadFailed;
- bool mRendererAdded;
- bool mCoreShutdown;
- bool mRedrawInScalingDown;
+
+ uint32_t mLastSentPlayStateId;
+
+ bool mLoadFailed : 1;
+ bool mRendererAdded : 1;
+ bool mCoreShutdown : 1;
+ bool mRedrawInScalingDown : 1;
+ bool mEnableFrameCache : 1;
+ bool mUseNativeImage : 1;
};
} // namespace Internal
};
} // namespace Internal