This is an automated email from the ASF dual-hosted git repository. aharui pushed a commit to branch develop in repository https://gitbox.apache.org/repos/asf/royale-asjs.git
commit 82a87a6f9dc1ee411fc82286353d5bdd0b69888a Author: Alex Harui <aha...@apache.org> AuthorDate: Thu Dec 6 21:29:00 2018 -0800 improve size to content handling. Right now in Royale, the target is not guaranteed to be sized before layout if sizing to content --- .../src/main/royale/spark/layouts/HorizontalLayout.as | 18 +++++++++--------- .../src/main/royale/spark/layouts/VerticalLayout.as | 16 ++++++++-------- 2 files changed, 17 insertions(+), 17 deletions(-) diff --git a/frameworks/projects/SparkRoyale/src/main/royale/spark/layouts/HorizontalLayout.as b/frameworks/projects/SparkRoyale/src/main/royale/spark/layouts/HorizontalLayout.as index a77be15..1bf83a3 100644 --- a/frameworks/projects/SparkRoyale/src/main/royale/spark/layouts/HorizontalLayout.as +++ b/frameworks/projects/SparkRoyale/src/main/royale/spark/layouts/HorizontalLayout.as @@ -1989,13 +1989,13 @@ public class HorizontalLayout extends LayoutBase * for the initial layout and then, if it has changed, we loop through * the layout items again and fix up the y/height values. */ - private function updateDisplayListVirtual():void + private function updateDisplayListVirtual(targetWidth:Number, targetHeight:Number):void { var layoutTarget:GroupBase = target; var eltCount:int = layoutTarget.numElements; - var targetHeight:Number = Math.max(0, layoutTarget.height - paddingTop - paddingBottom); + targetHeight = Math.max(0, targetHeight - paddingTop - paddingBottom); var minVisibleX:Number = layoutTarget.horizontalScrollPosition; - var maxVisibleX:Number = minVisibleX + layoutTarget.width; + var maxVisibleX:Number = minVisibleX + targetWidth; var contentWidth:Number; var paddedContentWidth:Number; @@ -2070,7 +2070,7 @@ public class HorizontalLayout extends LayoutBase // Third pass: if neccessary, fix up x based on updated contentWidth contentWidth = llv.end(llv.length - 1) - paddingLeft; - var targetWidth:Number = Math.max(0, layoutTarget.width - paddingLeft - paddingRight); + targetWidth = Math.max(0, targetWidth - paddingLeft - paddingRight); if (contentWidth < targetWidth) { var excessWidth:Number = targetWidth - contentWidth; @@ -2108,11 +2108,11 @@ public class HorizontalLayout extends LayoutBase /** * @private */ - private function updateDisplayListReal():void + private function updateDisplayListReal(targetWidth:Number, targetHeight:Number):void { var layoutTarget:GroupBase = target; - var targetWidth:Number = Math.max(0, layoutTarget.width - paddingLeft - paddingRight); - var targetHeight:Number = Math.max(0, layoutTarget.height - paddingTop - paddingBottom); + targetWidth = Math.max(0, targetWidth - paddingLeft - paddingRight); + targetHeight = Math.max(0, targetHeight - paddingTop - paddingBottom); var layoutElement:ILayoutElement; var count:int = layoutTarget.numElements; @@ -2357,9 +2357,9 @@ public class HorizontalLayout extends LayoutBase } if (useVirtualLayout) - updateDisplayListVirtual(); + updateDisplayListVirtual(unscaledWidth, unscaledHeight); else - updateDisplayListReal(); + updateDisplayListReal(unscaledWidth, unscaledHeight); } /** diff --git a/frameworks/projects/SparkRoyale/src/main/royale/spark/layouts/VerticalLayout.as b/frameworks/projects/SparkRoyale/src/main/royale/spark/layouts/VerticalLayout.as index d56650a..44e4bfe 100644 --- a/frameworks/projects/SparkRoyale/src/main/royale/spark/layouts/VerticalLayout.as +++ b/frameworks/projects/SparkRoyale/src/main/royale/spark/layouts/VerticalLayout.as @@ -1847,13 +1847,13 @@ public class VerticalLayout extends LayoutBase * for the initial layout and then, if it has changed, we loop through * the layout items again and fix up the x/width values. */ - private function updateDisplayListVirtual():void + private function updateDisplayListVirtual(targetWidth:Number, targetHeight:Number):void { var layoutTarget:GroupBase = target; var eltCount:int = layoutTarget.numElements; - var targetWidth:Number = Math.max(0, layoutTarget.width - paddingLeft - paddingRight); + targetWidth = Math.max(0, targetWidth - paddingLeft - paddingRight); var minVisibleY:Number = layoutTarget.verticalScrollPosition; - var maxVisibleY:Number = minVisibleY + layoutTarget.height; + var maxVisibleY:Number = minVisibleY + targetHeight; var contentHeight:Number; var paddedContentHeight:Number; @@ -1966,11 +1966,11 @@ public class VerticalLayout extends LayoutBase /** * @private */ - private function updateDisplayListReal():void + private function updateDisplayListReal(targetWidth:Number, targetHeight:Number):void { var layoutTarget:GroupBase = target; - var targetWidth:Number = Math.max(0, layoutTarget.width - paddingLeft - paddingRight); - var targetHeight:Number = Math.max(0, layoutTarget.height - paddingTop - paddingBottom); + targetWidth = Math.max(0, targetWidth - paddingLeft - paddingRight); + targetHeight = Math.max(0, targetHeight - paddingTop - paddingBottom); var layoutElement:ILayoutElement; var count:int = layoutTarget.numElements; @@ -2190,9 +2190,9 @@ public class VerticalLayout extends LayoutBase } if (useVirtualLayout) - updateDisplayListVirtual(); + updateDisplayListVirtual(unscaledWidth, unscaledHeight); else - updateDisplayListReal(); + updateDisplayListReal(unscaledWidth, unscaledHeight); } /**