Merge "Fix setting z value issue in Layout" into devel/master
authorAdeel Kazmi <adeel.kazmi@samsung.com>
Fri, 31 Aug 2018 13:30:43 +0000 (13:30 +0000)
committerGerrit Code Review <gerrit@review.ap-northeast-2.compute.internal>
Fri, 31 Aug 2018 13:30:44 +0000 (13:30 +0000)
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();
+  layout.SetAnimateLayout( true );
   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;
-}
\ 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 );
-        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.
-        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 ) );
       }
     }