You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@royale.apache.org by ha...@apache.org on 2026/02/25 22:49:37 UTC

(royale-asjs) branch develop updated: Added composite classes

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 a1893240aa Added composite classes
a1893240aa is described below

commit a1893240aa627b00fcab103858ca8795db376820
Author: Harbs <ha...@in-tools.com>
AuthorDate: Thu Feb 26 00:49:31 2026 +0200

    Added composite classes
---
 .../Style/src/main/resources/basic-manifest.xml    |   4 +-
 .../royale/style/stylebeads/CompositeStyle.as      |  12 +-
 .../royale/style/stylebeads/border/Border.as       | 140 +++++++++++++++
 .../royale/style/stylebeads/border/BorderColor.as  |  42 -----
 .../royale/style/stylebeads/border/BorderRadius.as |  23 +--
 .../royale/style/stylebeads/border/BorderStyle.as  |  36 ----
 .../royale/style/stylebeads/border/BorderWidth.as  |  23 +--
 .../royale/style/stylebeads/border/Outline.as      | 189 +++++++++++++++++++++
 .../royale/style/stylebeads/border/OutlineColor.as |  42 -----
 .../style/stylebeads/border/OutlineOffset.as       |  43 -----
 .../royale/style/stylebeads/border/OutlineStyle.as |  45 -----
 .../royale/style/stylebeads/border/OutlineWidth.as |  55 ------
 12 files changed, 365 insertions(+), 289 deletions(-)

diff --git a/frameworks/projects/Style/src/main/resources/basic-manifest.xml b/frameworks/projects/Style/src/main/resources/basic-manifest.xml
index 3903d6007b..a5960eb2e3 100644
--- a/frameworks/projects/Style/src/main/resources/basic-manifest.xml
+++ b/frameworks/projects/Style/src/main/resources/basic-manifest.xml
@@ -101,9 +101,9 @@
   <component id="BackdropFilter" class="org.apache.royale.style.stylebeads.filters.BackdropFilter"/>
 
   <component id="TableLayout" class="org.apache.royale.style.stylebeads.TableLayout"/>
-  <component id="BorderColor" class="org.apache.royale.style.stylebeads.border.BorderColor"/>
+  <component id="Border" class="org.apache.royale.style.stylebeads.border.Border"/>
+  <component id="Outline" class="org.apache.royale.style.stylebeads.border.Outline"/>
   <component id="BorderRadius" class="org.apache.royale.style.stylebeads.border.BorderRadius"/>
-  <component id="BorderStyle" class="org.apache.royale.style.stylebeads.border.BorderStyle"/>
   <component id="BorderWidth" class="org.apache.royale.style.stylebeads.border.BorderWidth"/>
   <component id="ColumnGap" class="org.apache.royale.style.stylebeads.flexgrid.ColumnGap"/>
   <component id="RowGap" class="org.apache.royale.style.stylebeads.flexgrid.RowGap"/>
