Merge "Support Right-To-Left of padding/margin in imageView" into devel/master
authorTaeyoon Lee <taeyoon0.lee@samsung.com>
Tue, 21 Nov 2017 06:57:11 +0000 (06:57 +0000)
committerGerrit Code Review <gerrit@review.ap-northeast-2.compute.internal>
Tue, 21 Nov 2017 06:57:11 +0000 (06:57 +0000)
automated-tests/src/dali-toolkit/utc-Dali-ImageView.cpp
dali-toolkit/internal/controls/image-view/image-view-impl.cpp [changed mode: 0644->0755]

index a770a77..97a4b1d 100644 (file)
@@ -489,6 +489,12 @@ int UtcDaliImageViewAsyncLoadingWithAtlasing(void)
   application.Render(16);
   application.SendNotification();
 
+  imageView.SetProperty( Dali::Actor::Property::LAYOUT_DIRECTION,  Dali::LayoutDirection::RIGHT_TO_LEFT );
+  application.SendNotification();
+  application.Render(16);
+  application.Render(16);
+  application.SendNotification();
+
   // loading started, this waits for the loader thread for max 30 seconds
   DALI_TEST_EQUALS( Test::WaitForEventThreadTrigger( 1 ), true, TEST_LOCATION );
 
old mode 100644 (file)
new mode 100755 (executable)
index 835bb4e..3466d82
@@ -269,6 +269,13 @@ void ImageView::OnRelayout( const Vector2& size, RelayoutContainer& container )
 
     if( ( padding.start != 0 ) || ( padding.end != 0 ) || ( padding.top != 0 ) || ( padding.bottom != 0 ) )
     {
+      Dali::LayoutDirection::Type layoutDirection = static_cast<Dali::LayoutDirection::Type>( Self().GetProperty(Dali::Actor::Property::LAYOUT_DIRECTION).Get<int>() );
+
+      if( Dali::LayoutDirection::RIGHT_TO_LEFT == layoutDirection )
+      {
+        std::swap(padding.start, padding.end);
+      }
+
       transformMap.Add( Toolkit::Visual::Transform::Property::OFFSET, Vector2( padding.start, padding.top ) )
                   .Add( Toolkit::Visual::Transform::Property::OFFSET_POLICY, Vector2( Toolkit::Visual::Transform::Policy::ABSOLUTE, Toolkit::Visual::Transform::Policy::ABSOLUTE ) )
                   .Add( Toolkit::Visual::Transform::Property::ORIGIN, Toolkit::Align::TOP_BEGIN )