Using New Constraints
[platform/core/uifw/dali-toolkit.git] / dali-toolkit / public-api / controls / scrollable / scroll-view / scroll-view-constraints.cpp
index 48b21f1..995bfc2 100644 (file)
@@ -30,31 +30,23 @@ namespace Dali
 namespace Toolkit
 {
 
-Vector3 MoveActorConstraint(const Vector3&    current,
-                            const PropertyInput& scrollPositionProperty)
+void MoveActorConstraint( Vector3& current, const PropertyInputContainer& inputs )
 {
-  return current + scrollPositionProperty.GetVector3();
+  current += inputs[0]->GetVector3();
 }
 
-Vector3 WrapActorConstraint(const Vector3&    current,
-                            const PropertyInput& actorScaleProperty,
-                            const PropertyInput& actorAnchorPointProperty,
-                            const PropertyInput& actorSizeProperty,
-                            const PropertyInput& scrollPositionMin,
-                            const PropertyInput& scrollPositionMax,
-                            const PropertyInput& scrollWrap)
+void WrapActorConstraint( Vector3& position, const PropertyInputContainer& inputs )
 {
-  Vector3 position = current;
-  bool wrap = scrollWrap.GetBoolean();
+  bool wrap = inputs[5]->GetBoolean();
 
   if(wrap)
   {
-    const Vector3& min = scrollPositionMin.GetVector3();
-    const Vector3& max = scrollPositionMax.GetVector3();
+    const Vector3& min = inputs[3]->GetVector3();
+    const Vector3& max = inputs[4]->GetVector3();
 
-    const Vector3& anchor = actorAnchorPointProperty.GetVector3();
-    const Vector3 scale = actorScaleProperty.GetVector3();
-    const Vector3 size = actorSizeProperty.GetVector3();
+    const Vector3& anchor = inputs[1]->GetVector3();
+    const Vector3 scale = inputs[0]->GetVector3();
+    const Vector3 size = inputs[2]->GetVector3();
 
     if(fabsf(min.x - max.x) > Math::MACHINE_EPSILON_1)
     {
@@ -70,8 +62,6 @@ Vector3 WrapActorConstraint(const Vector3&    current,
       position.y = WrapInDomain(position.y + offsetY, min.y, max.y) - offsetY;
     }
   }
-
-  return position;
 }
 
 } // namespace Toolkit