You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@royale.apache.org by yi...@apache.org on 2018/09/05 09:21:33 UTC

[royale-asjs] 02/02: Add some flexibility in order of stacked filters.

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

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

commit 9c1124255da5930a374451898c08acee3df33fab
Author: DESKTOP-RH4S838\Yishay <yi...@hotmail.com>
AuthorDate: Wed Sep 5 12:20:15 2018 +0300

    Add some flexibility in order of stacked filters.
---
 .../src/main/royale/org/apache/royale/svg/DropShadowFilter.as | 11 +++++++++++
 .../src/main/royale/org/apache/royale/svg/IChainableFilter.as | 10 ++++++++++
 .../main/royale/org/apache/royale/svg/SuperimposeFilter.as    |  8 +++++++-
 3 files changed, 28 insertions(+), 1 deletion(-)

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 d841c08..b005157 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
@@ -36,6 +36,7 @@ package org.apache.royale.svg
 	 */
 	public class DropShadowFilter extends Filter implements IChainableFilter
 	{
+		private var _isNice:Boolean;
 		private var _dx:Number;
 		private var _dy:Number;
 		private var _stdDeviation:Number;
@@ -326,6 +327,16 @@ package org.apache.royale.svg
 		{
 			_knockout = value;
 		}
+
+		public function get isNice():Boolean 
+		{
+			return _isNice;
+		}
+		
+		public function set isNice(value:Boolean):void 
+		{
+			_isNice = 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
index 29f2b56..ab3030a 100644
--- 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
@@ -69,6 +69,16 @@ package org.apache.royale.svg
          *  @productversion Royale 0.9.3
          */
 		function set source(value:String):void
+			
+		/**
+		 *  Nice filters are generally less visible (e.g. behind the source graphic).
+         * 
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion Royale 0.9.3
+         */
+		function get isNice():Boolean
 
 	}
 }
\ 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
index 3b92e49..2d23065 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
@@ -43,7 +43,13 @@ package org.apache.royale.svg
 				var chainable:IChainableFilter = children[i] as IChainableFilter;
 				var resultName:String = "chainableResult" + i;
 				chainable.result = resultName;
-				results.push(resultName);
+				if (chainable.isNice)
+				{
+					results.unshift(resultName);
+				} else
+				{
+					results.push(resultName);
+				}
 				chainable.build();
 				addArray(newChildren, chainable.children);
 			}