Fix setting z value issue in Layout 40/187840/8
authorhuiyu.eun <huiyu.eun@samsung.com>
Wed, 29 Aug 2018 02:05:36 +0000 (11:05 +0900)
committerhuiyu.eun <huiyu.eun@samsung.com>
Thu, 30 Aug 2018 01:55:30 +0000 (10:55 +0900)
Change-Id: I3b6dd617b4150b033bb600ae74c59c1dfdeb2d67
Signed-off-by: huiyu.eun <huiyu.eun@samsung.com>
automated-tests/src/dali-toolkit/utc-Dali-AbsoluteLayout.cpp
dali-toolkit/devel-api/layouting/layout-item-impl.cpp

index e443b7e..395e8f9 100644 (file)
@@ -78,6 +78,7 @@ int UtcDaliLayouting_AbsoluteLayout01(void)
   Stage stage = Stage::GetCurrent();
   auto absoluteLayout = Control::New();
   auto layout = AbsoluteLayout::New();
   Stage stage = Stage::GetCurrent();
   auto absoluteLayout = Control::New();
   auto layout = AbsoluteLayout::New();
+  layout.SetAnimateLayout( true );
   DevelControl::SetLayout( absoluteLayout, layout );
   absoluteLayout.SetName( "AsoluteLayout");
 
   DevelControl::SetLayout( absoluteLayout, layout );
   absoluteLayout.SetName( "AsoluteLayout");
 
@@ -118,4 +119,4 @@ int UtcDaliLayouting_AbsoluteLayout01(void)
   DALI_TEST_EQUALS( controls[3].GetProperty<Vector3>( Actor::Property::SIZE ), Vector3( 100.0f, 100.0f, 0.0f ), 0.0001f, TEST_LOCATION );
 
   END_TEST;
   DALI_TEST_EQUALS( controls[3].GetProperty<Vector3>( Actor::Property::SIZE ), Vector3( 100.0f, 100.0f, 0.0f ), 0.0001f, TEST_LOCATION );
 
   END_TEST;
-}
\ No newline at end of file
+}
index 71c0d46..20e23f3 100644 (file)
@@ -469,18 +469,22 @@ bool LayoutItem::SetFrame( LayoutLength left, LayoutLength top, LayoutLength rig
       if( mImpl->mAnimated )
       {
         auto animation = Animation::New( 0.5f );
       if( mImpl->mAnimated )
       {
         auto animation = Animation::New( 0.5f );
-        animation.AnimateTo( Property( actor, Actor::Property::POSITION ),
-                             Vector3( float(left.mValue), float(top.mValue), 0.0f ) );
-        animation.AnimateTo( Property( actor, Actor::Property::SIZE ),
-                             Vector3( right-left, bottom-top, 0.0f ) );
+        animation.AnimateTo( Property( actor, Actor::Property::POSITION_X ), float( left.mValue ) );
+        animation.AnimateTo( Property( actor, Actor::Property::POSITION_Y ), float( top.mValue ) );
+
+        animation.AnimateTo( Property( actor, Actor::Property::SIZE_WIDTH ), float( newWidth ) );
+        animation.AnimateTo( Property( actor, Actor::Property::SIZE_HEIGHT ), float( newHeight ) );
+
         animation.FinishedSignal().Connect( mSlotDelegate, &LayoutItem::OnLayoutAnimationFinished );
         animation.Play();
       }
       else
       {
         // @todo Collate into list of Property & Property::Value pairs.
         animation.FinishedSignal().Connect( mSlotDelegate, &LayoutItem::OnLayoutAnimationFinished );
         animation.Play();
       }
       else
       {
         // @todo Collate into list of Property & Property::Value pairs.
-        actor.SetPosition( Vector3( float(left.mValue), float(top.mValue), 0.0f ) );
-        actor.SetSize( Vector3( right-left, bottom-top, 0.0f ) );
+        actor.SetX( float( left.mValue ) );
+        actor.SetY( float( top.mValue ) );
+        actor.SetProperty( Actor::Property::SIZE_WIDTH, float( newWidth ) );
+        actor.SetProperty( Actor::Property::SIZE_HEIGHT, float( newHeight ) );
       }
     }
 
       }
     }