void SetMixColor( const Vector3& color );
/**
- * Gets the mix color of the visual.
- * @return The mix color
- */
- const Vector4& GetMixColor() const;
-
- /**
* Animate the property if it exists in the visual or renderer.
*
* If it's a visual property such as mix color or a transform property,
*/
Toolkit::Visual::Type GetType() const;
- protected:
+ /**
+ * @brief Retrieve the property object associated with the property key.
+ *
+ * @param[in] key The Property key of the visual.
+ * @return The Property object
+ */
+ Dali::Property GetPropertyObject(Dali::Property::Key key);
+protected:
/**
* @brief Constructor.
*
/**
* @brief A reference counted object may only be deleted by calling Unreference().
*/
- virtual ~Base();
+ ~Base() override;
protected:
*/
virtual void OnDoAction( const Property::Index actionId, const Property::Value& attributes );
+ /**
+ * @brief Update the shader when some properties are changed.
+ */
+ virtual void UpdateShader()
+ {
+ }
+
+ /**
+ * @brief Called by GetPropertyObject() allowing sub classes to respond to the GetPropertyObject event
+ * @note The derived class is required to register the given property.
+ * @param[in] key The key of the visual's property.
+ * @return The Property object
+ */
+ virtual Dali::Property OnGetPropertyObject(Dali::Property::Key key)
+ {
+ Handle handle;
+ return Dali::Property(handle, Property::INVALID_INDEX);
+ }
+
protected:
/**
void AnimateMixColorProperty( Dali::Animation& transition,
Internal::TransitionData::Animator& animator );
- /**
- * Set up the right blend mode if the opacity is being animated.
- * Also ensure that when the animation finishes, the blend mode is
- * set to the appropriate value. It also uses the target value as
- * set into mMixColor.
- *
- * @param[in] transition The transition to listen to
- * @param[in] isInitialOpaque Whether the initial value is opaque
- * @param[in] animating If the transition animates the value.
- */
- void SetupBlendMode( Dali::Animation& transition,
- bool isInitialOpaque, bool animating );
-
- /**
- * When a mix color animation has finished, ensure the blend mode is set back
- * to the right value for the target opacity.
- */
- void OnMixColorFinished( Animation& animation );
-
// Undefined
Base( const Visual::Base& visual );