Fixed API about ContentArea.
[platform/framework/native/uifw.git] / src / ui / FUi_Control.cpp
index d69a2bb..078365e 100644 (file)
@@ -428,7 +428,15 @@ public:
 
        FloatDimension GetItemContentSize(bool horizontalMode, bool verticalMode) const
        {
-               return __pControl->GetControlDelegate().GetContentSizeF(horizontalMode, verticalMode);
+               FloatRectangle rect = __pControl->GetContentAreaBoundsF();
+               if (rect == FloatRectangle(0.0f, 0.0f, 0.0f, 0.0f))
+               {
+                       return __pControl->GetControlDelegate().GetContentSizeF(horizontalMode, verticalMode);
+               }
+               else
+               {
+                       return FloatDimension(rect.width, rect.height);
+               }
        }
 
        FloatDimension GetItemMinimumSize(void) const
@@ -4396,8 +4404,15 @@ _Control::GetContentAreaBoundsF(void) const
                        bool widthWrapContent = widthMatchMode == _Layout::WRAP_CONTENT;
                        bool heightWrapContent = heightMatchMode == _Layout::WRAP_CONTENT;
 
-                       FloatDimension contentSize = GetContentSizeF(widthWrapContent, heightWrapContent);
-                       return FloatRectangle(__bounds.x, __bounds.y, contentSize.width, contentSize.height);
+                       if (widthWrapContent || heightWrapContent)
+                       {
+                               FloatDimension contentSize = GetContentSizeF(widthWrapContent, heightWrapContent);
+                               return FloatRectangle(__bounds.x, __bounds.y, contentSize.width, contentSize.height);
+                       }
+                       else
+                       {
+                               return __contentAreaBounds;
+                       }
                }
        }
 }