소스 검색

Merge pull request #1729 from shadowphiar/container_width_issue

autoSize issue in nested containers
Sean Taylor 10 년 전
부모
커밋
23e588ae10
1개의 변경된 파일8개의 추가작업 그리고 4개의 파일을 삭제
  1. 8 4
      gameplay/src/Container.cpp

+ 8 - 4
gameplay/src/Container.cpp

@@ -554,9 +554,11 @@ void Container::updateBounds()
             for (size_t i = 0, count = _controls.size(); i < count; ++i)
             for (size_t i = 0, count = _controls.size(); i < count; ++i)
             {
             {
                 Control* ctrl = _controls[i];
                 Control* ctrl = _controls[i];
-                if (ctrl->isVisible() && !ctrl->isXPercentage() && !ctrl->isWidthPercentage())
+                if (ctrl->isVisible() && !ctrl->isWidthPercentage())
                 {
                 {
-                    float w = ctrl->getX() + ctrl->getWidth();
+                    float w = ctrl->getWidth();
+                    if (!ctrl->isXPercentage())
+                        w += ctrl->getX();
                     if (width < w)
                     if (width < w)
                         width = w;
                         width = w;
                 }
                 }
@@ -572,9 +574,11 @@ void Container::updateBounds()
             for (size_t i = 0, count = _controls.size(); i < count; ++i)
             for (size_t i = 0, count = _controls.size(); i < count; ++i)
             {
             {
                 Control* ctrl = _controls[i];
                 Control* ctrl = _controls[i];
-                if (ctrl->isVisible() && !ctrl->isYPercentage() && !ctrl->isHeightPercentage())
+                if (ctrl->isVisible() && !ctrl->isHeightPercentage())
                 {
                 {
-                    float h = ctrl->getY() + ctrl->getHeight();
+                    float h = ctrl->getHeight();
+                    if (!ctrl->isYPercentage())
+                        h += ctrl->getY();
                     if (height < h)
                     if (height < h)
                         height = h;
                         height = h;
                 }
                 }