diff --git a/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/CompositeStyle.as b/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/CompositeStyle.as
index 8785a1108a..c17214eac0 100644
--- a/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/CompositeStyle.as
+++ b/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/CompositeStyle.as
@@ -18,17 +18,22 @@
 ////////////////////////////////////////////////////////////////////////////////
 package org.apache.royale.style.stylebeads
 {
+	[DefaultProperty("styles")]
 	public class CompositeStyle extends StyleBeadBase
 	{
 		public function CompositeStyle()
 		{
 			
 		}
-		protected var _styles:Array = [];
+		/**
+		 *  @royalesuppresspublicvarwarning
+		 */
+		public var styles:Array = [];
 		override public function get selectors():Array
 		{
+			var s:Array = styles || [];
 			var retVal:Array = [];
-			for each (var style:StyleBeadBase in _styles)			{
+			for each (var style:StyleBeadBase in s)			{
 				retVal = retVal.concat(style.selectors);
 			}
 			return retVal;
@@ -36,8 +41,9 @@ package org.apache.royale.style.stylebeads
 
 		override public function get rules():Array
 		{
+			var s:Array = styles || [];
 			var retVal:Array = [];
-			for each (var style:StyleBeadBase in _styles)			{
+			for each (var style:StyleBeadBase in s)			{
 				retVal = retVal.concat(style.rules);
 			}
 			return retVal;
diff --git a/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/border/Border.as b/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/border/Border.as
new file mode 100644
index 0000000000..52cf9ee321
--- /dev/null
+++ b/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/border/Border.as
@@ -0,0 +1,140 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.border
+{
+	import org.apache.royale.style.stylebeads.SingleStyleBase;
+	import org.apache.royale.debugging.assert;
+	import org.apache.royale.style.util.StyleData;
+	import org.apache.royale.style.stylebeads.CompositeStyle;
+	/**
+	 * Has color, style, width, and radius style for simple application of those properties.
+	 * 
+	 * For more complex borders, use BorderRadius and BorderWidth,
+	 * which allow for more specific control over the radius and width
+	 * of each corner and side of the border.
+	 * 
+	 * @royalesuppressexport
+	 */
+	public class Border extends CompositeStyle
+	{
+		public function Border()
+		{
+			super();
+			styles = [];
+		}
+		private var _color:String;
+
+		public function get color():String
+		{
+			return _color;
+		}
+		private var colorStyle:Color;
+		public function set color(value:String):void
+		{
+			if(!colorStyle)
+			{
+				colorStyle = new Color();
+				styles.push(colorStyle);
+			}
+			colorStyle.value = value;
+			_color = value;
+		}
+		private var _style:String;
+
+		public function get style():String
+		{
+			return _style;
+		}
+		private var styleStyle:Style;
+		public function set style(value:String):void
+		{
+			if(!styleStyle)
+			{
+				styleStyle = new Style();
+				styles.push(styleStyle);
+			}
+			styleStyle.value = value;
+			_style = value;
+		}
+		private var _width:*;
+
+		public function get width():*
+		{
+			return _width;
+		}
+		private var widthStyle:BorderWidth;
+		public function set width(value:*):void
+		{
+			if(!widthStyle)
+			{
+				widthStyle = new BorderWidth();
+				styles.push(widthStyle);
+			}
+			widthStyle.width = value;
+			_width = value;
+		}
+		private var _radius:*;
+
+		public function get radius():*
+		{
+			return _radius;
+		}
+		private var radiusStyle:BorderRadius;
+		public function set radius(value:*):void
+		{
+			if(!radiusStyle)
+			{
+				radiusStyle = new BorderRadius();
+				styles.push(radiusStyle);
+			}
+			radiusStyle.radius = value;
+			_radius = value;
+		}
+	}
+}
+import org.apache.royale.style.stylebeads.SingleStyleBase;
+import org.apache.royale.style.util.StyleData;
+import org.apache.royale.debugging.assert;
+
+class Color extends SingleStyleBase
+{
+	public function Color()
+	{
+		super("border", "border-color");
+	}
+	override public function set value(value:*):void
+	{
+		_value = value;
+		var styleData:StyleData = validateColor(value,false);
+		calculatedSelector = styleData.selector;
+		calculatedRuleValue = styleData.rule;
+	}
+}
+class Style extends SingleStyleBase
+{
+	public function Style()
+	{
+		super("border", "border-style");
+	}
+	override public function set value(value:*):void
+	{
+		assert(["solid","dashed","dotted","double","hidden","none"].indexOf(value) >= 0, "The value must be a valid border style: " + 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/border/BorderColor.as b/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/border/BorderColor.as
deleted file mode 100644
index 4c73b9f9b0..0000000000
--- a/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/border/BorderColor.as
+++ /dev/null
@@ -1,42 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  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.border
-{
-	import org.apache.royale.style.stylebeads.SingleStyleBase;
-	import org.apache.royale.debugging.assert;
-	import org.apache.royale.style.util.StyleData;
-
-	public class BorderColor extends SingleStyleBase
-	{
-		public function BorderColor()
-		{
-			super("border", "border-color");
-		}
-		/**
-		 * @royaleignorecoercion org.apache.royale.style.colors.ColorPair
-		 */
-		override public function set value(value:*):void
-		{
-			_value = value;
-			var styleData:StyleData = validateColor(value,false);
-			calculatedSelector = styleData.selector;
-			calculatedRuleValue = styleData.rule;
-		}
-	}
-}
\ No newline at end of file
diff --git a/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/border/BorderRadius.as b/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/border/BorderRadius.as
index c2e7ae0a84..697f12adf0 100644
--- a/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/border/BorderRadius.as
+++ b/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/border/BorderRadius.as
@@ -23,12 +23,15 @@ package org.apache.royale.style.stylebeads.border
 	import org.apache.royale.style.util.ThemeManager;
 	import org.apache.royale.style.util.StyleTheme;
 	import org.apache.royale.style.stylebeads.CompositeStyle;
-
+	/**
+	 * @royalesuppressexport
+	 */
 	public class BorderRadius extends CompositeStyle
 	{
 		public function BorderRadius()
 		{
 			super();
+			styles = [];
 		}
 
 		private var _radius:*;
@@ -42,7 +45,7 @@ package org.apache.royale.style.stylebeads.border
 			if(!rStyle)
 			{
 				rStyle = new Radius();
-				_styles.push(rStyle);
+				styles.push(rStyle);
 			}
 			_radius = value;
 			rStyle.value = value;
@@ -59,7 +62,7 @@ package org.apache.royale.style.stylebeads.border
 			if(!tlStyle)
 			{
 				tlStyle = new TopLeft();
-				_styles.push(tlStyle);
+				styles.push(tlStyle);
 			}
 			_topLeft = value;
 			tlStyle.value = value;
@@ -75,7 +78,7 @@ package org.apache.royale.style.stylebeads.border
 			if(!trStyle)
 			{
 				trStyle = new TopRight();
-				_styles.push(trStyle);
+				styles.push(trStyle);
 			}
 			_topRight = value;
 			trStyle.value = value;
@@ -91,7 +94,7 @@ package org.apache.royale.style.stylebeads.border
 			if(!blStyle)
 			{
 				blStyle = new BottomLeft();
-				_styles.push(blStyle);
+				styles.push(blStyle);
 			}
 			_bottomLeft = value;
 			blStyle.value = value;
@@ -107,7 +110,7 @@ package org.apache.royale.style.stylebeads.border
 			if(!brStyle)
 			{
 				brStyle = new BottomRight();
-				_styles.push(brStyle);
+				styles.push(brStyle);
 			}
 			_bottomRight = value;
 			brStyle.value = value;
@@ -123,7 +126,7 @@ package org.apache.royale.style.stylebeads.border
 			if(!ssStyle)
 			{
 				ssStyle = new StartStart();
-				_styles.push(ssStyle);
+				styles.push(ssStyle);
 			}
 			_startStart = value;
 			ssStyle.value = value;
@@ -139,7 +142,7 @@ package org.apache.royale.style.stylebeads.border
 			if(!seStyle)
 			{
 				seStyle = new StartEnd();
-				_styles.push(seStyle);
+				styles.push(seStyle);
 			}
 			_startEnd = value;
 			seStyle.value = value;
@@ -155,7 +158,7 @@ package org.apache.royale.style.stylebeads.border
 			if(!esStyle)
 			{
 				esStyle = new EndStart();
-				_styles.push(esStyle);
+				styles.push(esStyle);
 			}
 			_endStart = value;
 			esStyle.value = value;
@@ -171,7 +174,7 @@ package org.apache.royale.style.stylebeads.border
 			if(!eeStyle)
 			{
 				eeStyle = new EndEnd();
-				_styles.push(eeStyle);
+				styles.push(eeStyle);
 			}
 			_endEnd = value;
 			eeStyle.value = value;
diff --git a/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/border/BorderStyle.as b/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/border/BorderStyle.as
deleted file mode 100644
index b8ab689612..0000000000
--- a/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/border/BorderStyle.as
+++ /dev/null
@@ -1,36 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  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.border
-{
-	import org.apache.royale.style.stylebeads.SingleStyleBase;
-	import org.apache.royale.debugging.assert;
-
-	public class BorderStyle extends SingleStyleBase
-	{
-		public function BorderStyle()
-		{
-			super("border", "border-style");
-		}
-		override public function set value(value:*):void
-		{
-			assert(["solid","dashed","dotted","double","hidden","none"].indexOf(value) >= 0, "The value must be a valid border style: " + 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/border/BorderWidth.as b/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/border/BorderWidth.as
index 6f0b190bba..41bdd99ca5 100644
--- a/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/border/BorderWidth.as
+++ b/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/border/BorderWidth.as
@@ -31,6 +31,7 @@ package org.apache.royale.style.stylebeads.border
 		public function BorderWidth()
 		{
 			super();
+			styles = [];
 		}
 		private var _width:*;
 
@@ -44,7 +45,7 @@ package org.apache.royale.style.stylebeads.border
 			 if(!widthStyle)
 			 {
 				 widthStyle = new Width();
-				 _styles.push(widthStyle);
+				 styles.push(widthStyle);
 			 }
 			 widthStyle.value = value;
 			_width = value;
@@ -61,7 +62,7 @@ package org.apache.royale.style.stylebeads.border
 			 if(!topStyle)
 			 {
 				 topStyle = new Top();
-				 _styles.push(topStyle);
+				 styles.push(topStyle);
 			 }
 			 topStyle.value = value;
 			_top = value;
@@ -78,7 +79,7 @@ package org.apache.royale.style.stylebeads.border
 			 if(!leftStyle)
 			 {
 				 leftStyle = new Left();
-				 _styles.push(leftStyle);
+				 styles.push(leftStyle);
 			 }
 			 leftStyle.value = value;
 			_left = value;
@@ -95,7 +96,7 @@ package org.apache.royale.style.stylebeads.border
 			 if(!rightStyle)
 			 {
 				 rightStyle = new Right();
-				 _styles.push(rightStyle);
+				 styles.push(rightStyle);
 			 }
 			 rightStyle.value = value;
 			_right = value;
@@ -112,7 +113,7 @@ package org.apache.royale.style.stylebeads.border
 			 if(!bottomStyle)
 			 {
 				 bottomStyle = new Bottom();
-				 _styles.push(bottomStyle);
+				 styles.push(bottomStyle);
 			 }
 			 bottomStyle.value = value;
 			_bottom = value;
@@ -129,7 +130,7 @@ package org.apache.royale.style.stylebeads.border
 			 if(!blockStyle)
 			 {
 				 blockStyle = new Block();
-				 _styles.push(blockStyle);
+				 styles.push(blockStyle);
 			 }
 			 blockStyle.value = value;
 			_block = value;
@@ -146,7 +147,7 @@ package org.apache.royale.style.stylebeads.border
 			 if(!blockEndStyle)
 			 {
 				 blockEndStyle = new BlockEnd();
-				 _styles.push(blockEndStyle);
+				 styles.push(blockEndStyle);
 			 }
 			 blockEndStyle.value = value;
 			_blockEnd = value;
@@ -163,7 +164,7 @@ package org.apache.royale.style.stylebeads.border
 			 if(!blockStartStyle)
 			 {
 				 blockStartStyle = new BlockStart();
-				 _styles.push(blockStartStyle);
+				 styles.push(blockStartStyle);
 			 }
 			 blockStartStyle.value = value;
 			_blockStart = value;
@@ -180,7 +181,7 @@ package org.apache.royale.style.stylebeads.border
 			if(!inlineStyle)
 			 {
 				 inlineStyle = new Inline();
-				 _styles.push(inlineStyle);
+				 styles.push(inlineStyle);
 			 }
 			 inlineStyle.value = value;
 			_inline = value;
@@ -197,7 +198,7 @@ package org.apache.royale.style.stylebeads.border
 			if(!inlineEndStyle)
 			 {
 				 inlineEndStyle = new InlineEnd();
-				 _styles.push(inlineEndStyle);
+				 styles.push(inlineEndStyle);
 			 }
 			 inlineEndStyle.value = value;
 			_inlineEnd = value;
@@ -214,7 +215,7 @@ package org.apache.royale.style.stylebeads.border
 			if(!inlineStartStyle)
 			 {
 				 inlineStartStyle = new InlineStart();
-				 _styles.push(inlineStartStyle);
+				 styles.push(inlineStartStyle);
 			 }
 			 inlineStartStyle.value = value;
 			_inlineStart = value;
diff --git a/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/border/Outline.as b/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/border/Outline.as
new file mode 100644
index 0000000000..f6987f3e9e
--- /dev/null
+++ b/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/border/Outline.as
@@ -0,0 +1,189 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.border
+{
+	import org.apache.royale.style.stylebeads.SingleStyleBase;
+	import org.apache.royale.debugging.assert;
+	import org.apache.royale.style.util.StyleData;
+	import org.apache.royale.style.stylebeads.CompositeStyle;
+	/**
+	 * @royalesuppressexport
+	 */
+	public class Outline extends CompositeStyle
+	{
+		public function Outline()
+		{
+			super();
+			styles = [];
+		}
+		private var _color:String;
+
+		public function get color():String
+		{
+			return _color;
+		}
+		private var colorStyle:Color;
+		public function set color(value:String):void
+		{
+			if(!colorStyle)
+			{
+				colorStyle = new Color();
+				styles.push(colorStyle);
+			}
+			colorStyle.value = value;
+			_color = value;
+		}
+		private var _offset:*;
+		public function get offset():*
+		{
+			return _offset;
+		}
+		private var offsetStyle:Offset;
+		public function set offset(value:*):void
+		{
+			if(!offsetStyle)
+			{
+				offsetStyle = new Offset();
+				styles.push(offsetStyle);
+			}
+			offsetStyle.value = value;
+			_offset = value;
+		}
+		private var _style:String;
+		public function get style():String
+		{
+			return _style;
+		}
+		private var styleStyle:Style;
+		public function set style(value:String):void
+		{
+			if(!styleStyle)
+			{
+				styleStyle = new Style();
+				styles.push(styleStyle);
+			}
+			styleStyle.value = value;
+			_style = value;
+		}
+		private var _width:*;
+		public function get width():*
+		{
+			return _width;
+		}
+		private var widthStyle:Width;
+		public function set width(value:*):void
+		{
+			if(!widthStyle)
+			{
+				widthStyle = new Width();
+				styles.push(widthStyle);
+			}
+			widthStyle.value = value;
+			_width = value;
+		}
+	}
+}
+import org.apache.royale.style.stylebeads.SingleStyleBase;
+import org.apache.royale.style.util.StyleData;
+import org.apache.royale.debugging.assert;
+
+class Color extends SingleStyleBase
+{
+	public function Color()
+	{
+		super("outline", "outline-color");
+	}
+	/**
+	 * @royaleignorecoercion org.apache.royale.style.colors.ColorPair
+	 */
+	override public function set value(value:*):void
+	{
+		_value = value;
+		var styleData:StyleData = validateColor(value,false);
+		calculatedRuleValue = styleData.rule;
+		calculatedSelector = styleData.selector;
+	}
+}
+class Offset extends SingleStyleBase
+{
+	public function Offset()
+	{
+		super("outline-offset", "outline-offset");
+	}
+	private var savedPrefix:String;
+	override public function set value(value:*):void
+	{
+		var numVal:Number = parseFloat(value);
+		var negative:Boolean = numVal < 0;
+		if(!savedPrefix)
+			savedPrefix = selectorPrefix;
+		_selectorPrefix = negative ? "-" + savedPrefix : savedPrefix;
+		_value = value;
+		calculatedRuleValue = value;
+		calculatedSelector = sanitizeSelector(value);
+	}
+}
+class Style extends SingleStyleBase
+{
+	public function Style()
+	{
+		super("outline", "outline-style");
+	}
+	override public function set value(value:*):void
+	{
+		assert(["solid","dashed","dotted","double","hidden","none"].indexOf(value) >= 0, "The value must be a valid outline style: " + value);
+		calculatedSelector = calculatedRuleValue = _value = value;
+	}
+	override public function get rule():String
+	{
+		// enable outline in in forced colors mode
+		if(calculatedSelector == "hidden")
+		{
+			return "outline: 2px solid transparent; outline-offset: 2px;";
+		}
+		return super.rule;
+	}
+}
+class Width extends SingleStyleBase
+{
+	public function Width()
+	{
+		super("outline", "outline-width");
+	}
+	override public function set value(value:*):void
+	{
+		_value = value;
+		calculatedRuleValue = value;
+		calculatedSelector = sanitizeSelector(value);
+	}
+	override public function get selector():String
+	{
+		if(!calculatedSelector)
+			return selectorPrefix;
+		
+		return super.selector;
+	}
+	override public function get rule():String
+	{
+		if(!calculatedRuleValue)
+			return "1px";
+		
+		return super.rule;
+	}
+}
\ No newline at end of file
diff --git a/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/border/OutlineColor.as b/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/border/OutlineColor.as
deleted file mode 100644
index 086f6cf795..0000000000
--- a/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/border/OutlineColor.as
+++ /dev/null
@@ -1,42 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  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.border
-{
-	import org.apache.royale.style.stylebeads.SingleStyleBase;
-	import org.apache.royale.debugging.assert;
-	import org.apache.royale.style.util.StyleData;
-
-	public class OutlineColor extends SingleStyleBase
-	{
-		public function OutlineColor()
-		{
-			super("outline", "outline-color");
-		}
-		/**
-		 * @royaleignorecoercion org.apache.royale.style.colors.ColorPair
-		 */
-		override public function set value(value:*):void
-		{
-			_value = value;
-			var styleData:StyleData = validateColor(value,false);
-			calculatedRuleValue = styleData.rule;
-			calculatedSelector = styleData.selector;
-		}
-	}
-}
\ No newline at end of file
diff --git a/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/border/OutlineOffset.as b/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/border/OutlineOffset.as
deleted file mode 100644
index e86612c9b0..0000000000
--- a/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/border/OutlineOffset.as
+++ /dev/null
@@ -1,43 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  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.border
-{
-
-	import org.apache.royale.style.stylebeads.SingleStyleBase;
-
-	public class OutlineOffset extends SingleStyleBase
-	{
-		public function OutlineOffset()
-		{
-			super("outline-offset", "outline-offset");
-		}
-		private var savedPrefix:String;
-		override public function set value(value:*):void
-		{
-			var numVal:Number = parseFloat(value);
-			var negative:Boolean = numVal < 0;
-			if(!savedPrefix)
-				savedPrefix = selectorPrefix;
-			_selectorPrefix = negative ? "-" + savedPrefix : savedPrefix;
-			_value = value;
-			calculatedRuleValue = value;
-			calculatedSelector = sanitizeSelector(value);
-		}
-	}
-}
\ No newline at end of file
diff --git a/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/border/OutlineStyle.as b/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/border/OutlineStyle.as
deleted file mode 100644
index 139601b1a8..0000000000
--- a/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/border/OutlineStyle.as
+++ /dev/null
@@ -1,45 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  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.border
-{
-	import org.apache.royale.style.stylebeads.SingleStyleBase;
-	import org.apache.royale.debugging.assert;
-
-	public class OutlineStyle extends SingleStyleBase
-	{
-		public function OutlineStyle()
-		{
-			super("outline", "outline-style");
-		}
-		override public function set value(value:*):void
-		{
-			assert(["solid","dashed","dotted","double","hidden","none"].indexOf(value) >= 0, "The value must be a valid outline style: " + value);
-			calculatedSelector = calculatedRuleValue = _value = value;
-		}
-		override public function get rule():String
-		{
-			// enable outline in in forced colors mode
-			if(calculatedSelector == "hidden")
-			{
-				return "outline: 2px solid transparent; outline-offset: 2px;";
-			}
-			return super.rule;
-		}
-	}
-}
\ No newline at end of file
diff --git a/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/border/OutlineWidth.as b/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/border/OutlineWidth.as
deleted file mode 100644
index c74a29f5b3..0000000000
--- a/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/border/OutlineWidth.as
+++ /dev/null
@@ -1,55 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  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.border
-{
-	import org.apache.royale.style.stylebeads.SingleStyleBase;
-	import org.apache.royale.debugging.assert;
-	import org.apache.royale.style.util.ThemeManager;
-	import org.apache.royale.style.util.StyleTheme;
-	/**
-	 * Defaults to 1px.
-	 */
-	public class OutlineWidth extends SingleStyleBase
-	{
-		public function OutlineWidth()
-		{
-			super("outline", "outline-width");
-		}
-		override public function set value(value:*):void
-		{
-			_value = value;
-			calculatedRuleValue = value;
-			calculatedSelector = sanitizeSelector(value);
-		}
-		override public function get selector():String
-		{
-			if(!calculatedSelector)
-				return selectorPrefix;
-			
-			return super.selector;
-		}
-		override public function get rule():String
-		{
-			if(!calculatedRuleValue)
-				return "1px";
-			
-			return super.rule;
-		}
-	}
-}
\ No newline at end of file