This is an automated email from the ASF dual-hosted git repository.

harbs 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 d525c36ac8 transform
d525c36ac8 is described below

commit d525c36ac82b5d25dc736ca9783396e5aa5c8305
Author: Harbs <[email protected]>
AuthorDate: Wed Feb 25 14:43:30 2026 +0200

    transform
---
 .../royale/style/stylebeads/flexgrid/FlexGrow.as   |   2 +-
 .../royale/style/stylebeads/flexgrid/FlexShrink.as |   2 +-
 .../apache/royale/style/stylebeads/flexgrid/Gap.as |   2 +-
 .../BackfaceVisibility.as}                         |  15 ++-
 .../style/stylebeads/transform/Perspective.as      |  71 +++++++++++++
 .../FlexGrow.as => transform/PerspectiveOrigin.as} |  21 ++--
 .../royale/style/stylebeads/transform/Rotate.as    | 116 +++++++++++++++++++++
 .../royale/style/stylebeads/transform/Scale.as     | 114 ++++++++++++++++++++
 .../royale/style/stylebeads/transform/Skew.as      | 104 ++++++++++++++++++
 .../FlexGrow.as => transform/Transform.as}         |  19 ++--
 .../FlexGrow.as => transform/TransformOrigin.as}   |  20 ++--
 .../FlexGrow.as => transform/TransformStyle.as}    |  17 ++-
 .../FlexGrow.as => transform/Translate.as}         |  28 +++--
 13 files changed, 475 insertions(+), 56 deletions(-)

diff --git 
a/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/flexgrid/FlexGrow.as
 
b/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/flexgrid/FlexGrow.as
index be46188884..ebab1a5e29 100644
--- 
a/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/flexgrid/FlexGrow.as
+++ 
b/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/flexgrid/FlexGrow.as
@@ -31,7 +31,7 @@ package org.apache.royale.style.stylebeads.flexgrid
                override public function set value(value:*):void
                {
                        // For now we're assuming that flex-grow is only a 
number, but it can also be "initial" or "inherit"
-                       assert(parseFloat(value) == value && parseInt(value, 
10) >= 0, "Invalid value for flex-grow: " + value);
+                       assert(parseFloat(value) == value && int(value) >= 0, 
"Invalid value for flex-grow: " + value);
                        calculatedRuleValue = calculatedSelector = _value = 
value;
                        
                }
diff --git 
a/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/flexgrid/FlexShrink.as
 
b/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/flexgrid/FlexShrink.as
index 6e5f26316b..fa11a42282 100644
--- 
a/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/flexgrid/FlexShrink.as
+++ 
b/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/flexgrid/FlexShrink.as
@@ -31,7 +31,7 @@ package org.apache.royale.style.stylebeads.flexgrid
                override public function set value(value:*):void
                {
                        // For now we're assuming that flex-shrink is only a 
number, but it can also be "initial" or "inherit"
-                       assert(parseFloat(value) == value && parseInt(value, 
10) >= 0, "Invalid value for flex-shrink: " + value);
+                       assert(parseFloat(value) == value && int(value) >= 0, 
"Invalid value for flex-shrink: " + value);
                        calculatedRuleValue = calculatedSelector = _value = 
value;
                        
                }
diff --git 
a/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/flexgrid/Gap.as
 
b/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/flexgrid/Gap.as
index 8d82ea2707..3a974e5050 100644
--- 
a/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/flexgrid/Gap.as
+++ 
b/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/flexgrid/Gap.as
@@ -37,7 +37,7 @@ package org.apache.royale.style.stylebeads.flexgrid
                        _value = value;
                        // TODO validate aspect before setting
                        var ruleProp:* = value;
