WheelEvent class pimpling
[platform/core/uifw/dali-toolkit.git] / dali-toolkit / internal / controls / scrollable / scroll-view / scroll-view-impl.cpp
old mode 100755 (executable)
new mode 100644 (file)
index e395194..a4ebfa9
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2020 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.
@@ -21,9 +21,9 @@
 // EXTERNAL INCLUDES
 #include <cstring> // for strcmp
 #include <dali/public-api/animation/constraints.h>
-#include <dali/public-api/common/stage.h>
+#include <dali/devel-api/common/stage.h>
 #include <dali/public-api/events/wheel-event.h>
-#include <dali/public-api/events/touch-data.h>
+#include <dali/public-api/events/touch-event.h>
 #include <dali/public-api/object/type-registry.h>
 #include <dali/public-api/object/type-registry-helper.h>
 #include <dali/public-api/object/property-map.h>
@@ -31,7 +31,7 @@
 #include <dali/integration-api/debug.h>
 
 // INTERNAL INCLUDES
-#include <dali-toolkit/public-api/controls/scroll-bar/scroll-bar.h>
+#include <dali-toolkit/devel-api/controls/scroll-bar/scroll-bar.h>
 #include <dali-toolkit/public-api/controls/scrollable/scroll-view/scroll-view.h>
 #include <dali-toolkit/public-api/controls/scrollable/scroll-view/scroll-view-constraints.h>
 #include <dali-toolkit/public-api/controls/scrollable/scroll-view/scroll-mode.h>
@@ -145,9 +145,9 @@ float VectorInDomain(float a, float b, float start, float end, Dali::Toolkit::Di
  */
 Vector3 GetPositionOfAnchor(Actor &actor, const Vector3 &anchor)
 {
-  Vector3 childPosition = actor.GetCurrentPosition();
-  Vector3 childAnchor = - actor.GetCurrentAnchorPoint() + anchor;
-  Vector3 childSize = actor.GetCurrentSize();
+  Vector3 childPosition = actor.GetCurrentProperty< Vector3 >( Actor::Property::POSITION );
+  Vector3 childAnchor = - actor.GetCurrentProperty< Vector3 >( Actor::Property::ANCHOR_POINT ) + anchor;
+  Vector3 childSize = actor.GetCurrentProperty< Vector3 >( Actor::Property::SIZE );
 
   return childPosition + childAnchor * childSize;
 }
@@ -676,8 +676,8 @@ void ScrollView::OnInitialize()
   mInternalActor = Actor::New();
   self.Add(mInternalActor);
 
-  mInternalActor.SetParentOrigin(ParentOrigin::CENTER);
-  mInternalActor.SetAnchorPoint(AnchorPoint::CENTER);
+  mInternalActor.SetProperty( Actor::Property::PARENT_ORIGIN,ParentOrigin::CENTER );
+  mInternalActor.SetProperty( Actor::Property::ANCHOR_POINT,AnchorPoint::CENTER);
   mInternalActor.SetResizePolicy( ResizePolicy::FILL_TO_PARENT, Dimension::ALL_DIMENSIONS );
 
   mAlterChild = true;
@@ -704,7 +704,7 @@ void ScrollView::OnInitialize()
   SetInternalConstraints();
 }
 
-void ScrollView::OnStageConnection( int depth )
+void ScrollView::OnSceneConnection( int depth )
 {
   DALI_LOG_SCROLL_STATE("[0x%X]", this);
 
@@ -720,16 +720,16 @@ void ScrollView::OnStageConnection( int depth )
     EnableScrollOvershoot(true);
   }
 
-  ScrollBase::OnStageConnection( depth );
+  ScrollBase::OnSceneConnection( depth );
 }
 
-void ScrollView::OnStageDisconnection()
+void ScrollView::OnSceneDisconnection()
 {
   DALI_LOG_SCROLL_STATE("[0x%X]", this);
 
   StopAnimation();
 
-  ScrollBase::OnStageDisconnection();
+  ScrollBase::OnSceneDisconnection();
 }
 
 ScrollView::~ScrollView()
@@ -1321,8 +1321,8 @@ void ScrollView::ScrollTo(Actor &actor, float duration)
   DALI_ASSERT_ALWAYS(actor.GetParent() == Self());
 
   Actor self = Self();
-  Vector3 size = self.GetCurrentSize();
-  Vector3 position = actor.GetCurrentPosition();
+  Vector3 size = self.GetCurrentProperty< Vector3 >( Actor::Property::SIZE );
+  Vector3 position = actor.GetCurrentProperty< Vector3 >( Actor::Property::POSITION );
   Vector2 prePosition = GetPropertyPrePosition();
   position.GetVectorXY() -= prePosition;
 
@@ -1332,7 +1332,7 @@ void ScrollView::ScrollTo(Actor &actor, float duration)
 Actor ScrollView::FindClosestActor()
 {
   Actor self = Self();
-  Vector3 size = self.GetCurrentSize();
+  Vector3 size = self.GetCurrentProperty< Vector3 >( Actor::Property::SIZE );
 
   return FindClosestActorToPosition(Vector3(size.width * 0.5f,size.height * 0.5f,0.0f));
 }
