X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=dali-toolkit%2Fpublic-api%2Fcontrols%2Fcontrol-impl.cpp;h=cba530868079bc99971b7ebbc273a300fa095aa6;hp=d7df20a35516da11117dbd1e3d94de634cfc79d2;hb=d9a5a0e168ee7978fcea370cd3a3618e50f6b579;hpb=a8cc5814798a6df3859462486d593245ddaa17e5 diff --git a/dali-toolkit/public-api/controls/control-impl.cpp b/dali-toolkit/public-api/controls/control-impl.cpp old mode 100644 new mode 100755 index d7df20a..cba5308 --- a/dali-toolkit/public-api/controls/control-impl.cpp +++ b/dali-toolkit/public-api/controls/control-impl.cpp @@ -644,12 +644,22 @@ void Control::OnRelayout( const Vector2& size, RelayoutContainer& container ) if( ( mImpl->mPadding.start != 0 ) || ( mImpl->mPadding.end != 0 ) || ( mImpl->mPadding.top != 0 ) || ( mImpl->mPadding.bottom != 0 ) || ( mImpl->mMargin.start != 0 ) || ( mImpl->mMargin.end != 0 ) || ( mImpl->mMargin.top != 0 ) || ( mImpl->mMargin.bottom != 0 ) ) { - newChildSize.width = size.width - ( mImpl->mPadding.start + mImpl->mPadding.end ); - newChildSize.height = size.height - ( mImpl->mPadding.top + mImpl->mPadding.bottom ); + Extents padding = mImpl->mPadding; + + Dali::CustomActor ownerActor(GetOwner()); + Dali::LayoutDirection::Type layoutDirection = static_cast( ownerActor.GetProperty( Dali::Actor::Property::LAYOUT_DIRECTION ).Get() ); + + if( Dali::LayoutDirection::RIGHT_TO_LEFT == layoutDirection ) + { + std::swap( padding.start, padding.end ); + } + + newChildSize.width = size.width - ( padding.start + padding.end ); + newChildSize.height = size.height - ( padding.top + padding.bottom ); Vector3 childPosition = child.GetTargetSize(); - childPosition.x += ( mImpl->mMargin.start + mImpl->mPadding.start ); - childPosition.y += ( mImpl->mMargin.top + mImpl->mPadding.top ); + childPosition.x += ( mImpl->mMargin.start + padding.start ); + childPosition.y += ( mImpl->mMargin.top + padding.top ); child.SetPosition( childPosition ); }