Fix z value issue 81/193381/7
authorhuiyu.eun <huiyu.eun@samsung.com>
Tue, 20 Nov 2018 02:49:30 +0000 (11:49 +0900)
committerhuiyu.eun <huiyu.eun@samsung.com>
Tue, 19 Feb 2019 07:45:54 +0000 (16:45 +0900)
Change-Id: I9d3f72e5001cdf9ef81a8d30d0e9ee9733790e0a
Signed-off-by: huiyu.eun <huiyu.eun@samsung.com>
automated-tests/src/dali-toolkit/utc-Dali-AbsoluteLayout.cpp
dali-toolkit/internal/layouting/layout-controller-impl.cpp

index 395e8f9..98ea974 100644 (file)
@@ -69,7 +69,6 @@ int UtcDaliLayouting_AbsoluteLayoutAssignment(void)
   END_TEST;
 }
 
-
 int UtcDaliLayouting_AbsoluteLayout01(void)
 {
   ToolkitTestApplication application;
@@ -120,3 +119,43 @@ int UtcDaliLayouting_AbsoluteLayout01(void)
 
   END_TEST;
 }
+
+int UtcDaliLayouting_AbsoluteLayout_SetPosition(void)
+{
+  ToolkitTestApplication application;
+  tet_infoline(" UtcDaliLayouting_AbsoluteLayout_GetWorldPosition - Testing WorldPosition");
+
+  Stage stage = Stage::GetCurrent();
+
+  Dali::Toolkit::Control layoutControl = Dali::Toolkit::Control::New();
+  layoutControl.SetName("AsoluteLayout");
+  layoutControl.SetAnchorPoint( Dali::AnchorPoint::CENTER );
+  layoutControl.SetParentOrigin( Dali::ParentOrigin::CENTER );
+
+  Dali::Toolkit::AbsoluteLayout absoluteLayout = Dali::Toolkit::AbsoluteLayout::New();
+  Dali::Toolkit::DevelControl::SetLayout( layoutControl, absoluteLayout );
+
+  stage.GetRootLayer().Add( layoutControl );
+
+  // Ensure layouting happens
+  application.SendNotification();
+  application.Render(0);
+
+  Dali::Toolkit::Control control = Dali::Toolkit::Control::New();
+  control.SetSize( 100.0f, 100.0f );
+  control.SetParentOrigin( ParentOrigin::CENTER );
+  control.SetAnchorPoint( AnchorPoint::CENTER );
+  Vector3 parentPosition( 1.0f, 2.0f, 3.0f );
+  control.SetPosition( parentPosition );
+
+  layoutControl.Add( control );
+
+  // Ensure layouting happens
+  application.SendNotification();
+  application.Render(0);
+
+  // The value of z should not be zero
+  DALI_TEST_EQUALS( control.GetCurrentPosition(), parentPosition, TEST_LOCATION );
+
+  END_TEST;
+}
index 9d0b947..b0637b3 100644 (file)
@@ -347,13 +347,19 @@ void LayoutController::PerformLayoutPositioning( LayoutPositionDataArray& layout
     {
       if( !layoutPositionData.animated )
       {
-        actor.SetPosition( layoutPositionData.left, layoutPositionData.top );
-        actor.SetSize( layoutPositionData.right - layoutPositionData.left, layoutPositionData.bottom - layoutPositionData.top );
+        actor.SetX( layoutPositionData.left );
+        actor.SetY( layoutPositionData.top );
+
+        actor.SetProperty( Actor::Property::SIZE_WIDTH, layoutPositionData.right - layoutPositionData.left );
+        actor.SetProperty( Actor::Property::SIZE_HEIGHT, layoutPositionData.bottom - layoutPositionData.top );
       }
       else
       {
-        actor.SetPosition( actor.GetCurrentPosition() );
-        actor.SetSize( actor.GetCurrentSize() );
+        actor.SetX( actor.GetCurrentPosition().x );
+        actor.SetY( actor.GetCurrentPosition().y );
+
+        actor.SetProperty( Actor::Property::SIZE_WIDTH, actor.GetCurrentSize().x );
+        actor.SetProperty( Actor::Property::SIZE_HEIGHT, actor.GetCurrentSize().y );
       }
     }
   }