[Tizen] Fix ImageView Padding and Margin issues
[platform/core/uifw/dali-toolkit.git] / dali-toolkit / public-api / controls / control-impl.cpp
index 49064a8..010ac04 100755 (executable)
@@ -139,34 +139,21 @@ void SetBackgroundVisual( Control::Impl& controlImpl, Toolkit::Visual::Base& vis
 {
   Property::Map transformMap = Property::Map();
 
-  Vector2 newSize( 0.f, 0.f );
-  newSize.width = size.width + ( controlImpl.mPadding.start + controlImpl.mPadding.end );
-  newSize.height = size.height + ( controlImpl.mPadding.top + controlImpl.mPadding.bottom );
-
-  if( ( controlImpl.mMargin.start != 0 ) ||
-      ( controlImpl.mMargin.end != 0 ) ||
-      ( controlImpl.mMargin.top != 0 ) ||
-      ( controlImpl.mMargin.bottom != 0 ) )
+  if( ( ( controlImpl.mMargin.start != 0 ) ||
+        ( controlImpl.mMargin.end != 0 ) ||
+        ( controlImpl.mMargin.top != 0 ) ||
+        ( controlImpl.mMargin.bottom != 0 ) ) &&
+      ( controlImpl.mControlImpl.Self().GetCurrentAnchorPoint() != AnchorPoint::CENTER ) )
   {
-    transformMap.Add( Toolkit::Visual::Transform::Property::SIZE, newSize )
+    transformMap.Add( Toolkit::Visual::Transform::Property::SIZE, size )
                 .Add( Toolkit::Visual::Transform::Property::SIZE_POLICY, Vector2( Toolkit::Visual::Transform::Policy::ABSOLUTE, Toolkit::Visual::Transform::Policy::ABSOLUTE ) )
                 .Add( Toolkit::Visual::Transform::Property::OFFSET, Vector2( controlImpl.mMargin.start, controlImpl.mMargin.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 )
                 .Add( Toolkit::Visual::Transform::Property::ANCHOR_POINT, Toolkit::Align::TOP_BEGIN );
   }
-  else if( ( controlImpl.mPadding.start != 0 ) ||
-           ( controlImpl.mPadding.end != 0 ) ||
-           ( controlImpl.mPadding.top != 0 ) ||
-           ( controlImpl.mPadding.bottom != 0 ) )
-  {
-    transformMap.Add( Toolkit::Visual::Transform::Property::SIZE, newSize )
-                .Add( Toolkit::Visual::Transform::Property::SIZE_POLICY, Vector2( Toolkit::Visual::Transform::Policy::ABSOLUTE, Toolkit::Visual::Transform::Policy::ABSOLUTE ) )
-                .Add( Toolkit::Visual::Transform::Property::ORIGIN, Toolkit::Align::TOP_BEGIN )
-                .Add( Toolkit::Visual::Transform::Property::ANCHOR_POINT, Toolkit::Align::TOP_BEGIN );
-  }
 
-  visual.SetTransformAndSize( transformMap, newSize ); // Send an empty map as we do not want to modify the visual's set transform
+  visual.SetTransformAndSize( transformMap, size ); // Send an empty map as we do not want to modify the visual's set transform
 }
 
 } // unnamed namespace
@@ -465,13 +452,15 @@ bool Control::EmitKeyEventSignal( const KeyEvent& event )
 
   bool consumed = false;
 
+  consumed = mImpl->FilterKeyEvent( event );
+
   // signals are allocated dynamically when someone connects
-  if ( !mImpl->mKeyEventSignal.Empty() )
+  if ( !consumed && !mImpl->mKeyEventSignal.Empty() )
   {
     consumed = mImpl->mKeyEventSignal.Emit( handle, event );
   }
 
-  if (!consumed)
+  if ( !consumed )
   {
     // Notification for derived classes
     consumed = OnKeyEvent(event);