Create Renderer when the Visual is created
[platform/core/uifw/dali-toolkit.git] / dali-toolkit / internal / visuals / gradient / gradient-visual.h
index 70cdb4e..fdd458b 100644 (file)
@@ -2,7 +2,7 @@
 #define DALI_TOOLKIT_INTERNAL_GRADIENT_VISUAL_H
 
 /*
- * Copyright (c) 2019 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2021 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.
@@ -120,6 +120,11 @@ protected:
   virtual ~GradientVisual();
 
   /**
+   * @copydoc Visual::Base::OnInitialize
+   */
+  void OnInitialize() override;
+
+  /**
    * @copydoc Visual::Base::DoSetProperties
    */
   void DoSetProperties( const Property::Map& propertyMap ) override;
@@ -134,12 +139,12 @@ protected:
    */
   void DoSetOnScene( Actor& actor ) override;
 
-private:
-
   /**
-   * @brief Initialize the renderer with the geometry and shader from the cache, if not available, create and save to the cache for sharing.
+   * @copydoc Visual::Base::UpdateShader
    */
-  void InitializeRenderer();
+  void UpdateShader() override;
+
+private:
 
   /**
    * New a gradient object with the given property map.
@@ -149,6 +154,12 @@ private:
   bool NewGradient(Type gradientType, const Property::Map& propertyMap);
 
   /**
+   * @brief Get a shader for the current properties.
+   * @return The shader for the current properties.
+   */
+  Shader GetShader();
+
+  /**
    * Get the stop-offsets from the property.
    * The valid property type are ARRAY, VECTOR2, VECTOR3, VECTOR4.
    *