handle centering
Project: http://git-wip-us.apache.org/repos/asf/flex-asjs/repo Commit: http://git-wip-us.apache.org/repos/asf/flex-asjs/commit/712a17e7 Tree: http://git-wip-us.apache.org/repos/asf/flex-asjs/tree/712a17e7 Diff: http://git-wip-us.apache.org/repos/asf/flex-asjs/diff/712a17e7 Branch: refs/heads/develop Commit: 712a17e799fa8d53a352ece9022bbf9602f199b9 Parents: 7de620a Author: Alex Harui <[email protected]> Authored: Wed Apr 26 22:49:27 2017 -0700 Committer: Alex Harui <[email protected]> Committed: Thu Apr 27 14:15:18 2017 -0700 ---------------------------------------------------------------------- .../org/apache/flex/html/beads/layouts/BasicLayout.as | 12 ++++++++++++ .../apache/flex/html/beads/layouts/HorizontalLayout.as | 9 +++++---- .../apache/flex/html/beads/layouts/VerticalLayout.as | 7 ++----- 3 files changed, 19 insertions(+), 9 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/712a17e7/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/BasicLayout.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/BasicLayout.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/BasicLayout.as index 72c42d8..a7a54ac 100644 --- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/BasicLayout.as +++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/BasicLayout.as @@ -126,9 +126,13 @@ package org.apache.flex.html.beads.layouts else { if (ilc) + { ilc.setX( w - positions.right - margins.left - child.width - margins.right); + } else + { child.x = w - positions.right - margins.left - child.width - margins.right; + } } } } @@ -162,6 +166,14 @@ package org.apache.flex.html.beads.layouts { ilc.setHeight((hh - margins.top - margins.bottom) * ilc.percentHeight/100, false); } + + if (margins.auto) + { + if (ilc) + ilc.setX( (w - child.width) / 2); + else + child.x = (w - child.width) / 2; + } } return true; http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/712a17e7/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/HorizontalLayout.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/HorizontalLayout.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/HorizontalLayout.as index 148866b..89aab6e 100644 --- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/HorizontalLayout.as +++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/HorizontalLayout.as @@ -147,10 +147,11 @@ package org.apache.flex.html.beads.layouts childHeight = hostHeight * ilc.percentHeight/100.0; ilc.setHeight(childHeight); } - // the following code middle-aligns the child, but since HTML does not - // do this normally, this code is commented. (Use HorizontalFlexLayout for - // vertically centered elements in a horizontal row). -// childYpos = hostHeight/2 - (childHeight + mt + mb)/2; + var valign:Object = ValuesManager.valuesImpl.getValue(child, "vertical-align"); + if (valign == "middle") + { + childYpos = hostHeight/2 - (childHeight + margins.top + margins.bottom)/2; + } } if (ilc) { http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/712a17e7/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/VerticalLayout.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/VerticalLayout.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/VerticalLayout.as index a8b9774..6357e9f 100644 --- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/VerticalLayout.as +++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/VerticalLayout.as @@ -126,12 +126,9 @@ package org.apache.flex.html.beads.layouts childWidth = hostWidth * ilc.percentWidth/100.0; ilc.setWidth(childWidth); } - // the following code center-aligns the child, but since HTML does not - // do this normally, this code is commented. (Use VerticalFlexLayout for - // horizontally centered elements in a vertical column). - // childXpos = hostWidth/2 - (childWidth + ml + mr)/2; + if (margins.auto) + childXpos = (hostWidth - childWidth) / 2; } - if (ilc) { ilc.setX(childXpos); ilc.setY(ypos);
