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 2018/09/02 08:57:30 UTC

[royale-asjs] branch feature/Merge_MXRoyale_To_Develop updated (6362466 -> 27f9ef4)

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

harbs pushed a change to branch feature/Merge_MXRoyale_To_Develop
in repository https://gitbox.apache.org/repos/asf/royale-asjs.git.


    from 6362466  Merge branch 'develop' into feature/Merge_MXRoyale_To_Develop
     new 1b9ca0d  Make color values consistent with opacity, a decimal between 0 and 1.
     new aee1fa6  Filters are not necessarily drop shadows
     new 3383bd7  Filter elements should not be treated as beads as they are not unique.
     new 0465042  Filter elements are now children of filter bead instead of beads.
     new 06205a4  DropShadowFilter is now just another Filter
     new 7c731e2  Added SuperimposeFilter
     new dfe2d8f  Enable CompoundGraphic for transformations (and blending some browsers).
     new 899a49c  Wrong DataGridColumn reference
     new 3fe548c  Basic DataGridColumns do not have percentColumnWidth
     new 8676706  Added merge, and more
     new 65fa964  Now that we're using Merge we don't need to play with sources in SuperImposeFilter
     new 93b85a1  Add toggle menu method to mdl menu
     new 3650e4e  Add a wrapper bead the date formatter to add hours
     new 27f9ef4  This change broke a clean build

The 14 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 build.xml                                          |   6 +-
 .../projects/Basic/src/main/royale/BasicClasses.as |   1 +
 .../org/apache/royale/svg/CompoundGraphic.as       |  19 ++-
 .../royale/svg/TransformableCompoundGraphic.as     |  93 ++++++++++
 .../royale/express/beads/layouts/DataGridLayout.as |  31 +++-
 .../src/main/resources/basic-manifest.xml          |   1 +
 .../html/accessories/DateAndTimeFormatter.as       | 175 +++++++++++++++++++
 .../Graphics/src/main/resources/defaults.css       |   8 -
 .../Graphics/src/main/resources/svg-manifest.xml   |   2 +
 .../org/apache/royale/svg/BlendFilterElement.as    |  37 +---
 .../org/apache/royale/svg/BlurFilterElement.as     |   4 +-
 .../apache/royale/svg/ColorMatrixFilterElement.as  |  14 +-
 .../apache/royale/svg/CompositeFilterElement.as    |   5 +-
 .../org/apache/royale/svg/DropShadowFilter.as      | 188 ++++++++++++---------
 .../main/royale/org/apache/royale/svg/Filter.as    |  45 ++---
 .../royale/org/apache/royale/svg/FilterElement.as  |  72 ++++----
 ...tFilterElement.as => FullAlphaFilterElement.as} |  15 +-
 .../org/apache/royale/svg/IChainableFilter.as}     |  73 ++++----
 .../org/apache/royale/svg/InvertFilterElement.as   |   4 +-
 .../org/apache/royale/svg/MergeFilterElement.as    |  49 +++---
 .../org/apache/royale/svg/OffsetFilterElement.as   |   4 +-
 .../org/apache/royale/svg/SpreadFilterElement.as   |   4 +-
 ...InvertFilterElement.as => SuperimposeFilter.as} |  50 +++---
 .../src/main/royale/org/apache/royale/mdl/Menu.as  |   8 +
 24 files changed, 609 insertions(+), 299 deletions(-)
 create mode 100644 frameworks/projects/Basic/src/main/royale/org/apache/royale/svg/TransformableCompoundGraphic.as
 create mode 100644 frameworks/projects/Formatters/src/main/royale/org/apache/royale/html/accessories/DateAndTimeFormatter.as
 copy frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/{InvertFilterElement.as => FullAlphaFilterElement.as} (83%)
 copy frameworks/projects/{Icons/src/main/royale/org/apache/royale/icons/FontIcon.as => Graphics/src/main/royale/org/apache/royale/svg/IChainableFilter.as} (64%)
 copy frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/{InvertFilterElement.as => SuperimposeFilter.as} (56%)


[royale-asjs] 08/14: Wrong DataGridColumn reference

Posted by ha...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

harbs pushed a commit to branch feature/Merge_MXRoyale_To_Develop
in repository https://gitbox.apache.org/repos/asf/royale-asjs.git

commit 899a49c6a10a7e2ef15c2573fab48a5491020ecc
Author: Harbs <ha...@in-tools.com>
AuthorDate: Thu Jul 19 15:23:36 2018 +0300

    Wrong DataGridColumn reference
    
    Added ignores
---
 .../royale/express/beads/layouts/DataGridLayout.as | 33 +++++++++++++++++-----
 1 file changed, 26 insertions(+), 7 deletions(-)

diff --git a/frameworks/projects/Express/src/main/royale/org/apache/royale/express/beads/layouts/DataGridLayout.as b/frameworks/projects/Express/src/main/royale/org/apache/royale/express/beads/layouts/DataGridLayout.as
index 08a563d..66ab8d9 100644
--- a/frameworks/projects/Express/src/main/royale/org/apache/royale/express/beads/layouts/DataGridLayout.as
+++ b/frameworks/projects/Express/src/main/royale/org/apache/royale/express/beads/layouts/DataGridLayout.as
@@ -23,12 +23,14 @@ package org.apache.royale.express.beads.layouts
 	import org.apache.royale.core.IDataGridModel;
 	import org.apache.royale.core.IStrand;
 	import org.apache.royale.core.IUIBase;
+	import org.apache.royale.core.ILayoutChild;
+	import org.apache.royale.core.IParent;
 	import org.apache.royale.core.UIBase;
     import org.apache.royale.core.ValuesManager;
 	import org.apache.royale.core.layout.EdgeData;
 	import org.apache.royale.events.Event;
 	import org.apache.royale.events.IEventDispatcher;
-	import org.apache.royale.express.supportClasses.DataGridColumn;
+	import org.apache.royale.html.supportClasses.DataGridColumn;
 	import org.apache.royale.geom.Rectangle;
 	import org.apache.royale.html.beads.IDataGridView;
 	import org.apache.royale.html.beads.IDrawingLayerBead;
@@ -65,6 +67,7 @@ package org.apache.royale.express.beads.layouts
 		 *  @playerversion Flash 10.2
 		 *  @playerversion AIR 2.6
 		 *  @productversion Royale 0.0
+		 *  @royaleignorecoercion org.apache.royale.events.IEventDispatcher
 		 */
 		public function set strand(value:IStrand):void
 		{
@@ -76,10 +79,17 @@ package org.apache.royale.express.beads.layouts
 			(_strand as IEventDispatcher).addEventListener("layoutNeeded", handleLayoutNeeded);
 		}
 		
+		/**
+		 * @royaleignorecoercion org.apache.royale.core.IUIBase
+		 */
 		private function get host():IUIBase
 		{
 			return _strand as IUIBase;
 		}
