handle sizedToContent by growing to content instead of shrinking things
Project: http://git-wip-us.apache.org/repos/asf/flex-asjs/repo Commit: http://git-wip-us.apache.org/repos/asf/flex-asjs/commit/5ebb2aeb Tree: http://git-wip-us.apache.org/repos/asf/flex-asjs/tree/5ebb2aeb Diff: http://git-wip-us.apache.org/repos/asf/flex-asjs/diff/5ebb2aeb Branch: refs/heads/release0.8.0 Commit: 5ebb2aebcfd09d5b91cccc6c088dc4b79b9fb2c1 Parents: 93e2665 Author: Alex Harui <[email protected]> Authored: Wed Jun 7 22:47:27 2017 -0700 Committer: Alex Harui <[email protected]> Committed: Wed Jun 7 23:23:05 2017 -0700 ---------------------------------------------------------------------- .../flex/html/beads/layouts/VerticalFlexLayout.as | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/5ebb2aeb/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/VerticalFlexLayout.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/VerticalFlexLayout.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/VerticalFlexLayout.as index 0b845b5..4d86f14 100644 --- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/VerticalFlexLayout.as +++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/VerticalFlexLayout.as @@ -128,8 +128,16 @@ package org.apache.flex.html.beads.layouts // adjust the host's usable size by the metrics. If hostSizedToContent, then the // resulting adjusted value may be less than zero. - hostWidth -= paddingMetrics.left + paddingMetrics.right + borderMetrics.left + borderMetrics.right; - hostHeight -= paddingMetrics.top + paddingMetrics.bottom + borderMetrics.top + borderMetrics.bottom; + var extra:Number = paddingMetrics.left + paddingMetrics.right + borderMetrics.left + borderMetrics.right; + if (hostWidthSizedToContent) + hostWidth += extra; + else + hostWidth -= extra; + extra = paddingMetrics.top + paddingMetrics.bottom + borderMetrics.top + borderMetrics.bottom; + if (hostHeightSizedToContent) + hostHeight += extra; + else + hostHeight -= extra; var remainingHeight:Number = hostHeight; @@ -194,7 +202,7 @@ package org.apache.flex.html.beads.layouts useWidth = (data.width < 0 ? hostWidth : data.width); var setHeight:Boolean = true; - if (data.height != 0) { + if (data.height != 0 && !hostHeightSizedToContent) { if (data.grow > 0 && growCount > 0) { useHeight = remainingHeight / growCount; setHeight = false;