@@ -1524,7 +1524,7 @@ bool ScrollView::SnapWithVelocity(Vector2 velocity)
 
   if(mActorAutoSnapEnabled)
   {
-    Vector3 size = Self().GetCurrentSize();
+    Vector3 size = Self().GetCurrentProperty< Vector3 >( Actor::Property::SIZE );
 
     Actor child = FindClosestActorToPosition( Vector3(size.width * 0.5f,size.height * 0.5f,0.0f), horizontal, vertical );
 
@@ -1777,7 +1777,7 @@ void ScrollView::EnableScrollOvershoot(bool enable)
 
 void ScrollView::AddOverlay(Actor actor)
 {
-  actor.SetDrawMode( DrawMode::OVERLAY_2D );
+  actor.SetProperty( Actor::Property::DRAW_MODE, DrawMode::OVERLAY_2D );
   mInternalActor.Add( actor );
 }
 
@@ -1968,7 +1968,7 @@ void ScrollView::OnChildAdd(Actor& child)
   if( scrollBar )
   {
     mScrollBar = scrollBar;
-    scrollBar.SetName("ScrollBar");
+    scrollBar.SetProperty( Dali::Actor::Property::NAME,"ScrollBar");
 
     mInternalActor.Add( scrollBar );
     if( scrollBar.GetScrollDirection() == Toolkit::ScrollBar::Horizontal )
@@ -2059,7 +2059,7 @@ bool ScrollView::OnTouchDownTimeout()
   return false;
 }
 
-bool ScrollView::OnTouch( Actor actor, const TouchData& touch )
+bool ScrollView::OnTouch( Actor actor, const TouchEvent& touch )
 {
   if(!mSensitive)
   {
@@ -2125,7 +2125,7 @@ bool ScrollView::OnTouch( Actor actor, const TouchData& touch )
     mScrollInterrupted = false;
   }
 
-  return true;
+  return false;
 }
 
 bool ScrollView::OnWheelEvent(const WheelEvent& event)
@@ -2144,14 +2144,14 @@ bool ScrollView::OnWheelEvent(const WheelEvent& event)
     if(mRulerX->GetType() == Ruler::Free)
     {
       // Free panning mode
-      targetScrollPosition.x += event.z * mWheelScrollDistanceStep.x;
+      targetScrollPosition.x += event.GetDelta() * mWheelScrollDistanceStep.x;
       ClampPosition(targetScrollPosition);
       ScrollTo(-targetScrollPosition);
     }
     else if(!mScrolling)
     {
       // Snap mode, only respond to the event when the previous snap animation is finished.
-      ScrollTo(GetCurrentPage() - event.z);
+      ScrollTo(GetCurrentPage() - event.GetDelta());
     }
   }
   else
@@ -2160,14 +2160,14 @@ bool ScrollView::OnWheelEvent(const WheelEvent& event)
     if(mRulerY->GetType() == Ruler::Free)
     {
       // Free panning mode
-      targetScrollPosition.y += event.z * mWheelScrollDistanceStep.y;
+      targetScrollPosition.y += event.GetDelta() * mWheelScrollDistanceStep.y;
       ClampPosition(targetScrollPosition);
       ScrollTo(-targetScrollPosition);
     }
     else if(!mScrolling)
     {
       // Snap mode, only respond to the event when the previous snap animation is finished.
-      ScrollTo(GetCurrentPage() - event.z * mRulerX->GetTotalPages());
+      ScrollTo(GetCurrentPage() - event.GetDelta() * mRulerX->GetTotalPages());
     }
   }
 
@@ -2494,7 +2494,7 @@ void ScrollView::OnPan( const PanGesture& gesture )
       Toolkit::ScrollBar scrollBar = mScrollBar.GetHandle();
       if( scrollBar && mTransientScrollBar )
       {
-        Vector3 size = Self().GetCurrentSize();
+        Vector3 size = Self().GetCurrentProperty< Vector3 >( Actor::Property::SIZE );
         const Toolkit::RulerDomain& rulerDomainX = mRulerX->GetDomain();
         const Toolkit::RulerDomain& rulerDomainY = mRulerY->GetDomain();
 
@@ -2635,7 +2635,7 @@ void ScrollView::FinishTransform()
 
 Vector2 ScrollView::GetOvershoot(Vector2& position) const
 {
-  Vector3 size = Self().GetCurrentSize();
+  Vector3 size = Self().GetCurrentProperty< Vector3 >( Actor::Property::SIZE );
   Vector2 overshoot;
 
   const RulerDomain rulerDomainX = mRulerX->GetDomain();
@@ -2690,7 +2690,7 @@ void ScrollView::ClampPosition(Vector2& position) const
 
 void ScrollView::ClampPosition(Vector2& position, ClampState2D &clamped) const
 {
-  Vector3 size = Self().GetCurrentSize();
+  Vector3 size = Self().GetCurrentProperty< Vector3 >( Actor::Property::SIZE );
 
   position.x = -mRulerX->Clamp(-position.x, size.width, 1.0f, clamped.x);    // NOTE: X & Y rulers think in -ve coordinate system.
   position.y = -mRulerY->Clamp(-position.y, size.height, 1.0f, clamped.y);   // That is scrolling RIGHT (e.g. 100.0, 0.0) means moving LEFT.