+
+		/**
+		 * @royaleignorecoercion org.apache.royale.core.UIBase
+		 */
 		private function get uiHost():UIBase
 		{
 			return _strand as UIBase;
@@ -101,7 +111,16 @@ package org.apache.royale.express.beads.layouts
 		 * been placed. For example, with three columns of widths, "50", "100%", and "80" the
 		 * 100% size represents the amount left over after the 130 pixels have been removed from
 		 * whatever width the DataGrid currently has at the time this layout is executed.
-         *  @royaleignorecoercion org.apache.royale.core.IBorderPaddingMarginValuesImpl
+		 * 
+         * @royaleignorecoercion org.apache.royale.core.IBorderPaddingMarginValuesImpl
+		 * @royaleignorecoercion org.apache.royale.core.IUIBase
+		 * @royaleignorecoercion org.apache.royale.core.IParent
+		 * @royaleignorecoercion org.apache.royale.core.ILayoutChild
+		 * @royaleignorecoercion org.apache.royale.html.beads.IDataGridView
+		 * @royaleignorecoercion org.apache.royale.core.IDataGridModel
+		 * @royaleignorecoercion org.apache.royale.html.supportClasses.DataGridColumn
+		 * @royaleignorecoercion org.apache.royale.html.beads.models.ButtonBarModel
+		 * @royaleignorecoercion org.apache.royale.html.beads.IDrawingLayerBead
 		 */
 		public function layout():Boolean
 		{
@@ -131,7 +150,7 @@ package org.apache.royale.express.beads.layouts
 			
 			for(i=0; i < displayedColumns.length; i++) {
 				columnDef = model.columns[i] as DataGridColumn;
-				var columnList:UIBase = displayedColumns[i] as UIBase;
+				var columnList:IUIBase = displayedColumns[i] as IUIBase;
 				
 				// probably do not need to set (x,y), but if the Container's layout requires it, they will be set.
 				columnList.x = xpos;
@@ -160,7 +179,7 @@ package org.apache.royale.express.beads.layouts
 				header.width = useWidth;
 			}
 			COMPILE::JS {
-				(header as UIBase).percentWidth = 100;
+				(header as ILayoutChild).percentWidth = 100;
 			}
 			// header's height is set in CSS
 			
@@ -170,7 +189,7 @@ package org.apache.royale.express.beads.layouts
 				listArea.width = useWidth;
 			}
 			COMPILE::JS {
-				(listArea as UIBase).percentWidth = 100;
+				(listArea as ILayoutChild).percentWidth = 100;
 			}
 			listArea.height = useHeight - header.height;
 			
@@ -180,8 +199,8 @@ package org.apache.royale.express.beads.layouts
 			
 			// Put the drawing layer back, sizing it to fit over the listArea.
 			if (layerBead != null && layerBead.layer != null) {				
-				UIBase(_strand).removeElement(layerBead.layer);
-				UIBase(_strand).addElement(layerBead.layer); // always keep it on top
+				IParent(_strand).removeElement(layerBead.layer);
+				IParent(_strand).addElement(layerBead.layer); // always keep it on top
 				
 				var layerX:Number = listArea.x;
 				var layerY:Number = listArea.y;


[royale-asjs] 09/14: Basic DataGridColumns do not have percentColumnWidth

Posted by ha...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

harbs pushed a commit to branch feature/Merge_MXRoyale_To_Develop
in repository https://gitbox.apache.org/repos/asf/royale-asjs.git

commit 3fe548c6b82cc59e6d32c1e7e9af64931d4fd915
Author: Harbs <ha...@in-tools.com>
AuthorDate: Wed Jul 25 11:40:47 2018 +0300

    Basic DataGridColumns do not have percentColumnWidth
---
 .../royale/org/apache/royale/express/beads/layouts/DataGridLayout.as  | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/frameworks/projects/Express/src/main/royale/org/apache/royale/express/beads/layouts/DataGridLayout.as b/frameworks/projects/Express/src/main/royale/org/apache/royale/express/beads/layouts/DataGridLayout.as
index 66ab8d9..3d63125 100644
--- a/frameworks/projects/Express/src/main/royale/org/apache/royale/express/beads/layouts/DataGridLayout.as
+++ b/frameworks/projects/Express/src/main/royale/org/apache/royale/express/beads/layouts/DataGridLayout.as
@@ -30,7 +30,7 @@ package org.apache.royale.express.beads.layouts
 	import org.apache.royale.core.layout.EdgeData;
 	import org.apache.royale.events.Event;
 	import org.apache.royale.events.IEventDispatcher;
-	import org.apache.royale.html.supportClasses.DataGridColumn;
+	import org.apache.royale.express.supportClasses.DataGridColumn;
 	import org.apache.royale.geom.Rectangle;
 	import org.apache.royale.html.beads.IDataGridView;
 	import org.apache.royale.html.beads.IDrawingLayerBead;
@@ -118,7 +118,7 @@ package org.apache.royale.express.beads.layouts
 		 * @royaleignorecoercion org.apache.royale.core.ILayoutChild
 		 * @royaleignorecoercion org.apache.royale.html.beads.IDataGridView
 		 * @royaleignorecoercion org.apache.royale.core.IDataGridModel
-		 * @royaleignorecoercion org.apache.royale.html.supportClasses.DataGridColumn
+		 * @royaleemitcoercion org.apache.royale.html.supportClasses.DataGridColumn
 		 * @royaleignorecoercion org.apache.royale.html.beads.models.ButtonBarModel
 		 * @royaleignorecoercion org.apache.royale.html.beads.IDrawingLayerBead
 		 */


[royale-asjs] 05/14: DropShadowFilter is now just another Filter

Posted by ha...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

harbs pushed a commit to branch feature/Merge_MXRoyale_To_Develop
in repository https://gitbox.apache.org/repos/asf/royale-asjs.git

commit 06205a4357bacbe435d709ad12c8bc76b4ac9236
Author: DESKTOP-RH4S838\Yishay <yi...@hotmail.com>
AuthorDate: Sun Jul 15 11:25:48 2018 +0300

    DropShadowFilter is now just another Filter
---
 .../org/apache/royale/svg/DropShadowFilter.as      | 128 ++++++++-------------
 .../main/royale/org/apache/royale/svg/Filter.as    |   6 +-
 2 files changed, 52 insertions(+), 82 deletions(-)

diff --git a/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/DropShadowFilter.as b/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/DropShadowFilter.as
index c10bd49..fe79d37 100644
--- a/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/DropShadowFilter.as
+++ b/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/DropShadowFilter.as
@@ -19,9 +19,6 @@
 package org.apache.royale.svg
 {
 	
-	import org.apache.royale.core.IBead;
-	import org.apache.royale.core.IStrand;
-	import org.apache.royale.core.ValuesManager;
 	COMPILE::SWF 
 	{
 		import org.apache.royale.core.IRenderedObject;
@@ -37,7 +34,7 @@ package org.apache.royale.svg
 	 *  @playerversion AIR 2.6
 	 *  @productversion Royale 0.9.3
 	 */
-	public class DropShadowFilter implements IBead
+	public class DropShadowFilter extends Filter
 	{
 		private var _dx:Number;
 		private var _dy:Number;
@@ -53,90 +50,63 @@ package org.apache.royale.svg
 		{
 		}
 		
-		/**
-		 *  @copy org.apache.royale.core.IBead#strand
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion Royale 0.9.3
-		 */		
-		public function set strand(value:IStrand):void
+		COMPILE::JS
+		override protected function filter():void
 		{
-			COMPILE::JS 
+			children = [];
+			if (inset)
 			{
-				if (!value)
-				{
-					return;
-				}
-				loadBeadFromValuesManager(Filter, "filter", value);
-				if (inset)
-				{
-					loadBeadFromValuesManager(InvertFilterElement, "invertFilterElement", value);
-				}
-				if (!isNaN(dx) && !isNaN(dy) && (dx !=0 || dy !=0))
-				{
-					var offset:OffsetFilterElement = loadBeadFromValuesManager(OffsetFilterElement, "offsetFilterElement", value) as OffsetFilterElement;
-					offset.dx = dx;
-					offset.dy = dy;
-				}
-				var blur:BlurFilterElement = loadBeadFromValuesManager(BlurFilterElement, "blurFilterElement", value) as BlurFilterElement;
-				blur.stdDeviation = stdDeviation;
-				var colorMatrix:ColorMatrixFilterElement = loadBeadFromValuesManager(ColorMatrixFilterElement, "colorMatrixFilterElement", value) as ColorMatrixFilterElement;
-				colorMatrix.red = red;
-				colorMatrix.green = green;
-				colorMatrix.blue = blue;
-				colorMatrix.opacity = opacity;
-				var spreadElement:SpreadFilterElement = loadBeadFromValuesManager(SpreadFilterElement, "spreadFilterElement", value) as SpreadFilterElement;
-				if (!inset)
-				{
-					spreadElement.result = "spreadResult";
-				}
-				spreadElement.spread = spread;
-				if (inset)
-				{
-					var composite:CompositeFilterElement = loadBeadFromValuesManager(CompositeFilterElement, "compositeFilterElement", value) as CompositeFilterElement;
-					composite.in2 = "SourceAlpha";
-					composite.operator = "in";
-					composite.result = "compositeResult";
-				}
-				var blend:BlendFilterElement = loadBeadFromValuesManager(BlendFilterElement, "blendFilterElement", value) as BlendFilterElement;
-				blend.in = inset ? "compositeResult" : "SourceGraphic";
-				blend.in2 = inset ? "SourceGraphic" : "spreadResult";
-				value.removeBead(this);
+				var insetFilterElement:FilterElement = new InvertFilterElement();
+				children.push(insetFilterElement);
 			}
-			COMPILE::SWF 
+			if (!isNaN(dx) && !isNaN(dy) && (dx !=0 || dy !=0))
 			{
-				var distance:Number = Math.sqrt( (dx * dx) + (dy * dy) );
-				var radians:Number = Math.atan2(dy, dx);
-				var angle:Number =  (180/Math.PI) * radians;
-				var color:uint = red|green|blue;
-				var filter:flash.filters.DropShadowFilter = new flash.filters.DropShadowFilter(distance, angle, color, opacity, stdDeviation, stdDeviation, spread + 1, 1, inset);
-				(value as IRenderedObject).$displayObject.filters = [filter];
+				var offset:OffsetFilterElement = new OffsetFilterElement();
+				children.push(offset);
+				offset.dx = dx;
+				offset.dy = dy;
 			}
-		}
-
-		private function loadBeadFromValuesManager(classOrInterface:Class, classOrInterfaceName:String, strand:IStrand):IBead
-		{
-			var result:IBead;
-			var c:Class = ValuesManager.valuesImpl.getValue(this, classOrInterfaceName) as Class;
-			if (c)
+			var blur:BlurFilterElement = new BlurFilterElement();
+			children.push(blur);
+			blur.stdDeviation = stdDeviation;
+			var colorMatrix:ColorMatrixFilterElement = new ColorMatrixFilterElement();
+			children.push(colorMatrix);
+			colorMatrix.red = red;
+			colorMatrix.green = green;
+			colorMatrix.blue = blue;
+			colorMatrix.opacity = opacity;
+			var spreadElement:SpreadFilterElement = new SpreadFilterElement();
+			children.push(spreadElement);
+			if (!inset)
+			{
+				spreadElement.result = "spreadResult";
+			}
+			spreadElement.spread = spread;
+			if (inset)
 			{
-				COMPILE::JS
-				{
-					var f:Function = c as Function;
-					result = new f() as IBead;
-				}
-				COMPILE::SWF
-				{
-					result = new c() as IBead;
-				}
-				if (result)
-					strand.addBead(result);
+				var composite:CompositeFilterElement = new CompositeFilterElement();
+				children.push(composite);
+				composite.in2 = "SourceAlpha";
+				composite.operator = "in";
+				composite.result = "compositeResult";
 			}
-			return result;
+			var blend:BlendFilterElement = new BlendFilterElement();
+			children.push(blend);
+			blend.in = inset ? "compositeResult" : "SourceGraphic";
+			blend.in2 = inset ? "SourceGraphic" : "spreadResult";
+			super.filter();
 		}
 
+		COMPILE::SWF
+		override protected function filter():void
+		{
+			var distance:Number = Math.sqrt( (dx * dx) + (dy * dy) );
+			var radians:Number = Math.atan2(dy, dx);
+			var angle:Number =  (180/Math.PI) * radians;
+			var color:uint = red|green|blue;
+			var filter:flash.filters.DropShadowFilter = new flash.filters.DropShadowFilter(distance, angle, color, opacity, stdDeviation, stdDeviation, spread + 1, 1, inset);
+			host.$displayObject.filters = [filter];
+		}
 		/**
 		 *  The drop shadow x offset
 		 *
diff --git a/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/Filter.as b/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/Filter.as
index ffc17f1..3418b8b 100644
--- a/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/Filter.as
+++ b/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/Filter.as
@@ -69,7 +69,7 @@ package org.apache.royale.svg
 		}
 		
 		COMPILE::SWF
-		private function filter():void
+		protected function filter():void
 		{
 //			if (!path)
 //			{
@@ -101,7 +101,7 @@ package org.apache.royale.svg
 		 * @royaleignorecoercion Object
 		 */
 		COMPILE::JS
-		private function filter():void
+		protected function filter():void
 		{
 			var svgElement:Node = host.element as Element;
 			var defs:Element = getChildNode(svgElement, "defs") as Element;
@@ -139,7 +139,7 @@ package org.apache.royale.svg
 		}
 		
 		
-		private function get host():IRenderedObject
+		protected function get host():IRenderedObject
 		{
 			return _strand as IRenderedObject;
 		}


[royale-asjs] 11/14: Now that we're using Merge we don't need to play with sources in SuperImposeFilter

Posted by ha...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

harbs pushed a commit to branch feature/Merge_MXRoyale_To_Develop
in repository https://gitbox.apache.org/repos/asf/royale-asjs.git

commit 65fa964962213f43596ff1732b73a637cedc36ac
Author: DESKTOP-RH4S838\Yishay <yi...@hotmail.com>
AuthorDate: Mon Jul 30 14:58:20 2018 +0300

    Now that we're using Merge we don't need to play with sources in SuperImposeFilter
---
 .../royale/org/apache/royale/svg/DropShadowFilter.as    | 17 ++++-------------
 .../royale/org/apache/royale/svg/SuperimposeFilter.as   |  4 ----
 2 files changed, 4 insertions(+), 17 deletions(-)

diff --git a/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/DropShadowFilter.as b/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/DropShadowFilter.as
index c89859b..d841c08 100644
--- a/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/DropShadowFilter.as
+++ b/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/DropShadowFilter.as
@@ -56,16 +56,7 @@ package org.apache.royale.svg
 		public function build():void
 		{
 			children = [];
-			var knockoutResult:String;
-			if (!inset && knockout)
-			{
-				knockoutResult = "knockout_res1";
-//				var fullAlpha:ColorMatrixFilterElement = new ColorMatrixFilterElement();
-//				fullAlpha.opacity = 1000000;
-//				fullAlpha.result = knockoutResult;
-//				fullAlpha.in = "SourceAlpha";
-//				children.push(fullAlpha);
-			}
+			var doKnockout:Boolean = !inset && knockout;
 			if (inset)
 			{
 				var insetFilterElement:FilterElement = new InvertFilterElement();
@@ -78,7 +69,7 @@ package org.apache.royale.svg
 				children.push(offset);
 				offset.dx = dx;
 				offset.dy = dy;
-				if (knockoutResult)
+				if (doKnockout)
 				{
 					offset.in = source ? source : "SourceGraphic";
 				}
@@ -90,11 +81,11 @@ package org.apache.royale.svg
 			{
 				blur.in = source ? source : "SourceGraphic";
 			}
-			if (!inset && knockout)
+			if (doKnockout)
 			{
 				var outsetComposite:CompositeFilterElement = new CompositeFilterElement();
 				children.push(outsetComposite);
-				outsetComposite.in2 = knockoutResult;
+				outsetComposite.in2 = "SourceAlpha";
 				outsetComposite.operator = "out";
 			}
 			var colorMatrix:ColorMatrixFilterElement = new ColorMatrixFilterElement();
diff --git a/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/SuperimposeFilter.as b/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/SuperimposeFilter.as
index 9c8358a..3b92e49 100644
--- a/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/SuperimposeFilter.as
+++ b/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/SuperimposeFilter.as
@@ -44,10 +44,6 @@ package org.apache.royale.svg
 				var resultName:String = "chainableResult" + i;
 				chainable.result = resultName;
 				results.push(resultName);
-				if (i != 0)
-				{
-					chainable.source = "chainableResult" + (i - 1);
-				}
 				chainable.build();
 				addArray(newChildren, chainable.children);
 			}


[royale-asjs] 14/14: This change broke a clean build

Posted by ha...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

harbs pushed a commit to branch feature/Merge_MXRoyale_To_Develop
in repository https://gitbox.apache.org/repos/asf/royale-asjs.git

commit 27f9ef49411a73772572ed783add216a17bc6850
Author: Harbs <ha...@in-tools.com>
AuthorDate: Sun Sep 2 11:40:34 2018 +0300

    This change broke a clean build
---
 build.xml | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/build.xml b/build.xml
index ad93e1e..ca39268 100644
--- a/build.xml
+++ b/build.xml
@@ -2007,12 +2007,12 @@ limitations under the License.
         </exec>
     </target>
 
-    <target name="build-all" depends="check-playerglobal-home,check-air-home,check-compiler-home,check-typedefs-home">
+    <target name="build-all" depends="check-playerglobal-home,check-air-home">
         <property name="font.donot.ask" value="set" />
         <antcall target="ask-before-build-all" />
         <property name="javadoc.zip.uptodate" value="set" /> <!-- javadoc fails on windows? -->
-        <ant dir="${ROYALE_COMPILER_REPO}" />
-        <ant dir="${ROYALE_TYPEDEFS_HOME}" />
+        <ant dir="${base.folder.name}/royale-compiler" />
+        <ant dir="${base.folder.name}/royale-typedefs" />
     </target>
     <target name="ask-before-build-all" unless="release.target">
         <input


[royale-asjs] 04/14: Filter elements are now children of filter bead instead of beads.

Posted by ha...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

harbs pushed a commit to branch feature/Merge_MXRoyale_To_Develop
in repository https://gitbox.apache.org/repos/asf/royale-asjs.git

commit 0465042114fbc63d13eae1cd5c460b1dd48d25e6
Author: DESKTOP-RH4S838\Yishay <yi...@hotmail.com>
AuthorDate: Sun Jul 15 10:44:59 2018 +0300

    Filter elements are now children of filter bead instead of beads.
---
 .../org/apache/royale/svg/BlendFilterElement.as    | 14 +++++++------
 .../org/apache/royale/svg/BlurFilterElement.as     | 10 ++++++----
 .../apache/royale/svg/ColorMatrixFilterElement.as  | 12 ++++++-----
 .../apache/royale/svg/CompositeFilterElement.as    | 12 ++++++-----
 .../main/royale/org/apache/royale/svg/Filter.as    | 23 +++++++++++++++++-----
 .../royale/org/apache/royale/svg/FilterElement.as  | 16 ++++++++-------
 .../org/apache/royale/svg/InvertFilterElement.as   | 16 ++++++++-------
 .../org/apache/royale/svg/OffsetFilterElement.as   | 12 ++++++-----
 .../org/apache/royale/svg/SpreadFilterElement.as   | 14 +++++++------
 9 files changed, 79 insertions(+), 50 deletions(-)

diff --git a/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/BlendFilterElement.as b/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/BlendFilterElement.as
index ecbac1d..6c4eac3 100644
--- a/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/BlendFilterElement.as
+++ b/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/BlendFilterElement.as
@@ -49,13 +49,15 @@ package org.apache.royale.svg
 		/**
 		 * @royaleignorecoercion Element
 		 */
-		COMPILE::JS 
-		override protected function build():void
+		override public function build():void
 		{
-			super.build();
-			filterElement.setAttribute("in", in);
-			filterElement.setAttribute("in2", in2);
-			filterElement.setAttribute("mode", "normal");
+			COMPILE::JS 
+			{
+				super.build();
+				filterElement.setAttribute("in", in);
+				filterElement.setAttribute("in2", in2);
+				filterElement.setAttribute("mode", "normal");
+			}
 		}
 
 		/**
diff --git a/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/BlurFilterElement.as b/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/BlurFilterElement.as
index fdfe358..e4ba5b6 100644
--- a/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/BlurFilterElement.as
+++ b/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/BlurFilterElement.as
@@ -45,11 +45,13 @@ package org.apache.royale.svg
 		/**
 		 * @royaleignorecoercion Element
 		 */
-		COMPILE::JS 
-		override protected function build():void
+		override public function build():void
 		{
-			super.build();
-			filterElement.setAttribute("stdDeviation", stdDeviation);
+			COMPILE::JS 
+			{
+				super.build();
+				filterElement.setAttribute("stdDeviation", stdDeviation);
+			}
 		}
 
 		/**
diff --git a/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/ColorMatrixFilterElement.as b/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/ColorMatrixFilterElement.as
index 89b460b..8e3a1f1 100644
--- a/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/ColorMatrixFilterElement.as
+++ b/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/ColorMatrixFilterElement.as
@@ -49,12 +49,14 @@ package org.apache.royale.svg
 		/**
 		 * @royaleignorecoercion Element
 		 */
-		COMPILE::JS 
-		override protected function build():void
+		override public function build():void
 		{
-			super.build();
-			var matrixValues:String = "0 0 0 0 " + red + " 0 0 0 0 " + green + " 0 0 0 0 " + blue + " 0 0 0 " + opacity + " 0";
-			filterElement.setAttribute("values", matrixValues);
+			COMPILE::JS 
+			{
+				super.build();
+				var matrixValues:String = "0 0 0 0 " + red + " 0 0 0 0 " + green + " 0 0 0 0 " + blue + " 0 0 0 " + opacity + " 0";
+				filterElement.setAttribute("values", matrixValues);
+			}
 		}
 
 		/**
diff --git a/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/CompositeFilterElement.as b/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/CompositeFilterElement.as
index fa84244..a01ce4b 100644
--- a/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/CompositeFilterElement.as
+++ b/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/CompositeFilterElement.as
@@ -46,12 +46,14 @@ package org.apache.royale.svg
 		/**
 		 * @royaleignorecoercion Element
 		 */
-		COMPILE::JS 
-		override protected function build():void
+		override public function build():void
 		{
-			super.build();
-			filterElement.setAttribute("in2", in2);
-			filterElement.setAttribute("operator", operator);
+			COMPILE::JS 
+			{
+				super.build();
+				filterElement.setAttribute("in2", in2);
+				filterElement.setAttribute("operator", operator);
+			}
 		}
 
 		public function get in2():String 
diff --git a/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/Filter.as b/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/Filter.as
index e58bc70..ffc17f1 100644
--- a/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/Filter.as
+++ b/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/Filter.as
@@ -19,16 +19,17 @@
 package org.apache.royale.svg
 {
 	
-	import org.apache.royale.core.IBead;
-	import org.apache.royale.core.IRenderedObject;
-	import org.apache.royale.core.IStrand;
-
 	COMPILE::JS
 	{
 		import org.apache.royale.utils.UIDUtil;
 		import org.apache.royale.graphics.utils.addSvgElementToElement;
 		import org.apache.royale.events.IEventDispatcher;
 	}
+	import org.apache.royale.core.IBead;
+	import org.apache.royale.core.IRenderedObject;
+	import org.apache.royale.core.IStrand;
+	[DefaultProperty("children")]
+
 	/**
 	 *  The Filter bead allows you to filter an SVG element. Filter elements should be added to the strand to achieve the desired effect.
 	 *  
@@ -42,6 +43,7 @@ package org.apache.royale.svg
 		private var _strand:IStrand;
 		private var _width:String = "200%";
 		private var _height:String = "200%";
+		private var _children:Array;
 //		private var floodColor:uint;
 		COMPILE::JS 
 		{
@@ -112,7 +114,8 @@ package org.apache.royale.svg
 			for (var i:int = 0; i < children.length; i++)
 			{
 				var filterElement:FilterElement = children[i] as FilterElement;
-				filterElement.buildOn(filterElementWrapper);
+				filterElement.filterElementWrapper = filterElementWrapper;
+				filterElement.build();
 			}
 		}
 		
@@ -154,6 +157,16 @@ package org.apache.royale.svg
 		{
 			return _filterElementWrapper;
 		}
+
+		public function get children():Array 
+		{
+			return _children;
+		}
+		
+		public function set children(value:Array):void 
+		{
+			_children = value;
+		}
 	}
 }
 
diff --git a/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/FilterElement.as b/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/FilterElement.as
index 6afb656..0e7e1fd 100644
--- a/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/FilterElement.as
+++ b/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/FilterElement.as
@@ -53,13 +53,15 @@ package org.apache.royale.svg
 		/**
 		 * @royaleignorecoercion Element
 		 */
-		COMPILE::JS 
-		protected function build():void
+		public function build():void
 		{
-			_filterElement = addSvgElementToElement(filterElementWrapper, filterElementType) as Element;
-			if (result)
+			COMPILE::JS 
 			{
-				filterElement.setAttribute("result", result);
+				_filterElement = addSvgElementToElement(filterElementWrapper, filterElementType) as Element;
+				if (result)
+				{
+					filterElement.setAttribute("result", result);
+				}
 			}
 		}
 		
@@ -100,7 +102,7 @@ package org.apache.royale.svg
 		/**
 		 * @royaleignorecoercion Element
 		 */
-		COMPIE::JS
+		COMPILE::JS
 		public function get filterElementWrapper():Element 
 		{
 			return _filterElementWrapper;
@@ -109,7 +111,7 @@ package org.apache.royale.svg
 		/**
 		 * @royaleignorecoercion Element
 		 */
-		COMPIE::JS
+		COMPILE::JS
 		public function set filterElementWrapper(value:Element):void 
 		{
 			_filterElementWrapper = value;
diff --git a/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/InvertFilterElement.as b/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/InvertFilterElement.as
index 3ba808a..7d0958a 100644
--- a/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/InvertFilterElement.as
+++ b/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/InvertFilterElement.as
@@ -45,14 +45,16 @@ package org.apache.royale.svg
 		/*
 		* @royaleignorecoercion Element
 		*/
-		COMPILE::JS 
-		override protected function build():void
+		override public function build():void
 		{
-			super.build();
-			filterElement.setAttribute("in", "SourceAlpha");
-			var funcA:Element = addSvgElementToElement(filterElement, "feFuncA") as Element;
-			funcA.setAttribute("type", "table");
-			funcA.setAttribute("tableValues", "1 0");
+			COMPILE::JS 
+			{
+				super.build();
+				filterElement.setAttribute("in", "SourceAlpha");
+				var funcA:Element = addSvgElementToElement(filterElement, "feFuncA") as Element;
+				funcA.setAttribute("type", "table");
+				funcA.setAttribute("tableValues", "1 0");
+			}
 		}
 			
 		COMPILE::JS
diff --git a/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/OffsetFilterElement.as b/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/OffsetFilterElement.as
index 1ace625..6d76227 100644
--- a/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/OffsetFilterElement.as
+++ b/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/OffsetFilterElement.as
@@ -46,12 +46,14 @@ package org.apache.royale.svg
 		/**
 		 * @royaleignorecoercion Element
 		 */
-		COMPILE::JS 
-		override protected function build():void
+		override public function build():void
 		{
-			super.build();
-			filterElement.setAttribute("dx", dx);
-			filterElement.setAttribute("dy", dy);
+			COMPILE::JS 
+			{
+				super.build();
+				filterElement.setAttribute("dx", dx);
+				filterElement.setAttribute("dy", dy);
+			}
 		}
 
 		/**
diff --git a/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/SpreadFilterElement.as b/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/SpreadFilterElement.as
index 44786ec..57453e3 100644
--- a/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/SpreadFilterElement.as
+++ b/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/SpreadFilterElement.as
@@ -45,13 +45,15 @@ package org.apache.royale.svg
 		/**
 		 * @royaleignorecoercion Element
 		 */
-		COMPILE::JS 
-		override protected function build():void
+		override public function build():void
 		{
-			super.build();
-			var funcA:Element = addSvgElementToElement(filterElement, "feFuncA") as Element;
-			funcA.setAttribute("type", "linear");
-			funcA.setAttribute("slope", spread);
+			COMPILE::JS 
+			{
+				super.build();
+				var funcA:Element = addSvgElementToElement(filterElement, "feFuncA") as Element;
+				funcA.setAttribute("type", "linear");
+				funcA.setAttribute("slope", spread);
+			}
 		}
 
 		/**


[royale-asjs] 10/14: Added merge, and more

Posted by ha...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

harbs pushed a commit to branch feature/Merge_MXRoyale_To_Develop
in repository https://gitbox.apache.org/repos/asf/royale-asjs.git

commit 8676706b4a07f570bb751d10d020f9d9d4cef354
Author: DESKTOP-RH4S838\Yishay <yi...@hotmail.com>
AuthorDate: Mon Jul 30 13:29:18 2018 +0300

    Added merge, and more
---
 .../Graphics/src/main/resources/svg-manifest.xml   |  1 +
 .../org/apache/royale/svg/BlendFilterElement.as    | 12 -----
 .../apache/royale/svg/CompositeFilterElement.as    |  1 +
 .../org/apache/royale/svg/DropShadowFilter.as      | 54 ++++++++++++++++++----
 .../royale/org/apache/royale/svg/FilterElement.as  | 15 ++++++
 ...eFilterElement.as => FullAlphaFilterElement.as} | 48 ++++++-------------
 ...ositeFilterElement.as => MergeFilterElement.as} | 45 ++++++++----------
 .../org/apache/royale/svg/SuperimposeFilter.as     |  8 +++-
 8 files changed, 104 insertions(+), 80 deletions(-)

diff --git a/frameworks/projects/Graphics/src/main/resources/svg-manifest.xml b/frameworks/projects/Graphics/src/main/resources/svg-manifest.xml
index b453bca..72aa7a5 100644
--- a/frameworks/projects/Graphics/src/main/resources/svg-manifest.xml
+++ b/frameworks/projects/Graphics/src/main/resources/svg-manifest.xml
@@ -29,6 +29,7 @@
 	<component id="SpreadFilterElement" class="org.apache.royale.svg.SpreadFilterElement" />
 	<component id="BlurFilterElement" class="org.apache.royale.svg.BlurFilterElement" />
 	<component id="InvertFilterElement" class="org.apache.royale.svg.InvertFilterElement" />
+	<component id="FullAlphaFilterElement" class="org.apache.royale.svg.FullAlphaFilterElement" />
 	<component id="CompositeFilterElement" class="org.apache.royale.svg.CompositeFilterElement" />
 	<component id="BlendFilterElement" class="org.apache.royale.svg.BlendFilterElement" />
 	<component id="MaskBead" class="org.apache.royale.svg.MaskBead" />
diff --git a/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/BlendFilterElement.as b/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/BlendFilterElement.as
index 6c4eac3..b658352 100644
--- a/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/BlendFilterElement.as
+++ b/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/BlendFilterElement.as
@@ -40,7 +40,6 @@ package org.apache.royale.svg
 	{
 		private var _strand:IStrand;
 		private var _in2:String;
-		private var _in:String;
 
 		public function BlendFilterElement()
 		{
@@ -54,7 +53,6 @@ package org.apache.royale.svg
 			COMPILE::JS 
 			{
 				super.build();
-				filterElement.setAttribute("in", in);
 				filterElement.setAttribute("in2", in2);
 				filterElement.setAttribute("mode", "normal");
 			}
@@ -78,16 +76,6 @@ package org.apache.royale.svg
 			_in2 = value;
 		}
 
-		public function get in():String 
-		{
-			return _in;
-		}
-		
-		public function set in(value:String):void 
-		{
-			_in = value;
-		}
-
 		COMPILE::JS
 		override protected function get filterElementType():String
 		{
diff --git a/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/CompositeFilterElement.as b/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/CompositeFilterElement.as
index a01ce4b..dba53ca 100644
--- a/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/CompositeFilterElement.as
+++ b/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/CompositeFilterElement.as
@@ -81,6 +81,7 @@ package org.apache.royale.svg
 		{
 			return "feComposite";
 		}
+
 	}
 }
 
diff --git a/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/DropShadowFilter.as b/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/DropShadowFilter.as
index 02cdce9..c89859b 100644
--- a/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/DropShadowFilter.as
+++ b/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/DropShadowFilter.as
@@ -45,6 +45,7 @@ package org.apache.royale.svg
 		private var _opacity:Number = 1;
 		private var _spread:Number = 1;
 		private var _inset:Boolean;
+		private var _knockout:Boolean;
 		private var _source:String;
 		private var _result:String;
 
@@ -55,21 +56,47 @@ package org.apache.royale.svg
 		public function build():void
 		{
 			children = [];
+			var knockoutResult:String;
+			if (!inset && knockout)
+			{
+				knockoutResult = "knockout_res1";
+//				var fullAlpha:ColorMatrixFilterElement = new ColorMatrixFilterElement();
+//				fullAlpha.opacity = 1000000;
+//				fullAlpha.result = knockoutResult;
+//				fullAlpha.in = "SourceAlpha";
+//				children.push(fullAlpha);
+			}
 			if (inset)
 			{
 				var insetFilterElement:FilterElement = new InvertFilterElement();
 				children.push(insetFilterElement);
 			}
+			var offset:OffsetFilterElement;
 			if (!isNaN(dx) && !isNaN(dy) && (dx !=0 || dy !=0))
 			{
-				var offset:OffsetFilterElement = new OffsetFilterElement();
+				offset = new OffsetFilterElement();
 				children.push(offset);
 				offset.dx = dx;
 				offset.dy = dy;
+				if (knockoutResult)
+				{
+					offset.in = source ? source : "SourceGraphic";
+				}
 			}
 			var blur:BlurFilterElement = new BlurFilterElement();
 			children.push(blur);
 			blur.stdDeviation = stdDeviation;
+			if (!offset)
+			{
+				blur.in = source ? source : "SourceGraphic";
+			}
+			if (!inset && knockout)
+			{
+				var outsetComposite:CompositeFilterElement = new CompositeFilterElement();
+				children.push(outsetComposite);
+				outsetComposite.in2 = knockoutResult;
+				outsetComposite.operator = "out";
+			}
 			var colorMatrix:ColorMatrixFilterElement = new ColorMatrixFilterElement();
 			children.push(colorMatrix);
 			colorMatrix.red = red;
@@ -80,7 +107,7 @@ package org.apache.royale.svg
 			children.push(spreadElement);
 			if (!inset)
 			{
-				spreadElement.result = "spreadResult";
+				spreadElement.result = result ? result : "spreadResult";
 			}
 			spreadElement.spread = spread;
 			if (inset)
@@ -89,15 +116,14 @@ package org.apache.royale.svg
 				children.push(composite);
 				composite.in2 = "SourceAlpha";
 				composite.operator = "in";
-				composite.result = "compositeResult";
+				composite.result = result ? result : "compositeResult";
 			}
-			var blend:BlendFilterElement = new BlendFilterElement();
-			children.push(blend);
-			blend.in = inset ? "compositeResult" : source ? source : "SourceGraphic";
-			blend.in2 = inset && !source ? "SourceGraphic" : inset && source ? source : "spreadResult";
-			if (result)
+			if (!result)
 			{
-				blend.result = result;
+				var blend:BlendFilterElement = new BlendFilterElement();
+				children.push(blend);
+				blend.in = inset ? "compositeResult" : source ? source : "SourceGraphic";
+				blend.in2 = inset && !source ? "SourceGraphic" : inset && source ? source : "spreadResult";
 			}
 		}
 
@@ -299,6 +325,16 @@ package org.apache.royale.svg
 		{
 			_result = value;
 		}
+
+		public function get knockout():Boolean 
+		{
+			return _knockout;
+		}
+		
+		public function set knockout(value:Boolean):void 
+		{
+			_knockout = value;
+		}
 	}
 }
 
diff --git a/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/FilterElement.as b/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/FilterElement.as
index 0e7e1fd..f063f02 100644
--- a/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/FilterElement.as
+++ b/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/FilterElement.as
@@ -45,6 +45,7 @@ package org.apache.royale.svg
 			private var _filterElement:Element;
 		}
 		private var _result:String;
+		private var _in:String;
 
 		public function FilterElement()
 		{
@@ -62,6 +63,10 @@ package org.apache.royale.svg
 				{
 					filterElement.setAttribute("result", result);
 				}
+				if (_in)
+				{
+					filterElement.setAttribute("in", _in);
+				}
 			}
 		}
 		
@@ -116,6 +121,16 @@ package org.apache.royale.svg
 		{
 			_filterElementWrapper = value;
 		}
+
+		public function get in():String 
+		{
+			return _in;
+		}
+		
+		public function set in(value:String):void 
+		{
+			_in = value;
+		}
 	}
 }
 
diff --git a/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/CompositeFilterElement.as b/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/FullAlphaFilterElement.as
similarity index 67%
copy from frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/CompositeFilterElement.as
copy to frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/FullAlphaFilterElement.as
index a01ce4b..8b30982 100644
--- a/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/CompositeFilterElement.as
+++ b/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/FullAlphaFilterElement.as
@@ -19,6 +19,8 @@
 package org.apache.royale.svg
 {
 	
+	import org.apache.royale.core.IBead;
+	import org.apache.royale.events.IEventDispatcher;
 	import org.apache.royale.events.Event;
 	COMPILE::JS 
 	{
@@ -26,61 +28,41 @@ package org.apache.royale.svg
 	}
 
 	/**
-	 *  The CompositeFilterElement takes two objects and applies Porter/Duff operators
+	 *  The FullAlphaFilterElement 
 	 *  
 	 *  @langversion 3.0
 	 *  @playerversion Flash 10.2
 	 *  @playerversion AIR 2.6
 	 *  @productversion Royale 0.9.3
 	 */
-	public class CompositeFilterElement extends FilterElement
+	public class FullAlphaFilterElement extends FilterElement
 	{
-		private var _in2:String;
-		private var _operator:String;
+		
 
-		public function CompositeFilterElement()
+		public function FullAlphaFilterElement()
 		{
 		}
 		
-		
-		/**
-		 * @royaleignorecoercion Element
-		 */
+		/*
+		* @royaleignorecoercion Element
+		*/
 		override public function build():void
 		{
 			COMPILE::JS 
 			{
 				super.build();
-				filterElement.setAttribute("in2", in2);
-				filterElement.setAttribute("operator", operator);
+				var funcA:Element = addSvgElementToElement(filterElement, "feFuncA") as Element;
+				funcA.setAttribute("type", "table");
+				funcA.setAttribute("tableValues", "1");
 			}
 		}
-
-		public function get in2():String 
-		{
-			return _in2;
-		}
-		
-		public function set in2(value:String):void 
-		{
-			_in2 = value;
-		}
-
-		public function get operator():String 
-		{
-			return _operator;
-		}
-		
-		public function set operator(value:String):void 
-		{
-			_operator = value;
-		}
-
+			
 		COMPILE::JS
 		override protected function get filterElementType():String
 		{
-			return "feComposite";
+			return "feComponentTransfer";
 		}
+
 	}
 }
 
diff --git a/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/CompositeFilterElement.as b/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/MergeFilterElement.as
similarity index 68%
copy from frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/CompositeFilterElement.as
copy to frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/MergeFilterElement.as
index a01ce4b..fcc033f 100644
--- a/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/CompositeFilterElement.as
+++ b/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/MergeFilterElement.as
@@ -19,6 +19,9 @@
 package org.apache.royale.svg
 {
 	
+	import org.apache.royale.core.IBead;
+	import org.apache.royale.core.IStrand;
+	import org.apache.royale.events.IEventDispatcher;
 	import org.apache.royale.events.Event;
 	COMPILE::JS 
 	{
@@ -26,23 +29,22 @@ package org.apache.royale.svg
 	}
 
 	/**
-	 *  The CompositeFilterElement takes two objects and applies Porter/Duff operators
+	 *  The MergeFilterElement merges several filter elements
 	 *  
 	 *  @langversion 3.0
 	 *  @playerversion Flash 10.2
 	 *  @playerversion AIR 2.6
 	 *  @productversion Royale 0.9.3
 	 */
-	public class CompositeFilterElement extends FilterElement
+	public class MergeFilterElement extends FilterElement
 	{
-		private var _in2:String;
-		private var _operator:String;
+		private var _strand:IStrand;
+		private var _results:Array;
 
-		public function CompositeFilterElement()
+		public function MergeFilterElement()
 		{
 		}
 		
-		
 		/**
 		 * @royaleignorecoercion Element
 		 */
@@ -51,35 +53,28 @@ package org.apache.royale.svg
 			COMPILE::JS 
 			{
 				super.build();
-				filterElement.setAttribute("in2", in2);
-				filterElement.setAttribute("operator", operator);
+				for (var i:int = 0; i < results.length; i++)
+				{
+					var mergeNode:Element = addSvgElementToElement(filterElement, "feMergeNode") as Element;
+					mergeNode.setAttribute("in", results[i] as String);
+				}
 			}
 		}
 
-		public function get in2():String 
-		{
-			return _in2;
-		}
-		
-		public function set in2(value:String):void 
+		COMPILE::JS
+		override protected function get filterElementType():String
 		{
-			_in2 = value;
+			return "feMerge";
 		}
 
-		public function get operator():String 
+		public function get results():Array 
 		{
-			return _operator;
+			return _results;
 		}
 		
-		public function set operator(value:String):void 
-		{
-			_operator = value;
-		}
-
-		COMPILE::JS
-		override protected function get filterElementType():String
+		public function set results(value:Array):void 
 		{
-			return "feComposite";
+			_results = value;
 		}
 	}
 }
diff --git a/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/SuperimposeFilter.as b/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/SuperimposeFilter.as
index ecabf26..9c8358a 100644
--- a/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/SuperimposeFilter.as
+++ b/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/SuperimposeFilter.as
@@ -37,10 +37,13 @@ package org.apache.royale.svg
 		override protected function filter():void
 		{
 			var newChildren:Array = [];
+			var results:Array = ["SourceGraphic"];
 			for (var i:int = 0; i < children.length; i++)
 			{
 				var chainable:IChainableFilter = children[i] as IChainableFilter;
-				chainable.result = "chainableResult" + i;
+				var resultName:String = "chainableResult" + i;
+				chainable.result = resultName;
+				results.push(resultName);
 				if (i != 0)
 				{
 					chainable.source = "chainableResult" + (i - 1);
@@ -48,6 +51,9 @@ package org.apache.royale.svg
 				chainable.build();
 				addArray(newChildren, chainable.children);
 			}
+			var merge:MergeFilterElement = new MergeFilterElement();
+			merge.results = results;
+			newChildren.push(merge);
 			children = newChildren;
 			super.filter();
 		}


[royale-asjs] 13/14: Add a wrapper bead the date formatter to add hours

Posted by ha...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

harbs pushed a commit to branch feature/Merge_MXRoyale_To_Develop
in repository https://gitbox.apache.org/repos/asf/royale-asjs.git

commit 3650e4e3c626d4590ba8b1fd5f601fe25d63dd75
Author: DESKTOP-RH4S838\Yishay <yi...@hotmail.com>
AuthorDate: Thu Aug 23 09:28:21 2018 +0300

    Add a wrapper bead the date formatter to add hours
---
 .../src/main/resources/basic-manifest.xml          |   1 +
 .../html/accessories/DateAndTimeFormatter.as       | 175 +++++++++++++++++++++
 2 files changed, 176 insertions(+)

diff --git a/frameworks/projects/Formatters/src/main/resources/basic-manifest.xml b/frameworks/projects/Formatters/src/main/resources/basic-manifest.xml
index ce9d2d4..05bc912 100644
--- a/frameworks/projects/Formatters/src/main/resources/basic-manifest.xml
+++ b/frameworks/projects/Formatters/src/main/resources/basic-manifest.xml
@@ -26,4 +26,5 @@
     <component id="DateFormatYYYYMMDD" class="org.apache.royale.html.accessories.DateFormatYYYYMMDD"/>
     <component id="NumberFormatter" class="org.apache.royale.html.accessories.NumberFormatter"/>
     <component id="CurrencyFormatter" class="org.apache.royale.html.accessories.CurrencyFormatter"/>
+    <component id="DateAndTimeFormatter" class="org.apache.royale.html.accessories.DateAndTimeFormatter"/>
 </componentPackage>
diff --git a/frameworks/projects/Formatters/src/main/royale/org/apache/royale/html/accessories/DateAndTimeFormatter.as b/frameworks/projects/Formatters/src/main/royale/org/apache/royale/html/accessories/DateAndTimeFormatter.as
new file mode 100644
index 0000000..0b3c09d
--- /dev/null
+++ b/frameworks/projects/Formatters/src/main/royale/org/apache/royale/html/accessories/DateAndTimeFormatter.as
@@ -0,0 +1,175 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.html.accessories
+{
+	import org.apache.royale.core.IBead;
+	import org.apache.royale.core.IBeadModel;
+	import org.apache.royale.core.Strand;
+	import org.apache.royale.core.IDateChooserModel;
+	import org.apache.royale.core.IFormatBead;
+	import org.apache.royale.core.IStrand;
+	import org.apache.royale.core.IStrandWithModel;
+	import org.apache.royale.events.Event;
+	import org.apache.royale.events.IEventDispatcher;
+	
+	/**
+	 * The DateFormatter class wraps an IFormatBead and adds an hour.
+	 *  
+	 *  @royaleignoreimport org.apache.royale.core.IStrandWithModel
+	 * 
+	 *  @langversion 3.0
+	 *  @playerversion Flash 10.2
+	 *  @playerversion AIR 2.6
+	 *  @productversion Royale 0.9.3
+	 */
+	public class DateAndTimeFormatter extends Strand implements IFormatBead
+	{
+
+		private var _formattedResult:String;
+		private var _originalFormatter:IFormatBead;
+		private var _model:IDateChooserModel;
+		private var _strand:IStrand;
+		/**
+		 *  The name of the property on the model holding the value to be formatted.
+		 *  The default is selectedDate.
+		 *  
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion Royale 0.9.3
+		 */
+		public function get propertyName():String
+		{
+			return _originalFormatter.propertyName;
+		}
+
+		public function set propertyName(value:String):void
+		{
+			_originalFormatter.propertyName = value;
+		}
+		
+		/**
+		 *  The name of the event dispatched when the property changes. The
+		 *  default is selectedDateChanged.
+		 *  
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion Royale 0.9.3
+		 */
+		public function get eventName():String
+		{
+			return _originalFormatter.eventName;
+		}
+
+		public function set eventName(value:String):void
+		{
+			_originalFormatter.eventName = value;
+		}
+
+		/**
+		 *  The formatted result.
+		 *  
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion Royale 0.9.3
+		 */
+		public function get formattedString():String
+		{
+			return _formattedResult;
+		}
+		
+		
+		/**
+		 *  @copy org.apache.royale.core.IBead#strand
+		 *  
+		 *  @royaleignorecoercion org.apache.royale.core.IStrandWithModel
+		 * 
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion Royale 0.9.3
+		 */
+		public function set strand(value:IStrand):void
+		{
+			_strand = value;
+			_model = IStrandWithModel(_strand).model as IDateChooserModel;
+			if (_originalFormatter)
+			{
+				addBead(_originalFormatter);
+			} else
+			{
+				_originalFormatter = getBeadByType(IFormatBead) as IFormatBead;
+			}
+			IEventDispatcher(_originalFormatter).addEventListener('formatChanged', formatChangedHandler);
+		}
+		
+		/**
+		 *  @copy org.apache.royale.core.UIBase#model
+		 *  
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion Royale 0.9.3
+		 */
+		override public function get model():IBeadModel
+		{
+			return _model;
+		}
+
+		override public function addBead(bead:IBead):void
+		{
+			if (model)
+			{
+				super.addBead(bead);
+			} else
+			{
+				_originalFormatter = bead as IFormatBead;
+			}
+		}
+
+		private function formatChangedHandler(event:Event):void
+		{
+			var dateResult:String = _originalFormatter.formattedString;
+			var selectedDate:Date = _model.selectedDate;
+			_formattedResult = getFormattedResult(selectedDate);
+			dispatchEvent(new Event('formatChanged'));
+		}
+
+		protected function getFormattedResult(date:Date):String
+		{
+			var formattedHour:String = getFormattedHour(date);
+			return _originalFormatter.formattedString + " " + formattedHour;
+		}
+		
+		private function getNumberAsPaddedString(value:Number):String
+		{
+			return (value < 10 ? "0" : "") + value;
+		}
+
+		protected function getFormattedHour(date:Date):String
+		{
+			var hours:String = getNumberAsPaddedString(date.getHours());
+			var minutes:String = getNumberAsPaddedString(date.getMinutes());
+			var seconds:String = getNumberAsPaddedString(date.getSeconds());
+			return hours + ":" + minutes + ":" + seconds;
+		}
+	}
+}


[royale-asjs] 06/14: Added SuperimposeFilter

Posted by ha...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

harbs pushed a commit to branch feature/Merge_MXRoyale_To_Develop
in repository https://gitbox.apache.org/repos/asf/royale-asjs.git

commit 7c731e28ca86c30564d960dae529bb5e32739e18
Author: DESKTOP-RH4S838\Yishay <yi...@hotmail.com>
AuthorDate: Sun Jul 15 13:22:01 2018 +0300

    Added SuperimposeFilter
---
 .../Graphics/src/main/resources/svg-manifest.xml   |  1 +
 .../org/apache/royale/svg/DropShadowFilter.as      | 41 ++++++++++--
 .../org/apache/royale/svg/IChainableFilter.as      | 74 ++++++++++++++++++++++
 .../org/apache/royale/svg/SuperimposeFilter.as     | 65 +++++++++++++++++++
 4 files changed, 176 insertions(+), 5 deletions(-)

diff --git a/frameworks/projects/Graphics/src/main/resources/svg-manifest.xml b/frameworks/projects/Graphics/src/main/resources/svg-manifest.xml
index ed49401..b453bca 100644
--- a/frameworks/projects/Graphics/src/main/resources/svg-manifest.xml
+++ b/frameworks/projects/Graphics/src/main/resources/svg-manifest.xml
@@ -34,4 +34,5 @@
 	<component id="MaskBead" class="org.apache.royale.svg.MaskBead" />
 	<component id="DisableClipBead" class="org.apache.royale.svg.DisableClipBead" />
 	<component id="LinearGradient" class="org.apache.royale.svg.LinearGradient" />
+	<component id="SuperimposeFilter" class="org.apache.royale.svg.SuperimposeFilter" />
 </componentPackage>
diff --git a/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/DropShadowFilter.as b/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/DropShadowFilter.as
index fe79d37..02cdce9 100644
--- a/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/DropShadowFilter.as
+++ b/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/DropShadowFilter.as
@@ -34,7 +34,7 @@ package org.apache.royale.svg
 	 *  @playerversion AIR 2.6
 	 *  @productversion Royale 0.9.3
 	 */
-	public class DropShadowFilter extends Filter
+	public class DropShadowFilter extends Filter implements IChainableFilter
 	{
 		private var _dx:Number;
 		private var _dy:Number;
@@ -45,13 +45,14 @@ package org.apache.royale.svg
 		private var _opacity:Number = 1;
 		private var _spread:Number = 1;
 		private var _inset:Boolean;
+		private var _source:String;
+		private var _result:String;
 
 		public function DropShadowFilter()
 		{
 		}
 		
-		COMPILE::JS
-		override protected function filter():void
+		public function build():void
 		{
 			children = [];
 			if (inset)
@@ -92,8 +93,18 @@ package org.apache.royale.svg
 			}
 			var blend:BlendFilterElement = new BlendFilterElement();
 			children.push(blend);
-			blend.in = inset ? "compositeResult" : "SourceGraphic";
-			blend.in2 = inset ? "SourceGraphic" : "spreadResult";
+			blend.in = inset ? "compositeResult" : source ? source : "SourceGraphic";
+			blend.in2 = inset && !source ? "SourceGraphic" : inset && source ? source : "spreadResult";
+			if (result)
+			{
+				blend.result = result;
+			}
+		}
+
+		COMPILE::JS
+		override protected function filter():void
+		{
+			build();
 			super.filter();
 		}
 
@@ -268,6 +279,26 @@ package org.apache.royale.svg
 		{
 			_inset = value;
 		}
+
+		public function get source():String 
+		{
+			return _source;
+		}
+		
+		public function set source(value:String):void 
+		{
+			_source = value;
+		}
+
+		public function get result():String 
+		{
+			return _result;
+		}
+		
+		public function set result(value:String):void 
+		{
+			_result = value;
+		}
 	}
 }
 
diff --git a/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/IChainableFilter.as b/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/IChainableFilter.as
new file mode 100644
index 0000000..29f2b56
--- /dev/null
+++ b/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/IChainableFilter.as
@@ -0,0 +1,74 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.svg
+{
+    /**
+     *  The IChainableFilter interface describes a filter that can be a part of a chain of filters
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 10.2
+     *  @playerversion AIR 2.6
+     *  @productversion Royale 0.9.3
+     */
+	public interface IChainableFilter
+	{
+        /**
+		 *  This method builds the filter's children.
+         * 
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion Royale 0.9.3
+         */
+		function build():void
+			
+			
+        /**
+		 *  This method returns the elements representing the filter primitives.
+         * 
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion Royale 0.9.3
+         */
+		function get children():Array
+			
+		
+        /**
+		 *  This method sets the result of this filter to be used in a subsequent chain element.
+         * 
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion Royale 0.9.3
+         */
+		function set result(value:String):void
+			
+		/**
+		 *  This method sets the source of this filter which can be a result from a previous chain element.
+         * 
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion Royale 0.9.3
+         */
+		function set source(value:String):void
+
+	}
+}
\ No newline at end of file
diff --git a/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/SuperimposeFilter.as b/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/SuperimposeFilter.as
new file mode 100644
index 0000000..ecabf26
--- /dev/null
+++ b/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/SuperimposeFilter.as
@@ -0,0 +1,65 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.svg
+{
+	
+	/**
+	 *  SuperimposeFilter composes superimposes several filters one on top of the other.
+	 *  
+	 *  @langversion 3.0
+	 *  @playerversion Flash 10.2
+	 *  @playerversion AIR 2.6
+	 *  @productversion Royale 0.9.3
+	 */
+	public class SuperimposeFilter extends Filter
+	{
+		public function SuperimposeFilter()
+		{
+		}
+		
+		COMPILE::JS
+		override protected function filter():void
+		{
+			var newChildren:Array = [];
+			for (var i:int = 0; i < children.length; i++)
+			{
+				var chainable:IChainableFilter = children[i] as IChainableFilter;
+				chainable.result = "chainableResult" + i;
+				if (i != 0)
+				{
+					chainable.source = "chainableResult" + (i - 1);
+				}
+				chainable.build();
+				addArray(newChildren, chainable.children);
+			}
+			children = newChildren;
+			super.filter();
+		}
+		
+		COMPILE::JS
+		private function addArray(original:Array, addition:Array):void
+		{
+			for (var i:int = 0; i < addition.length; i++)
+			{
+				original.push(addition[i]);
+			}
+		}
+	}
+}
+


[royale-asjs] 03/14: Filter elements should not be treated as beads as they are not unique.

Posted by ha...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

harbs pushed a commit to branch feature/Merge_MXRoyale_To_Develop
in repository https://gitbox.apache.org/repos/asf/royale-asjs.git

commit 3383bd7832f42bed89568a86034d3aaed17d659e
Author: DESKTOP-RH4S838\Yishay <yi...@hotmail.com>
AuthorDate: Wed Jul 11 16:11:04 2018 +0300

    Filter elements should not be treated as beads as they are not
    unique.
---
 .../Graphics/src/main/resources/defaults.css       |  8 ---
 .../org/apache/royale/svg/BlendFilterElement.as    | 37 ++++------
 .../org/apache/royale/svg/BlurFilterElement.as     | 10 ++-
 .../apache/royale/svg/ColorMatrixFilterElement.as  | 12 ++--
 .../apache/royale/svg/CompositeFilterElement.as    | 12 ++--
 .../main/royale/org/apache/royale/svg/Filter.as    | 16 ++---
 .../royale/org/apache/royale/svg/FilterElement.as  | 65 ++++++++---------
 .../org/apache/royale/svg/InvertFilterElement.as   | 16 ++---
 .../org/apache/royale/svg/MergeFilterElement.as    | 84 ----------------------
 .../org/apache/royale/svg/OffsetFilterElement.as   | 12 ++--
 .../org/apache/royale/svg/SpreadFilterElement.as   | 14 ++--
 11 files changed, 78 insertions(+), 208 deletions(-)

diff --git a/frameworks/projects/Graphics/src/main/resources/defaults.css b/frameworks/projects/Graphics/src/main/resources/defaults.css
index 99d45ee..6bc0b1b 100644
--- a/frameworks/projects/Graphics/src/main/resources/defaults.css
+++ b/frameworks/projects/Graphics/src/main/resources/defaults.css
@@ -38,12 +38,4 @@ svg|BinaryImage
 svg|DropShadowFilter
 {
 	Filter: ClassReference("org.apache.royale.svg.Filter");
-	BlendFilterElement: ClassReference("org.apache.royale.svg.BlendFilterElement");
-	OffsetFilterElement: ClassReference("org.apache.royale.svg.OffsetFilterElement");
-	ColorMatrixFilterElement: ClassReference("org.apache.royale.svg.ColorMatrixFilterElement");
-	BlurFilterElement: ClassReference("org.apache.royale.svg.BlurFilterElement");
-	BlendFilterElement: ClassReference("org.apache.royale.svg.BlendFilterElement");
-	SpreadFilterElement: ClassReference("org.apache.royale.svg.SpreadFilterElement");
-	CompositeFilterElement: ClassReference("org.apache.royale.svg.CompositeFilterElement");
-	InvertFilterElement: ClassReference("org.apache.royale.svg.InvertFilterElement");
 }
\ No newline at end of file
diff --git a/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/BlendFilterElement.as b/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/BlendFilterElement.as
index bca53eb..ecbac1d 100644
--- a/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/BlendFilterElement.as
+++ b/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/BlendFilterElement.as
@@ -36,7 +36,7 @@ package org.apache.royale.svg
 	 *  @playerversion AIR 2.6
 	 *  @productversion Royale 0.9.3
 	 */
-	public class BlendFilterElement implements IBead
+	public class BlendFilterElement extends FilterElement
 	{
 		private var _strand:IStrand;
 		private var _in2:String;
@@ -47,32 +47,15 @@ package org.apache.royale.svg
 		}
 		
 		/**
-		 *  @copy org.apache.royale.core.IBead#strand
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion Royale 0.9.3
-		 */		
-		public function set strand(value:IStrand):void
-		{
-			_strand = value;
-			(_strand as IEventDispatcher).addEventListener('beadsAdded', onInitComplete);
-		}
-		
-		/**
 		 * @royaleignorecoercion Element
 		 */
-		protected function onInitComplete(e:Event):void
+		COMPILE::JS 
+		override protected function build():void
 		{
-			COMPILE::JS 
-			{
-				var filter:Element = (_strand.getBeadByType(Filter) as Filter).filterElementWrapper;
-				var blend:Element = addSvgElementToElement(filter, "feBlend") as Element;
-				blend.setAttribute("in", in);
-				blend.setAttribute("in2", in2);
-				blend.setAttribute("mode", "normal");
-			}
+			super.build();
+			filterElement.setAttribute("in", in);
+			filterElement.setAttribute("in2", in2);
+			filterElement.setAttribute("mode", "normal");
 		}
 
 		/**
@@ -102,6 +85,12 @@ package org.apache.royale.svg
 		{
 			_in = value;
 		}
+
+		COMPILE::JS
+		override protected function get filterElementType():String
+		{
+			return "feBlend";
+		}
 	}
 }
 
diff --git a/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/BlurFilterElement.as b/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/BlurFilterElement.as
index 14ba372..fdfe358 100644
--- a/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/BlurFilterElement.as
+++ b/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/BlurFilterElement.as
@@ -45,13 +45,11 @@ package org.apache.royale.svg
 		/**
 		 * @royaleignorecoercion Element
 		 */
-		override protected function onInitComplete(e:Event):void
+		COMPILE::JS 
+		override protected function build():void
 		{
-			super.onInitComplete(e);
-			COMPILE::JS 
-			{
-				filterElement.setAttribute("stdDeviation", stdDeviation);
-			}
+			super.build();
+			filterElement.setAttribute("stdDeviation", stdDeviation);
 		}
 
 		/**
diff --git a/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/ColorMatrixFilterElement.as b/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/ColorMatrixFilterElement.as
index 924edb7..89b460b 100644
--- a/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/ColorMatrixFilterElement.as
+++ b/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/ColorMatrixFilterElement.as
@@ -49,14 +49,12 @@ package org.apache.royale.svg
 		/**
 		 * @royaleignorecoercion Element
 		 */
-		override protected function onInitComplete(e:Event):void
+		COMPILE::JS 
+		override protected function build():void
 		{
-			super.onInitComplete(e);
-			COMPILE::JS 
-			{
-				var matrixValues:String = "0 0 0 0 " + red + " 0 0 0 0 " + green + " 0 0 0 0 " + blue + " 0 0 0 " + opacity + " 0";
-				filterElement.setAttribute("values", matrixValues);
-			}
+			super.build();
+			var matrixValues:String = "0 0 0 0 " + red + " 0 0 0 0 " + green + " 0 0 0 0 " + blue + " 0 0 0 " + opacity + " 0";
+			filterElement.setAttribute("values", matrixValues);
 		}
 
 		/**
diff --git a/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/CompositeFilterElement.as b/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/CompositeFilterElement.as
index 94dd7d1..fa84244 100644
--- a/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/CompositeFilterElement.as
+++ b/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/CompositeFilterElement.as
@@ -46,14 +46,12 @@ package org.apache.royale.svg
 		/**
 		 * @royaleignorecoercion Element
 		 */
-		override protected function onInitComplete(e:Event):void
+		COMPILE::JS 
+		override protected function build():void
 		{
-			super.onInitComplete(e);
-			COMPILE::JS 
-			{
-				filterElement.setAttribute("in2", in2);
-				filterElement.setAttribute("operator", operator);
-			}
+			super.build();
+			filterElement.setAttribute("in2", in2);
+			filterElement.setAttribute("operator", operator);
 		}
 
 		public function get in2():String 
diff --git a/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/Filter.as b/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/Filter.as
index b349e20..e58bc70 100644
--- a/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/Filter.as
+++ b/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/Filter.as
@@ -108,20 +108,12 @@ package org.apache.royale.svg
 			filterElementWrapper.setAttribute("width", _width);
 			filterElementWrapper.setAttribute("height", _height);
 			// clean up existing filter
-			if (filterElementWrapper.hasChildNodes())
+			host.element.style["filter"] = "url(#" + filterElementWrapper.id + ")";
+			for (var i:int = 0; i < children.length; i++)
 			{
-				var childNodes:Object = filterElementWrapper.childNodes;
-				for (var i:int = 0; i < childNodes.length; i++)
-				{
-					filterElementWrapper.removeChild(childNodes[i]);
-				}
+				var filterElement:FilterElement = children[i] as FilterElement;
+				filterElement.buildOn(filterElementWrapper);
 			}
-//			var flood:Element = addSvgElementToWrapper(filterElementWrapper, "feFlood") as Element;
-//			flood.setAttribute("flood-color", floodColor);
-//			flood.setAttribute("flood-alpha", floodAlpha);
-			// create blend
-			// apply filter
-			host.element.style["filter"] = "url(#" + filterElementWrapper.id + ")";
 		}
 		
 		COMPILE::JS
diff --git a/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/FilterElement.as b/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/FilterElement.as
index b286a2e..6afb656 100644
--- a/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/FilterElement.as
+++ b/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/FilterElement.as
@@ -19,8 +19,6 @@
 package org.apache.royale.svg
 {
 	
-	import org.apache.royale.core.IBead;
-	import org.apache.royale.core.IStrand;
 	import org.apache.royale.events.IEventDispatcher;
 	import org.apache.royale.events.Event;
 	COMPILE::JS 
@@ -36,59 +34,36 @@ package org.apache.royale.svg
 	 *  @playerversion AIR 2.6
 	 *  @productversion Royale 0.9.3
 	 */
-	public class FilterElement implements IBead
+	public class FilterElement
 	{
-		private var _strand:IStrand;
-		private var _result:String;
+		COMPILE::JS 
+		{
+			private var _filterElementWrapper:Element;
+		}
 		COMPILE::JS
 		{
 			private var _filterElement:Element;
 		}
+		private var _result:String;
 
 		public function FilterElement()
 		{
 		}
 		
 		/**
-		 *  @copy org.apache.royale.core.IBead#strand
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion Royale 0.9.3
-		 */		
-		public function set strand(value:IStrand):void
-		{
-			_strand = value;
-			(_strand as IEventDispatcher).addEventListener('beadsAdded', onInitComplete);
-		}
-		
-		/**
 		 * @royaleignorecoercion Element
 		 */
-		protected function onInitComplete(e:Event):void
+		COMPILE::JS 
+		protected function build():void
 		{
-			COMPILE::JS 
+			_filterElement = addSvgElementToElement(filterElementWrapper, filterElementType) as Element;
+			if (result)
 			{
-				var filter:Element = getFilterElementWrapper();
-				_filterElement = addSvgElementToElement(filter, filterElementType) as Element;
-				if (result)
-				{
-					filterElement.setAttribute("result", result);
-				}
+				filterElement.setAttribute("result", result);
 			}
 		}
 		
 		/**
-		 * @royaleignorecoercion Element
-		 */
-		COMPILE::JS
-		protected function getFilterElementWrapper():Element
-		{
-			return (_strand.getBeadByType(Filter) as Filter).filterElementWrapper;
-		}
-
-		/**
 		 *  Reference to the filter element result. This can later be used as input for a subsequent filter element.
 		 *  
 		 *  @langversion 3.0
@@ -121,6 +96,24 @@ package org.apache.royale.svg
 		{
 			return _filterElement;
 		}
+
+		/**
+		 * @royaleignorecoercion Element
+		 */
+		COMPIE::JS
+		public function get filterElementWrapper():Element 
+		{
+			return _filterElementWrapper;
+		}
+		
+		/**
+		 * @royaleignorecoercion Element
+		 */
+		COMPIE::JS
+		public function set filterElementWrapper(value:Element):void 
+		{
+			_filterElementWrapper = value;
+		}
 	}
 }
 
diff --git a/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/InvertFilterElement.as b/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/InvertFilterElement.as
index ae37052..3ba808a 100644
--- a/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/InvertFilterElement.as
+++ b/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/InvertFilterElement.as
@@ -45,16 +45,14 @@ package org.apache.royale.svg
 		/*
 		* @royaleignorecoercion Element
 		*/
-		override protected function onInitComplete(e:Event):void
+		COMPILE::JS 
+		override protected function build():void
 		{
-			super.onInitComplete(e);
-			COMPILE::JS 
-			{
-				filterElement.setAttribute("in", "SourceAlpha");
-				var funcA:Element = addSvgElementToElement(filterElement, "feFuncA") as Element;
-				funcA.setAttribute("type", "table");
-				funcA.setAttribute("tableValues", "1 0");
-			}
+			super.build();
+			filterElement.setAttribute("in", "SourceAlpha");
+			var funcA:Element = addSvgElementToElement(filterElement, "feFuncA") as Element;
+			funcA.setAttribute("type", "table");
+			funcA.setAttribute("tableValues", "1 0");
 		}
 			
 		COMPILE::JS
diff --git a/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/MergeFilterElement.as b/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/MergeFilterElement.as
deleted file mode 100644
index 1be51fa..0000000
--- a/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/MergeFilterElement.as
+++ /dev/null
@@ -1,84 +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.svg
-{
-	
-	import org.apache.royale.events.Event;
-	COMPILE::JS 
-	{
-		import org.apache.royale.graphics.utils.addSvgElementToElement;
-	}
-
-	/**
-	 *  The BlendFilterElement filterElements several filter elements
-	 *  
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion Royale 0.9.3
-	 */
-	public class BlendFilterElement extends FilterElement
-	{
-		private var _in2:String;
-
-		public function BlendFilterElement()
-		{
-		}
-		
-		
-		/**
-		 * @royaleignorecoercion Element
-		 */
-		override protected function onInitComplete(e:Event):void
-		{
-			super.onInitComplete(e);
-			COMPILE::JS 
-			{
-				filterElement.setAttribute("in", "SourceGraphic");
-				filterElement.setAttribute("in2", in2);
-				filterElement.setAttribute("mode", "normal");
-			}
-		}
-
-		/**
-		 *  The filter element result which is filterElemented with the source graphic.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion Royale 0.9.3
-		 */
-		public function get in2():String
-		{
-			return _in2;
-		}
-
-		public function set in2(value:String):void
-		{
-			_in2 = value;
-		}
-
-		COMPILE::JS
-		override protected function get filterElementType():String
-		{
-			return "feBlend";
-		}
-	}
-}
-
diff --git a/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/OffsetFilterElement.as b/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/OffsetFilterElement.as
index 56ed0bc..1ace625 100644
--- a/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/OffsetFilterElement.as
+++ b/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/OffsetFilterElement.as
@@ -46,14 +46,12 @@ package org.apache.royale.svg
 		/**
 		 * @royaleignorecoercion Element
 		 */
-		override protected function onInitComplete(e:Event):void
+		COMPILE::JS 
+		override protected function build():void
 		{
-			super.onInitComplete(e);
-			COMPILE::JS 
-			{
-				filterElement.setAttribute("dx", dx);
-				filterElement.setAttribute("dy", dy);
-			}
+			super.build();
+			filterElement.setAttribute("dx", dx);
+			filterElement.setAttribute("dy", dy);
 		}
 
 		/**
diff --git a/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/SpreadFilterElement.as b/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/SpreadFilterElement.as
index edc414b..44786ec 100644
--- a/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/SpreadFilterElement.as
+++ b/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/SpreadFilterElement.as
@@ -45,15 +45,13 @@ package org.apache.royale.svg
 		/**
 		 * @royaleignorecoercion Element
 		 */
-		override protected function onInitComplete(e:Event):void
+		COMPILE::JS 
+		override protected function build():void
 		{
-			super.onInitComplete(e);
-			COMPILE::JS 
-			{
-				var funcA:Element = addSvgElementToElement(filterElement, "feFuncA") as Element;
-				funcA.setAttribute("type", "linear");
-				funcA.setAttribute("slope", spread);
-			}
+			super.build();
+			var funcA:Element = addSvgElementToElement(filterElement, "feFuncA") as Element;
+			funcA.setAttribute("type", "linear");
+			funcA.setAttribute("slope", spread);
 		}
 
 		/**


[royale-asjs] 12/14: Add toggle menu method to mdl menu

Posted by ha...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

harbs pushed a commit to branch feature/Merge_MXRoyale_To_Develop
in repository https://gitbox.apache.org/repos/asf/royale-asjs.git

commit 93b85a1faaf63d416cb1ba72c1080df60ed758f0
Author: DESKTOP-RH4S838\Yishay <yi...@hotmail.com>
AuthorDate: Tue Aug 7 13:59:50 2018 +0300

    Add toggle menu method to mdl menu
---
 .../src/main/royale/org/apache/royale/mdl/Menu.as                 | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/frameworks/projects/MaterialDesignLite/src/main/royale/org/apache/royale/mdl/Menu.as b/frameworks/projects/MaterialDesignLite/src/main/royale/org/apache/royale/mdl/Menu.as
index 4c9bbd1..02f929b 100644
--- a/frameworks/projects/MaterialDesignLite/src/main/royale/org/apache/royale/mdl/Menu.as
+++ b/frameworks/projects/MaterialDesignLite/src/main/royale/org/apache/royale/mdl/Menu.as
@@ -229,5 +229,13 @@ package org.apache.royale.mdl
         {
             return _classList.compute() + super.computeFinalClassNames();
         }
+		
+		public function toggle():void
+		{
+			COMPILE::JS
+			{
+				element["MaterialMenu"]["toggle"]();
+			}
+		}
     }
 }


[royale-asjs] 07/14: Enable CompoundGraphic for transformations (and blending some browsers).

Posted by ha...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

harbs pushed a commit to branch feature/Merge_MXRoyale_To_Develop
in repository https://gitbox.apache.org/repos/asf/royale-asjs.git

commit dfe2d8ff578edc983d21ce75fe8f32b937a91e4e
Author: DESKTOP-RH4S838\Yishay <yi...@hotmail.com>
AuthorDate: Tue Jul 17 11:02:09 2018 +0300

    Enable CompoundGraphic for transformations (and blending some browsers).
---
 .../projects/Basic/src/main/royale/BasicClasses.as |  1 +
 .../org/apache/royale/svg/CompoundGraphic.as       | 19 +++--
 .../royale/svg/TransformableCompoundGraphic.as     | 93 ++++++++++++++++++++++
 3 files changed, 108 insertions(+), 5 deletions(-)

diff --git a/frameworks/projects/Basic/src/main/royale/BasicClasses.as b/frameworks/projects/Basic/src/main/royale/BasicClasses.as
index 3c045b0..eb95c52 100644
--- a/frameworks/projects/Basic/src/main/royale/BasicClasses.as
+++ b/frameworks/projects/Basic/src/main/royale/BasicClasses.as
@@ -254,6 +254,7 @@ internal class BasicClasses
 	import org.apache.royale.svg.Path; Path;
 	import org.apache.royale.svg.Text; Text;
 	import org.apache.royale.svg.CompoundGraphic; CompoundGraphic;
+	import org.apache.royale.svg.TransformableCompoundGraphic; TransformableCompoundGraphic;
 
     import org.apache.royale.html.beads.models.DataProviderModel; DataProviderModel;
 
diff --git a/frameworks/projects/Basic/src/main/royale/org/apache/royale/svg/CompoundGraphic.as b/frameworks/projects/Basic/src/main/royale/org/apache/royale/svg/CompoundGraphic.as
index b980695..7f80d4d 100644
--- a/frameworks/projects/Basic/src/main/royale/org/apache/royale/svg/CompoundGraphic.as
+++ b/frameworks/projects/Basic/src/main/royale/org/apache/royale/svg/CompoundGraphic.as
@@ -200,7 +200,7 @@ package org.apache.royale.svg
                     rect.setAttribute('rx', radiusX);
                     rect.setAttribute('ry', radiusY);
                 }
-                element.appendChild(rect);
+                addElementToSurface(rect);
             }
 
         }
@@ -239,7 +239,7 @@ package org.apache.royale.svg
                 ellipse.setAttribute('cy', y + height / 2);
                 ellipse.setAttribute('rx', width / 2);
                 ellipse.setAttribute('ry', height / 2);
-                element.appendChild(ellipse);
+                addElementToSurface(ellipse);
             }
         }
 
@@ -276,7 +276,7 @@ package org.apache.royale.svg
                 circle.setAttribute('cy', y);
                 circle.setAttribute('rx', radius);
                 circle.setAttribute('ry', radius);
-                element.appendChild(circle);
+                addElementToSurface(circle);
 
             }
         }
@@ -332,7 +332,7 @@ package org.apache.royale.svg
                 path.style.top = "0px";
                 path.setAttribute('style', style);
                 path.setAttribute('d', data);
-                element.appendChild(path);
+                addElementToSurface(path);
             }
         }
 
@@ -550,7 +550,7 @@ package org.apache.royale.svg
                 text.setAttribute('y', y + 15);
                 var textNode:Text = document.createTextNode(value) as Text;
                 text.appendChild(textNode as Node);
-                element.appendChild(text);
+                addElementToSurface(text);
                 return text;
             }
         }
@@ -585,5 +585,14 @@ package org.apache.royale.svg
 
         }
 
+		/*
+               *  @royaleignorecoercion org.apache.royale.core.WrappedHTMLElement
+		*/
+		COMPILE::JS
+		protected function addElementToSurface(e:WrappedHTMLElement):void
+		{
+			element.appendChild(e);
+		}
+
     }
 }
diff --git a/frameworks/projects/Basic/src/main/royale/org/apache/royale/svg/TransformableCompoundGraphic.as b/frameworks/projects/Basic/src/main/royale/org/apache/royale/svg/TransformableCompoundGraphic.as
new file mode 100644
index 0000000..e23827f
--- /dev/null
+++ b/frameworks/projects/Basic/src/main/royale/org/apache/royale/svg/TransformableCompoundGraphic.as
@@ -0,0 +1,93 @@
+/*
+ *
+ *  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.svg
+{
+
+    /**
+     * TransformableCompoundGraphic adds a <g> element in which drawn elements are nested. 
+	 * This is useful for applying transforms and other low level operations not available on SVG elements.
+	 *  @langversion 3.0
+	 *  @playerversion Flash 10.2
+	 *  @playerversion AIR 2.6
+	 *  @productversion Royale 0.9.3
+     */
+	COMPILE::JS 
+	{
+		import org.apache.royale.core.WrappedHTMLElement;
+	}
+    public class TransformableCompoundGraphic extends CompoundGraphic
+    {
+		COMPILE::JS
+		private var _groupElement:WrappedHTMLElement;
+
+		/*
+         *  @royaleignorecoercion org.apache.royale.core.WrappedHTMLElement
+		*/
+		COMPILE::JS
+		override protected function addElementToSurface(e:WrappedHTMLElement):void
+		{
+			_groupElement.appendChild(e);
+		}
+		
+        /**
+         *  Clears all of the drawn path data.
+         *
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion Royale 0.9.3
+         */
+        override public function clear():void
+        {
+            COMPILE::SWF
+            {
+				super.clear();
+            }
+            COMPILE::JS
+            {
+                while (transformElement.lastChild) {
+                    transformElement.removeChild(transformElement.lastChild);
+                }
+            }
+        }
+		
+		/**
+		 * @royaleignorecoercion org.apache.royale.core.WrappedHTMLElement
+		 */
+		COMPILE::JS
+		override protected function createElement():WrappedHTMLElement
+		{
+			super.createElement();
+			_groupElement = document.createElementNS('http://www.w3.org/2000/svg', 'g') as WrappedHTMLElement;
+			element.appendChild(_groupElement);
+			return element;
+		}
+
+		/**
+		 * @royaleignorecoercion org.apache.royale.core.WrappedHTMLElement
+		 */
+		COMPILE::JS
+		override public function get transformElement():WrappedHTMLElement
+		{
+			return _groupElement;
+		}
+
+
+    }
+}


[royale-asjs] 01/14: Make color values consistent with opacity, a decimal between 0 and 1.

Posted by ha...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

harbs pushed a commit to branch feature/Merge_MXRoyale_To_Develop
in repository https://gitbox.apache.org/repos/asf/royale-asjs.git

commit 1b9ca0d14e9fd2456622e9d0349e120e9817fb34
Author: DESKTOP-RH4S838\Yishay <yi...@hotmail.com>
AuthorDate: Tue Jul 10 13:45:32 2018 +0300

    Make color values consistent with opacity, a decimal between 0 and 1.
---
 .../royale/org/apache/royale/svg/ColorMatrixFilterElement.as   | 10 +++++-----
 .../src/main/royale/org/apache/royale/svg/DropShadowFilter.as  |  8 ++++----
 2 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/ColorMatrixFilterElement.as b/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/ColorMatrixFilterElement.as
index 5e38562..924edb7 100644
--- a/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/ColorMatrixFilterElement.as
+++ b/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/ColorMatrixFilterElement.as
@@ -54,13 +54,13 @@ package org.apache.royale.svg
 			super.onInitComplete(e);
 			COMPILE::JS 
 			{
-				var matrixValues:String = "0 0 0 0 " + red / 255 + " 0 0 0 0 " + green  / 255 + " 0 0 0 0 " + blue / 255 + " 0 0 0 " + opacity + " 0";
+				var matrixValues:String = "0 0 0 0 " + red + " 0 0 0 0 " + green + " 0 0 0 0 " + blue + " 0 0 0 " + opacity + " 0";
 				filterElement.setAttribute("values", matrixValues);
 			}
 		}
 
 		/**
-		 *  The red value
+		 *  The red value. This should be a number between 0 and 1.
 		 *
 		 *  @langversion 3.0
 		 *  @playerversion Flash 10.2
@@ -78,7 +78,7 @@ package org.apache.royale.svg
 		}
 
 		/**
-		 *  The blue value
+		 *  The blue value. This should be a number between 0 and 1.
 		 *
 		 *  @langversion 3.0
 		 *  @playerversion Flash 10.2
@@ -96,7 +96,7 @@ package org.apache.royale.svg
 		}
 
 		/**
-		 *  The green value
+		 *  The green value. This should be a number between 0 and 1.
 		 *
 		 *  @langversion 3.0
 		 *  @playerversion Flash 10.2
@@ -114,7 +114,7 @@ package org.apache.royale.svg
 		}
 
 		/**
-		 *  The opacity value
+		 *  The opacity value. This should be a number between 0 and 1.
 		 *
 		 *  @langversion 3.0
 		 *  @playerversion Flash 10.2
diff --git a/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/DropShadowFilter.as b/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/DropShadowFilter.as
index aa3f06a..f974de4 100644
--- a/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/DropShadowFilter.as
+++ b/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/DropShadowFilter.as
@@ -192,7 +192,7 @@ package org.apache.royale.svg
 		}
 
 		/**
-		 *  The red component of the drop shadow
+		 *  The red component of the drop shadow. This should be a number between 0 and 1.
 		 *
 		 *  @langversion 3.0
 		 *  @playerversion Flash 10.2
@@ -210,7 +210,7 @@ package org.apache.royale.svg
 		}
 
 		/**
-		 *  The green component of the drop shadow
+		 *  The green component of the drop shadow. This should be a number between 0 and 1.
 		 *
 		 *  @langversion 3.0
 		 *  @playerversion Flash 10.2
@@ -228,7 +228,7 @@ package org.apache.royale.svg
 		}
 
 		/**
-		 *  The blue component of the drop shadow
+		 *  The blue component of the drop shadow. This should be a number between 0 and 1.
 		 *
 		 *  @langversion 3.0
 		 *  @playerversion Flash 10.2
@@ -246,7 +246,7 @@ package org.apache.royale.svg
 		}
 
 		/**
-		 *  The opacity component of the drop shadow
+		 *  The opacity component of the drop shadow. This should be a number between 0 and 1.
 		 *
 		 *  @langversion 3.0
 		 *  @playerversion Flash 10.2


[royale-asjs] 02/14: Filters are not necessarily drop shadows

Posted by ha...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

harbs pushed a commit to branch feature/Merge_MXRoyale_To_Develop
in repository https://gitbox.apache.org/repos/asf/royale-asjs.git

commit aee1fa6c163751c5430928f41a5a33ade1bd3dad
Author: DESKTOP-RH4S838\Yishay <yi...@hotmail.com>
AuthorDate: Wed Jul 11 14:36:50 2018 +0300

    Filters are not necessarily drop shadows
---
 .../Graphics/src/main/royale/org/apache/royale/svg/DropShadowFilter.as  | 2 +-
 .../projects/Graphics/src/main/royale/org/apache/royale/svg/Filter.as   | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/DropShadowFilter.as b/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/DropShadowFilter.as
index f974de4..c10bd49 100644
--- a/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/DropShadowFilter.as
+++ b/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/DropShadowFilter.as
@@ -124,7 +124,7 @@ package org.apache.royale.svg
 			{
 				COMPILE::JS
 				{
-				var f:Function = c as Function;
+					var f:Function = c as Function;
 					result = new f() as IBead;
 				}
 				COMPILE::SWF
diff --git a/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/Filter.as b/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/Filter.as
index cf9f6d5..b349e20 100644
--- a/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/Filter.as
+++ b/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/Filter.as
@@ -104,7 +104,7 @@ package org.apache.royale.svg
 			var svgElement:Node = host.element as Element;
 			var defs:Element = getChildNode(svgElement, "defs") as Element;
 			_filterElementWrapper = getChildNode(defs, "filter") as Element;
-			filterElementWrapper.id = "myDropShadow" + UIDUtil.createUID();
+			filterElementWrapper.id = "myFilter" + UIDUtil.createUID();
 			filterElementWrapper.setAttribute("width", _width);
 			filterElementWrapper.setAttribute("height", _height);
 			// clean up existing filter