-                       if(parseInt(value, 10) == value)
+                       if(int(value) == value)
                        {
                                assert(value >= 0, "Invalid value for gap: " + 
value);
                                var pixelValue:Number = 
ThemeManager.instance.activeTheme.spacing * value;
diff --git 
a/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/flexgrid/FlexGrow.as
 
b/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/transform/BackfaceVisibility.as
similarity index 72%
copy from 
frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/flexgrid/FlexGrow.as
copy to 
frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/transform/BackfaceVisibility.as
index be46188884..72f9ba1836 100644
--- 
a/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/flexgrid/FlexGrow.as
+++ 
b/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/transform/BackfaceVisibility.as
@@ -16,24 +16,21 @@
 //  limitations under the License.
 //
 
////////////////////////////////////////////////////////////////////////////////
-package org.apache.royale.style.stylebeads.flexgrid
+package org.apache.royale.style.stylebeads.transform
 {
        import org.apache.royale.style.stylebeads.SingleStyleBase;
        import org.apache.royale.debugging.assert;
 
-       public class FlexGrow extends SingleStyleBase
+       public class BackfaceVisibility extends SingleStyleBase
        {
-               public function FlexGrow()
+               public function BackfaceVisibility()
                {
-                       super("grow", "flex-grow");
+                       super("backface", "backface-visibility");
                }
-
                override public function set value(value:*):void
                {
-                       // For now we're assuming that flex-grow is only a 
number, but it can also be "initial" or "inherit"
-                       assert(parseFloat(value) == value && parseInt(value, 
10) >= 0, "Invalid value for flex-grow: " + value);
-                       calculatedRuleValue = calculatedSelector = _value = 
value;
-                       
+                       assert(value == "hidden" || value == "visible", 
"Invalid value for backface-visibility: " + value);
+                       calculatedSelector = calculatedRuleValue = _value = 
value;
                }
        }
 }
\ No newline at end of file
diff --git 
a/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/transform/Perspective.as
 
b/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/transform/Perspective.as
new file mode 100644
index 0000000000..278fa6f7b8
--- /dev/null
+++ 
b/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/transform/Perspective.as
@@ -0,0 +1,71 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package org.apache.royale.style.stylebeads.transform
+{
+       import org.apache.royale.style.stylebeads.SingleStyleBase;
+       import org.apache.royale.debugging.assert;
+       import org.apache.royale.style.util.CSSLookup;
+       import org.apache.royale.style.util.StyleTheme;
+       import org.apache.royale.style.util.ThemeManager;
+
+       public class Perspective extends SingleStyleBase
+       {
+               public function Perspective()
+               {
+                       super("perspective", "perspective");
+               }
+               
+               override public function set value(value:*):void
+               {
+                       var isVar:Boolean = CSSLookup.has(value);
+                       assert(isVar || 
["dramatic","near","normal","midrange","distant","none"].indexOf(value) != -1, 
"Invalid value for perspective: " + value);
+                       calculatedSelector = _value = value;
+                       if(isVar)
+                               calculatedRuleValue = 
CSSLookup.getProperty(value);
+                       else
+                       {
+                               var theme:StyleTheme = 
ThemeManager.instance.activeTheme;
+                               switch(value)
+                               {
+                                       case "dramatic":
+                                               calculatedRuleValue = 
theme.perspectiveDramatic;
+                                               break;
+                                       case "near":
+                                               calculatedRuleValue = 
theme.perspectiveNear;
+                                               break;
+                                       case "normal":
+                                               calculatedRuleValue = 
theme.perspectiveNormal;
+                                               break;
+                                       case "midrange":
+                                               calculatedRuleValue = 
theme.perspectiveMidrange;
+                                               break;
+                                       case "distant":
+                                               calculatedRuleValue = 
theme.perspectiveDistant;
+                                               break;
+                                       case "none":
+                                               calculatedRuleValue = "none";
+                                               break;
+                                       default:
+                                               assert(false, "Invalid value 
for perspective: " + value);
+                                               break;
+                               }
+                       }
+               }
+       }
+}
\ No newline at end of file
diff --git 
a/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/flexgrid/FlexGrow.as
 
b/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/transform/PerspectiveOrigin.as
similarity index 66%
copy from 
frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/flexgrid/FlexGrow.as
copy to 
frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/transform/PerspectiveOrigin.as
index be46188884..654e511b82 100644
--- 
a/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/flexgrid/FlexGrow.as
+++ 
b/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/transform/PerspectiveOrigin.as
@@ -16,24 +16,29 @@
 //  limitations under the License.
 //
 
////////////////////////////////////////////////////////////////////////////////
-package org.apache.royale.style.stylebeads.flexgrid
+package org.apache.royale.style.stylebeads.transform
 {
        import org.apache.royale.style.stylebeads.SingleStyleBase;
        import org.apache.royale.debugging.assert;
+       import org.apache.royale.style.util.CSSLookup;
 
-       public class FlexGrow extends SingleStyleBase
+       public class PerspectiveOrigin extends SingleStyleBase
        {
-               public function FlexGrow()
+               public function PerspectiveOrigin()
                {
-                       super("grow", "flex-grow");
+                       super("perspective-origin", "perspective-origin");
                }
-
                override public function set value(value:*):void
                {
-                       // For now we're assuming that flex-grow is only a 
number, but it can also be "initial" or "inherit"
-                       assert(parseFloat(value) == value && parseInt(value, 
10) >= 0, "Invalid value for flex-grow: " + value);
+                       var isVar:Boolean = CSSLookup.has(value);
+                       assert(isVar || ['center','top','top 
right','right','bottom right','bottom','bottom left','left','top 
left'].indexOf(value) != -1, "Invalid value for perspective-origin: " + value);
                        calculatedRuleValue = calculatedSelector = _value = 
value;
-                       
+                       if(isVar)
+                               calculatedRuleValue = 
CSSLookup.getProperty(value);
+                       else
+                       {
+                               calculatedSelector = sanitizeSelector(value);
+                       }
                }
        }
 }
\ No newline at end of file
diff --git 
a/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/transform/Rotate.as
 
b/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/transform/Rotate.as
new file mode 100644
index 0000000000..75fac27dbe
--- /dev/null
+++ 
b/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/transform/Rotate.as
@@ -0,0 +1,116 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package org.apache.royale.style.stylebeads.transform
+{
+       import org.apache.royale.style.stylebeads.SingleStyleBase;
+       import org.apache.royale.debugging.assert;
+       import org.apache.royale.style.util.CSSLookup;
+
+       public class Rotate extends SingleStyleBase
+       {
+               public function Rotate()
+               {
+                       super("rotate", "rotate");
+               }
+
+               public function set rotate(value:*):void
+               {
+                       _rotateX = _rotateY = _rotateZ = null;
+                       this.value = value;
+               }
+               private var _rotateX:*;
+
+               public function set rotateX(value:*):void
+               {
+                       _rotateX = _value = value;
+                       calculateVals();
+               }
+               private var _rotateY:*;
+
+               public function set rotateY(value:*):void
+               {
+                       _rotateY = value;
+                       calculateVals();
+               }
+               private var _rotateZ:*;
+
+               public function set rotateZ(value:*):void
+               {
+                       _rotateZ = value;
+                       calculateVals();
+               }
+               override public function set value(value:*):void
+               {
+                       _value = value;
+                       calculateVals();
+               }
+               private function calculateVals():void
+               {
+                       var negative:Boolean = false;
+                       var selectors:Array = [];
+                       var rules:Array = [];
+                       if(_rotateX != null)
+                       {
+                               negative ||= _rotateX + "".indexOf("-") == 0;
+                               selectors.push("x-" + positive(_rotateX));
+                               rules.push("rotateX(" + parseVal(_rotateX) + 
")");
+                       }
+                       if(_rotateY != null)
+                       {
+                               negative ||= _rotateY + "".indexOf("-") == 0;
+                               selectors.push("y-" + positive(_rotateY));
+                               rules.push("rotateY(" + parseVal(_rotateY) + 
")");
+                       }
+                       if(_rotateZ != null)
+                       {
+                               negative ||= _rotateZ + "".indexOf("-") == 0;
+                               selectors.push("z-" + positive(_rotateZ));
+                               rules.push("rotateZ(" + parseVal(_rotateZ) + 
")");
+                       }
+                       if(rules.length)
+                       {
+                               calculatedRuleValue = rules.join(" ");
+                               calculatedSelector = selectors.join("-");
+                       }
+                       else
+                       {
+                               calculatedRuleValue = "rotate(" + 
parseVal(_value) + ")";
+                               calculatedSelector = positive(_value);
+                       }
+                       _selectorPrefix = negative ? "-rotate" : "rotate";
+               }
+               private function positive(val:*):String
+               {
+                       var valStr:String = "" + val;
+                       if(valStr.indexOf("-") == 0)
+                               return valStr.substring(1);
+                       return valStr;
+               }
+               private function parseVal(value:*):String{
+                       if(value == "none")
+                               return "none";
+                       if(parseFloat(value) == value)
+                               return value + "deg";
+                       if(CSSLookup.has(value))
+                               return CSSLookup.getProperty(value);
+                       assert(false, "Invalid value for rotate: " + value);
+                       return value;
+               }
+       }
+}
\ No newline at end of file
diff --git 
a/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/transform/Scale.as
 
b/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/transform/Scale.as
new file mode 100644
index 0000000000..d9512f0535
--- /dev/null
+++ 
b/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/transform/Scale.as
@@ -0,0 +1,114 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package org.apache.royale.style.stylebeads.transform
+{
+       import org.apache.royale.style.stylebeads.SingleStyleBase;
+       import org.apache.royale.debugging.assert;
+       import org.apache.royale.style.util.CSSLookup;
+
+       public class Scale extends SingleStyleBase
+       {
+               public function Scale()
+               {
+                       super("scale", "scale");
+               }
+
+               public function set scale(value:*):void
+               {
+                       _scaleX = _scaleY = _scaleZ = null;
+                       this.value = value;
+               }
+               private var _scaleX:*;
+
+               public function set scaleX(value:*):void
+               {
+                       _scaleX = _value = value;
+                       calculateVals();
+               }
+               private var _scaleY:*;
+
+               public function set scaleY(value:*):void
+               {
+                       _scaleY = value;
+                       calculateVals();
+               }
+               private var _scaleZ:*;
+
+               public function set scaleZ(value:*):void
+               {
+                       _scaleZ = value;
+                       calculateVals();
+               }
+               override public function set value(value:*):void
+               {
+                       _value = value;
+                       calculateVals();
+               }
+               private function calculateVals():void
+               {
+                       var negative:Boolean = false;
+                       var selectors:Array = [];
+                       var rules:Array = [];
+                       if(_scaleX != null)
+                       {
+                               negative ||= _scaleX + "".indexOf("-") == 0;
+                               selectors.push("x-" + positive(_scaleX));
+                               rules.push(parseVal(_scaleX));
+                       }
+                       if(_scaleY != null)
+                       {
+                               negative ||= _scaleY + "".indexOf("-") == 0;
+                               selectors.push("y-" + positive(_scaleY));
+                               rules.push(parseVal(_scaleY));
+                       }
+                       if(_scaleZ != null)
+                       {
+                               negative ||= _scaleZ + "".indexOf("-") == 0;
+                               selectors.push("z-" + positive(_scaleZ));
+                               rules.push(parseVal(_scaleZ));
+                       }
+                       if(rules.length)
+                       {
+                               calculatedRuleValue = rules.join(" ");
+                               calculatedSelector = selectors.join("-");
+                       }
+                       else
+                       {
+                               calculatedRuleValue = parseVal(_value) + " " + 
parseVal(_value);
+                               calculatedSelector = positive(_value);
+                       }
+                       _selectorPrefix = negative ? "-scale" : "scale";
+               }
+               private function positive(val:*):String
+               {
+                       var valStr:String = "" + val;
+                       if(valStr.indexOf("-") == 0)
+                               return sanitizeSelector(valStr.substring(1));
+                       return sanitizeSelector(valStr);
+               }
+               private function parseVal(value:*):String{
+                       if(value == "none")
+                               return "none";
+                       if(CSSLookup.has(value))
+                               return CSSLookup.getProperty(value);
+                       assert(false, "Invalid value for scale: " + value);
+                       return value;
+               }
+       }
+}
\ No newline at end of file
diff --git 
a/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/transform/Skew.as
 
b/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/transform/Skew.as
new file mode 100644
index 0000000000..e5743d7907
--- /dev/null
+++ 
b/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/transform/Skew.as
@@ -0,0 +1,104 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package org.apache.royale.style.stylebeads.transform
+{
+       import org.apache.royale.style.stylebeads.SingleStyleBase;
+       import org.apache.royale.debugging.assert;
+       import org.apache.royale.style.util.CSSLookup;
+
+       public class Skew extends SingleStyleBase
+       {
+               public function Skew()
+               {
+                       super("skew", "transform");
+               }
+
+               public function set skew(value:*):void
+               {
+                       _skewX = _skewY = null;
+                       this.value = value;
+               }
+               private var _skewX:*;
+
+               public function set skewX(value:*):void
+               {
+                       _skewX = _value = value;
+                       calculateVals();
+               }
+               private var _skewY:*;
+
+               public function set skewY(value:*):void
+               {
+                       _skewY = value;
+                       calculateVals();
+               }
+
+               override public function set value(value:*):void
+               {
+                       _value = value;
+                       calculateVals();
+               }
+               private function calculateVals():void
+               {
+                       var negative:Boolean = false;
+                       var selectors:Array = [];
+                       var rules:Array = [];
+                       if(_skewX != null)
+                       {
+                               negative ||= _skewX + "".indexOf("-") == 0;
+                               selectors.push("x-" + positive(_skewX));
+                               rules.push("skewX(" + parseVal(_skewX) + ")");
+                       }
+                       if(_skewY != null)
+                       {
+                               negative ||= _skewY + "".indexOf("-") == 0;
+                               selectors.push("y-" + positive(_skewY));
+                               rules.push("skewY(" + parseVal(_skewY) + ")");
+                       }
+                       if(rules.length)
+                       {
+                               calculatedRuleValue = rules.join(" ");
+                               calculatedSelector = selectors.join("-");
+                       }
+                       else
+                       {
+                               calculatedRuleValue = "skewX(" + 
parseVal(_value) + ") " +"skewY(" + parseVal(_value) + ")";
+                               calculatedSelector = positive(_value);
+                       }
+                       _selectorPrefix = negative ? "-skew" : "skew";
+               }
+               private function positive(val:*):String
+               {
+                       var valStr:String = "" + val;
+                       if(valStr.indexOf("-") == 0)
+                               return valStr.substring(1);
+                       return valStr;
+               }
+               private function parseVal(value:*):String{
+                       if(value == "none")
+                               return "none";
+                       if(parseFloat(value) == value)
+                               return value + "deg";
+                       if(CSSLookup.has(value))
+                               return CSSLookup.getProperty(value);
+                       assert(false, "Invalid value for skew: " + value);
+                       return value;
+               }
+       }
+}
\ No newline at end of file
diff --git 
a/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/flexgrid/FlexGrow.as
 
b/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/transform/Transform.as
similarity index 71%
copy from 
frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/flexgrid/FlexGrow.as
copy to 
frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/transform/Transform.as
index be46188884..a455eb7766 100644
--- 
a/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/flexgrid/FlexGrow.as
+++ 
b/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/transform/Transform.as
@@ -16,24 +16,25 @@
 //  limitations under the License.
 //
 
////////////////////////////////////////////////////////////////////////////////
-package org.apache.royale.style.stylebeads.flexgrid
+package org.apache.royale.style.stylebeads.transform
 {
        import org.apache.royale.style.stylebeads.SingleStyleBase;
        import org.apache.royale.debugging.assert;
+       import org.apache.royale.style.util.CSSLookup;
 
-       public class FlexGrow extends SingleStyleBase
+       public class Transform extends SingleStyleBase
        {
-               public function FlexGrow()
+               public function Transform()
                {
-                       super("grow", "flex-grow");
+                       super("transform", "transform");
                }
-
                override public function set value(value:*):void
                {
-                       // For now we're assuming that flex-grow is only a 
number, but it can also be "initial" or "inherit"
-                       assert(parseFloat(value) == value && parseInt(value, 
10) >= 0, "Invalid value for flex-grow: " + value);
-                       calculatedRuleValue = calculatedSelector = _value = 
value;
-                       
+                       var isVar:Boolean = CSSLookup.has(value);
+                       assert(isVar || value == "none", "Invalid value for 
transform: " + value);
+                       calculatedSelector = calculatedRuleValue = _value = 
value;
+                       if(isVar)
+                               calculatedRuleValue = 
CSSLookup.getProperty(value);
                }
        }
 }
\ No newline at end of file
diff --git 
a/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/flexgrid/FlexGrow.as
 
b/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/transform/TransformOrigin.as
similarity index 65%
copy from 
frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/flexgrid/FlexGrow.as
copy to 
frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/transform/TransformOrigin.as
index be46188884..ec99c99102 100644
--- 
a/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/flexgrid/FlexGrow.as
+++ 
b/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/transform/TransformOrigin.as
@@ -16,24 +16,26 @@
 //  limitations under the License.
 //
 
////////////////////////////////////////////////////////////////////////////////
-package org.apache.royale.style.stylebeads.flexgrid
+package org.apache.royale.style.stylebeads.transform
 {
        import org.apache.royale.style.stylebeads.SingleStyleBase;
        import org.apache.royale.debugging.assert;
+       import org.apache.royale.style.util.CSSLookup;
 
-       public class FlexGrow extends SingleStyleBase
+       public class TransformOrigin extends SingleStyleBase
        {
-               public function FlexGrow()
+               public function TransformOrigin()
                {
-                       super("grow", "flex-grow");
+                       super("origin", "transform-origin");
                }
-
                override public function set value(value:*):void
                {
-                       // For now we're assuming that flex-grow is only a 
number, but it can also be "initial" or "inherit"
-                       assert(parseFloat(value) == value && parseInt(value, 
10) >= 0, "Invalid value for flex-grow: " + value);
-                       calculatedRuleValue = calculatedSelector = _value = 
value;
-                       
+                       var isVar:Boolean = CSSLookup.has(value);
+                       assert(isVar || ["center","top","top 
right","right","bottom right","bottom","bottom left","left","top 
left"].indexOf(value) != -1, "Invalid value for transform-origin: " + value);
+                       calculatedRuleValue = _value = value;
+                       calculatedSelector = sanitizeSelector(value);
+                       if(isVar)
+                               calculatedRuleValue = 
CSSLookup.getProperty(value);
                }
        }
 }
\ No newline at end of file
diff --git 
a/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/flexgrid/FlexGrow.as
 
b/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/transform/TransformStyle.as
similarity index 72%
copy from 
frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/flexgrid/FlexGrow.as
copy to 
frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/transform/TransformStyle.as
index be46188884..d4e9bbdaf9 100644
--- 
a/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/flexgrid/FlexGrow.as
+++ 
b/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/transform/TransformStyle.as
@@ -16,24 +16,23 @@
 //  limitations under the License.
 //
 
////////////////////////////////////////////////////////////////////////////////
-package org.apache.royale.style.stylebeads.flexgrid
+package org.apache.royale.style.stylebeads.transform
 {
        import org.apache.royale.style.stylebeads.SingleStyleBase;
        import org.apache.royale.debugging.assert;
 
-       public class FlexGrow extends SingleStyleBase
+       public class TransformStyle extends SingleStyleBase
        {
-               public function FlexGrow()
+               public function TransformStyle()
                {
-                       super("grow", "flex-grow");
+                       super("transform", "transform-style");
                }
-
                override public function set value(value:*):void
                {
-                       // For now we're assuming that flex-grow is only a 
number, but it can also be "initial" or "inherit"
-                       assert(parseFloat(value) == value && parseInt(value, 
10) >= 0, "Invalid value for flex-grow: " + value);
-                       calculatedRuleValue = calculatedSelector = _value = 
value;
-                       
+                       assert(value == "preserve-3d" || value == "flat", 
"Invalid value for transform-style: " + value);
+                       calculatedSelector = calculatedRuleValue = _value = 
value;
+                       if(value == "preserve-3d")
+                               calculatedSelector = "3d";
                }
        }
 }
\ No newline at end of file
diff --git 
a/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/flexgrid/FlexGrow.as
 
b/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/transform/Translate.as
similarity index 61%
copy from 
frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/flexgrid/FlexGrow.as
copy to 
frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/transform/Translate.as
index be46188884..a3a1795119 100644
--- 
a/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/flexgrid/FlexGrow.as
+++ 
b/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/transform/Translate.as
@@ -16,24 +16,34 @@
 //  limitations under the License.
 //
 
////////////////////////////////////////////////////////////////////////////////
-package org.apache.royale.style.stylebeads.flexgrid
+package org.apache.royale.style.stylebeads.transform
 {
        import org.apache.royale.style.stylebeads.SingleStyleBase;
        import org.apache.royale.debugging.assert;
 
-       public class FlexGrow extends SingleStyleBase
+       public class Translate extends SingleStyleBase
        {
-               public function FlexGrow()
+               public function Translate()
                {
-                       super("grow", "flex-grow");
+                       super("translate", "translate");
                }
-
+               //TODO: Not implemented. Add support for x, y and z.
                override public function set value(value:*):void
                {
-                       // For now we're assuming that flex-grow is only a 
number, but it can also be "initial" or "inherit"
-                       assert(parseFloat(value) == value && parseInt(value, 
10) >= 0, "Invalid value for flex-grow: " + value);
-                       calculatedRuleValue = calculatedSelector = _value = 
value;
-                       
+                       var negative:Boolean = value + "".indexOf("-") == 0;
+
+                               var isInt:Boolean = int(value) == value;
+                               if(isInt)
+                               {
+                                       // validated = true;
+                                       // var pixelValue:Number = 
ThemeManager.instance.activeTheme.spacing * val;
+                                       // selectorValue[i] = "" + 
Math.abs(val);
+                                       // ruleValue[i] = 
CSSUnit.convert(pixelValue, CSSUnit.PX, unit) + unit;
+                               }
+
+
+                       assert(isInt || value == "none", "Invalid value for 
translate: " + value);
+                       calculatedSelector = calculatedRuleValue = _value = 
value;
                }
        }
 }
\ No newline at end of file

Reply via email to