DirectRendering demo
[platform/core/uifw/dali-demo.git] / examples / gradients / gradients-example.cpp
index 85eba7c..5d57114 100644 (file)
@@ -16,6 +16,7 @@
  */
 
 #include <dali-toolkit/dali-toolkit.h>
+#include <dali-toolkit/devel-api/controls/control-devel.h>
 #include <dali-toolkit/devel-api/visuals/visual-properties-devel.h>
 #include "shared/view.h"
 
@@ -32,7 +33,7 @@ const char* const CHANGE_ICON_SELECTED(DEMO_IMAGE_DIR "icon-change-selected.png"
 const char* const ROUNDED_CORNER_ICON(DEMO_IMAGE_DIR "icon-replace.png");
 const char* const ROUNDED_CORNER_ICON_SELECTED(DEMO_IMAGE_DIR "icon-replace-selected.png");
 
-const float CORNER_RADIUS_VALUE(20.0f);
+constexpr Vector4 CORNER_RADIUS_VALUE(20.0f, 20.0f, 20.0f, 20.0f);
 
 } // namespace
 
@@ -118,7 +119,7 @@ public:
     stopColors.PushBack(Color::YELLOW);
     mGradientMap.Insert(GradientVisual::Property::STOP_COLOR, stopColors);
 
-    mGradientMap.Insert(DevelVisual::Property::CORNER_RADIUS, mRoundedCorner ? CORNER_RADIUS_VALUE : 0.0f);
+    mGradientMap.Insert(DevelVisual::Property::CORNER_RADIUS, mRoundedCorner ? CORNER_RADIUS_VALUE : Vector4::ZERO);
 
     UpdateGradientMap();
   }
@@ -132,10 +133,18 @@ public:
 
   bool OnRoundedCornerClicked(Toolkit::Button button)
   {
-    mRoundedCorner                                     = !mRoundedCorner;
-    mGradientMap[DevelVisual::Property::CORNER_RADIUS] = mRoundedCorner ? CORNER_RADIUS_VALUE : 0.0f;
+    mRoundedCorner = !mRoundedCorner;
 
-    UpdateGradientMap();
+    Animation animation = Animation::New(2.0f);
+    if(mRoundedCorner)
+    {
+      animation.AnimateTo(DevelControl::GetVisualProperty(mGradientControl, Control::Property::BACKGROUND, DevelVisual::Property::CORNER_RADIUS), CORNER_RADIUS_VALUE);
+    }
+    else
+    {
+      animation.AnimateTo(DevelControl::GetVisualProperty(mGradientControl, Control::Property::BACKGROUND, DevelVisual::Property::CORNER_RADIUS), Vector4::ZERO);
+    }
+    animation.Play();
 
     return true;
   }