You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@royale.apache.org by gr...@apache.org on 2021/12/16 03:38:49 UTC
[royale-asjs] branch develop updated: CanvasLayout was not doing anything for constraint-based children in JS (SWF not checked). This may need some tweaking, but it is an progress
This is an automated email from the ASF dual-hosted git repository.
gregdove pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/royale-asjs.git
The following commit(s) were added to refs/heads/develop by this push:
new 0ec9932 CanvasLayout was not doing anything for constraint-based children in JS (SWF not checked). This may need some tweaking, but it is an progress
0ec9932 is described below
commit 0ec99320149c59ecac8be6699398d67c5159965e
Author: greg-dove <gr...@gmail.com>
AuthorDate: Thu Dec 16 16:37:52 2021 +1300
CanvasLayout was not doing anything for constraint-based children in JS (SWF not checked). This may need some tweaking, but it is an progress
---
.../royale/mx/containers/beads/CanvasLayout.as | 37 +++++++++++++++++++++-
1 file changed, 36 insertions(+), 1 deletion(-)
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/containers/beads/CanvasLayout.as b/frameworks/projects/MXRoyale/src/main/royale/mx/containers/beads/CanvasLayout.as
index aeab418..c52937a 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/containers/beads/CanvasLayout.as
+++ b/frameworks/projects/MXRoyale/src/main/royale/mx/containers/beads/CanvasLayout.as
@@ -103,6 +103,10 @@ public class CanvasLayout extends LayoutBase
//
//--------------------------------------------------------------------------
+ /**
+ *
+ * @royaleignorecoercion Number
+ */
override public function layout():Boolean
{
COMPILE::SWF
@@ -212,7 +216,8 @@ public class CanvasLayout extends LayoutBase
// each child must have position:absolute for BasicLayout to work
for (i=0; i < n; i++) {
var child:IUIComponent = target.getLayoutChildAt(i);
- var hCenter:Number = Number((child as ILayoutElement).horizontalCenter);
+ var layoutChild:ILayoutElement = child as ILayoutElement;
+ var hCenter:Number = Number(layoutChild.horizontalCenter);
child.positioner.style.position = "absolute";
var layoutNeeded:Boolean = true;
var hh:Number = child.height;
@@ -227,6 +232,36 @@ public class CanvasLayout extends LayoutBase
ww = target.width * child.percentWidth / 100;
layoutNeeded = false;
}
+ if (layoutNeeded) {
+ //@todo check precedence here of percent-based vs. constraint-based
+ if (!isNaN(layoutChild.left)) {
+ child.x = layoutChild.left as Number;
+ if (!isNaN(layoutChild.right)) {
+ child.element.style.right = layoutChild.right+'px';
+ } else {
+ child.element.style.right = '';
+ }
+ } else //@todo check this:
+ if (!isNaN(layoutChild.right)) {
+ child.element.style.right = layoutChild.right+'px';
+ } else {
+ child.element.style.right = '';
+ }
+ if (!isNaN(layoutChild.top)) {
+ child.y = layoutChild.top as Number;
+ if (!isNaN(layoutChild.bottom)) {
+ child.element.style.bottom = layoutChild.bottom+'px';
+ } else {
+ child.element.style.bottom = '';
+ }
+ } else //@todo check this:
+ if (!isNaN(layoutChild.bottom)) {
+ child.element.style.bottom = layoutChild.bottom+'px';
+ } else {
+ child.element.style.bottom = '';
+ }
+ }
+
if (!isNaN(hCenter))
{
// TODO consider how this affects measurement of target