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/07/09 12:58:34 UTC
[royale-asjs] 11/15: Refactoring filter element,
some common functioalities are now in a base class.
This is an automated email from the ASF dual-hosted git repository.
harbs pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/royale-asjs.git
commit e63956c0bf6a5d0a0ca1fc0864957c99e43aa229
Author: DESKTOP-RH4S838\Yishay <yi...@hotmail.com>
AuthorDate: Sun Jul 8 13:15:20 2018 +0300
Refactoring filter element, some common functioalities are now in a base
class.
---
.../org/apache/royale/svg/BlurFilterElement.as | 48 ++------------
.../apache/royale/svg/ColorMatrixFilterElement.as | 59 ++++-------------
.../apache/royale/svg/CompositeFilterElement.as | 52 +++------------
.../org/apache/royale/svg/DropShadowFilter.as | 6 +-
...{CompositeFilterElement.as => FilterElement.as} | 75 +++++++++++-----------
.../org/apache/royale/svg/InvertFilterElement.as | 42 +++++-------
.../org/apache/royale/svg/MergeFilterElement.as | 40 ++++--------
.../org/apache/royale/svg/OffsetFilterElement.as | 64 +++---------------
.../org/apache/royale/svg/SpreadFilterElement.as | 69 ++------------------
9 files changed, 111 insertions(+), 344 deletions(-)
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 d69f264..14ba372 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
@@ -19,10 +19,6 @@
package org.apache.royale.svg
{
- import org.apache.royale.core.IBead;
- import org.apache.royale.core.IRenderedObject;
- import org.apache.royale.core.IStrand;
- import org.apache.royale.events.IEventDispatcher;
import org.apache.royale.events.Event;
COMPILE::JS
{
@@ -37,41 +33,24 @@ package org.apache.royale.svg
* @playerversion AIR 2.6
* @productversion Royale 0.9.3
*/
- public class BlurFilterElement implements IBead
+ public class BlurFilterElement extends FilterElement
{
- private var _strand:IStrand;
private var _stdDeviation:Number = 3;
- private var _blurResult:String = "blurResult";
public function BlurFilterElement()
{
}
- /**
- * @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
+ override protected function onInitComplete(e:Event):void
{
+ super.onInitComplete(e);
COMPILE::JS
{
- var filter:Element = (_strand.getBeadByType(Filter) as Filter).filterElementWrapper;
- var offset:Element = addSvgElementToElement(filter, "feGaussianBlur") as Element;
- offset.setAttribute("stdDeviation", stdDeviation);
- offset.setAttribute("result", blurResult);
+ filterElement.setAttribute("stdDeviation", stdDeviation);
}
}
@@ -93,25 +72,12 @@ package org.apache.royale.svg
_stdDeviation = value;
}
- /**
- * Where to write the result of this filter.
- * This is useful for using the result as a source for another filter element.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion Royale 0.9.3
- */
- public function get blurResult():String
- {
- return _blurResult;
- }
- public function set blurResult(value:String):void
+ COMPILE::JS
+ override protected function get filterElementType():String
{
- _blurResult = value;
+ return "feGaussianBlur";
}
-
}
}
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 15b22ad..5e38562 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
@@ -19,10 +19,6 @@
package org.apache.royale.svg
{
- import org.apache.royale.core.IBead;
- import org.apache.royale.core.IRenderedObject;
- import org.apache.royale.core.IStrand;
- import org.apache.royale.events.IEventDispatcher;
import org.apache.royale.events.Event;
COMPILE::JS
{
@@ -37,47 +33,29 @@ package org.apache.royale.svg
* @playerversion AIR 2.6
* @productversion Royale 0.9.3
*/
- public class ColorMatrixFilterElement implements IBead
+ public class ColorMatrixFilterElement extends FilterElement
{
- private var _strand:IStrand;
- private var _in1:String = "SourceGraphic";
private var _red:Number = 0;
private var _green:Number = 0;
private var _blue:Number = 0;
private var _opacity:Number = 1;
- private var _colorMatrixResult:String = "colorMatrixResult";
+ private var _filterElementResult:String = "filterElementResult";
public function ColorMatrixFilterElement()
{
}
- /**
- * @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
+ override protected function onInitComplete(e:Event):void
{
+ super.onInitComplete(e);
COMPILE::JS
{
- var filter:Element = (_strand.getBeadByType(Filter) as Filter).filterElementWrapper;
- var colorMatrix:Element = addSvgElementToElement(filter, "feColorMatrix") as Element;
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";
- colorMatrix.setAttribute("values", matrixValues);
- colorMatrix.setAttribute("in1", in1);
- colorMatrix.setAttribute("result", colorMatrixResult);
+ filterElement.setAttribute("values", matrixValues);
}
}
@@ -162,34 +140,21 @@ package org.apache.royale.svg
* @playerversion AIR 2.6
* @productversion Royale 0.9.3
*/
- public function get colorMatrixResult():String
- {
- return _colorMatrixResult;
- }
-
- public function set colorMatrixResult(value:String):void
+ public function get filterElementResult():String
{
- _colorMatrixResult = value;
+ return _filterElementResult;
}
- /**
- * The source for this filter element
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion Royale 0.9.3
- */
- public function get in1():String
+ public function set filterElementResult(value:String):void
{
- return _in1;
+ _filterElementResult = value;
}
- public function set in1(value:String):void
+ COMPILE::JS
+ override protected function get filterElementType():String
{
- _in1 = value;
+ return "feColorMatrix";
}
-
}
}
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 00da207..94dd7d1 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
@@ -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.events.IEventDispatcher;
import org.apache.royale.events.Event;
COMPILE::JS
{
@@ -36,58 +33,29 @@ package org.apache.royale.svg
* @playerversion AIR 2.6
* @productversion Royale 0.9.3
*/
- public class CompositeFilterElement implements IBead
+ public class CompositeFilterElement extends FilterElement
{
- private var _strand:IStrand;
- private var _in:String;
private var _in2:String;
- private var _result:String;
private var _operator:String;
public function CompositeFilterElement()
{
}
- /**
- * @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
+ override protected function onInitComplete(e:Event):void
{
+ super.onInitComplete(e);
COMPILE::JS
{
- var filter:Element = (_strand.getBeadByType(Filter) as Filter).filterElementWrapper;
- var compositeElement:Element = addSvgElementToElement(filter, "feComposite") as Element;
- compositeElement.setAttribute("in", in);
- compositeElement.setAttribute("in2", in2);
- compositeElement.setAttribute("result", result);
- compositeElement.setAttribute("operator", operator);
+ filterElement.setAttribute("in2", in2);
+ filterElement.setAttribute("operator", operator);
}
}
- public function get in():String
- {
- return _in;
- }
-
- public function set in(value:String):void
- {
- _in = value;
- }
-
public function get in2():String
{
return _in2;
@@ -108,14 +76,10 @@ package org.apache.royale.svg
_operator = value;
}
- public function get result():String
- {
- return _result;
- }
-
- public function set result(value:String):void
+ COMPILE::JS
+ override protected function get filterElementType():String
{
- _result = value;
+ 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 2132ff6..e297773 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
@@ -67,17 +67,13 @@ package org.apache.royale.svg
offset.dy = dy;
var blur:BlurFilterElement = loadBeadFromValuesManager(BlurFilterElement, "blurFilterElement", value) as BlurFilterElement;
blur.stdDeviation = stdDeviation;
- blur.blurResult = "blurResult";
var colorMatrix:ColorMatrixFilterElement = loadBeadFromValuesManager(ColorMatrixFilterElement, "colorMatrixFilterElement", value) as ColorMatrixFilterElement;
- colorMatrix.in1 = "blurResult";
colorMatrix.red = red;
colorMatrix.green = green;
colorMatrix.blue = blue;
colorMatrix.opacity = opacity;
- colorMatrix.colorMatrixResult = "colorMatrixResult";
var spreadElement:SpreadFilterElement = loadBeadFromValuesManager(SpreadFilterElement, "spreadFilterElement", value) as SpreadFilterElement;
- spreadElement.in1 = "colorMatrixResult";
- spreadElement.spreadResult = "spreadResult";
+ spreadElement.result = "spreadResult";
spreadElement.spread = spread;
var blend:BlendFilterElement = loadBeadFromValuesManager(BlendFilterElement, "blendFilterElement", value) as BlendFilterElement;
blend.in2 = "spreadResult";
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/FilterElement.as
similarity index 66%
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/FilterElement.as
index 00da207..86137fd 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/FilterElement.as
@@ -29,22 +29,23 @@ package org.apache.royale.svg
}
/**
- * The CompositeFilterElement takes two objects and applies Porter/Duff operators
+ * FilterElement abstracts some methods and vars for elements that can go in an SVG filter
*
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
* @productversion Royale 0.9.3
*/
- public class CompositeFilterElement implements IBead
+ public class FilterElement implements IBead
{
private var _strand:IStrand;
- private var _in:String;
- private var _in2:String;
private var _result:String;
- private var _operator:String;
+ COMPILE::JS
+ {
+ private var _filterElement:Element;
+ }
- public function CompositeFilterElement()
+ public function FilterElement()
{
}
@@ -69,53 +70,53 @@ package org.apache.royale.svg
{
COMPILE::JS
{
- var filter:Element = (_strand.getBeadByType(Filter) as Filter).filterElementWrapper;
- var compositeElement:Element = addSvgElementToElement(filter, "feComposite") as Element;
- compositeElement.setAttribute("in", in);
- compositeElement.setAttribute("in2", in2);
- compositeElement.setAttribute("result", result);
- compositeElement.setAttribute("operator", operator);
+ var filter:Element = getFilterElementWrapper();
+ _filterElement = addSvgElementToElement(filter, filterElementType) as Element;
+ filterElement.setAttribute("result", result);
}
}
-
- public function get in():String
- {
- return _in;
- }
- public function set in(value:String):void
+ /**
+ * @royaleignorecoercion Element
+ */
+ COMPILE::JS
+ protected function getFilterElementWrapper():Element
{
- _in = value;
+ return (_strand.getBeadByType(Filter) as Filter).filterElementWrapper;
}
- public function get in2():String
+ /**
+ * Reference to the filter element result. This can later be used as input for a subsequent filter element.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion Royale 0.9.3
+ */
+ public function get result():String
{
- return _in2;
+ return _result;
}
- public function set in2(value:String):void
- {
- _in2 = value;
- }
-
- public function get operator():String
+ public function set result(value:String):void
{
- return _operator;
+ _result = value;
}
- public function set operator(value:String):void
- {
- _operator = value;
- }
-
- public function get result():String
+ COMPILE::JS
+ protected function get filterElementType():String
{
- return _result;
+ // override this
+ return "";
}
- public function set result(value:String):void
+ /**
+ * @royaleignorecoercion Element
+ */
+ COMPILE::JS
+ protected function get filterElement():Element
{
- _result = value;
+ return _filterElement;
}
}
}
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 a2cd104..ae37052 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
@@ -20,7 +20,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,44 +35,33 @@ package org.apache.royale.svg
* @playerversion AIR 2.6
* @productversion Royale 0.9.3
*/
- public class InvertFilterElement implements IBead
+ public class InvertFilterElement extends FilterElement
{
- private var _strand:IStrand;
-
- public function InvertFilterElement()
- {
- }
- /**
- * @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
+ public function InvertFilterElement()
{
- _strand = value;
- (_strand as IEventDispatcher).addEventListener('beadsAdded', onInitComplete);
}
- /**
- * @royaleignorecoercion Element
- */
- protected function onInitComplete(e:Event):void
+ /*
+ * @royaleignorecoercion Element
+ */
+ override protected function onInitComplete(e:Event):void
{
+ super.onInitComplete(e);
COMPILE::JS
{
- var filter:Element = (_strand.getBeadByType(Filter) as Filter).filterElementWrapper;
- var componentTransfer:Element = addSvgElementToElement(filter, "feComponentTransfer") as Element;
- componentTransfer.setAttribute("in", "SourceAlpha");
- var funcA:Element = addSvgElementToElement(componentTransfer, "feFuncA") as Element;
+ filterElement.setAttribute("in", "SourceAlpha");
+ var funcA:Element = addSvgElementToElement(filterElement, "feFuncA") as Element;
funcA.setAttribute("type", "table");
funcA.setAttribute("tableValues", "1 0");
}
}
-
+
+ COMPILE::JS
+ override protected function get filterElementType():String
+ {
+ return "feComponentTransfer";
+ }
}
}
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
index 655242c..1be51fa 100644
--- 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
@@ -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.events.IEventDispatcher;
import org.apache.royale.events.Event;
COMPILE::JS
{
@@ -29,53 +26,38 @@ package org.apache.royale.svg
}
/**
- * The BlendFilterElement blends several filter elements
+ * 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 implements IBead
+ public class BlendFilterElement extends FilterElement
{
- private var _strand:IStrand;
private var _in2:String;
public function BlendFilterElement()
{
}
- /**
- * @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
+ override protected function onInitComplete(e:Event):void
{
+ super.onInitComplete(e);
COMPILE::JS
{
- var filter:Element = (_strand.getBeadByType(Filter) as Filter).filterElementWrapper;
- var blend:Element = addSvgElementToElement(filter, "feBlend") as Element;
- blend.setAttribute("in", "SourceGraphic");
- blend.setAttribute("in2", in2);
- blend.setAttribute("mode", "normal");
+ filterElement.setAttribute("in", "SourceGraphic");
+ filterElement.setAttribute("in2", in2);
+ filterElement.setAttribute("mode", "normal");
}
}
/**
- * The filter element result which is blended with the source graphic.
+ * The filter element result which is filterElemented with the source graphic.
*
* @langversion 3.0
* @playerversion Flash 10.2
@@ -91,6 +73,12 @@ package org.apache.royale.svg
{
_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 7f4d9b6..56ed0bc 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
@@ -19,10 +19,6 @@
package org.apache.royale.svg
{
- import org.apache.royale.core.IBead;
- import org.apache.royale.core.IRenderedObject;
- import org.apache.royale.core.IStrand;
- import org.apache.royale.events.IEventDispatcher;
import org.apache.royale.events.Event;
COMPILE::JS
{
@@ -30,52 +26,33 @@ package org.apache.royale.svg
}
/**
- * The OffsetFilterElement bead adds an offset to a filtered SVG element
+ * The OffsetFilterElement bead adds an filterElement to a filtered SVG element
*
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
* @productversion Royale 0.9.3
*/
- public class OffsetFilterElement implements IBead
+ public class OffsetFilterElement extends FilterElement
{
- private var _strand:IStrand;
private var _dx:Number = 0;
private var _dy:Number = 0;
- private var _in:String;
- private var _offsetResult:String = "offsetResult";
public function OffsetFilterElement()
{
}
- /**
- * @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
+ override protected function onInitComplete(e:Event):void
{
+ super.onInitComplete(e);
COMPILE::JS
{
- var filter:Element = (_strand.getBeadByType(Filter) as Filter).filterElementWrapper;
- var offset:Element = addSvgElementToElement(filter, "feOffset") as Element;
- offset.setAttribute("dx", dx);
- offset.setAttribute("dy", dy);
-// offset.setAttribute("in", in);
- offset.setAttribute("result", offsetResult);
+ filterElement.setAttribute("dx", dx);
+ filterElement.setAttribute("dy", dy);
}
}
@@ -114,34 +91,11 @@ package org.apache.royale.svg
{
_dy = value;
}
-
- /**
- * Where to write the result of this filter.
- * This is useful for using the result as a source for another filter element.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion Royale 0.9.3
- */
- public function get offsetResult():String
- {
- return _offsetResult;
- }
-
- public function set offsetResult(value:String):void
- {
- _offsetResult = value;
- }
-
- public function get in():String
- {
- return _in;
- }
- public function set in(value:String ):void
+ COMPILE::JS
+ override protected function get filterElementType():String
{
- _in = value;
+ return "feOffset";
}
}
}
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 b3a6559..edc414b 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
@@ -19,10 +19,6 @@
package org.apache.royale.svg
{
- import org.apache.royale.core.IBead;
- import org.apache.royale.core.IRenderedObject;
- import org.apache.royale.core.IStrand;
- import org.apache.royale.events.IEventDispatcher;
import org.apache.royale.events.Event;
COMPILE::JS
{
@@ -37,45 +33,26 @@ package org.apache.royale.svg
* @playerversion AIR 2.6
* @productversion Royale 0.9.3
*/
- public class SpreadFilterElement implements IBead
+ public class SpreadFilterElement extends FilterElement
{
- private var _strand:IStrand;
- private var _in1:String = "SourceGraphic";
private var _spread:Number = 1.0;
- private var _spreadResult:String = "spreadResult";
public function SpreadFilterElement()
{
}
- /**
- * @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
+ override protected function onInitComplete(e:Event):void
{
+ super.onInitComplete(e);
COMPILE::JS
{
- var filter:Element = (_strand.getBeadByType(Filter) as Filter).filterElementWrapper;
- var componentTransfer:Element = addSvgElementToElement(filter, "feComponentTransfer") as Element;
- var funcA:Element = addSvgElementToElement(componentTransfer, "feFuncA") as Element;
+ var funcA:Element = addSvgElementToElement(filterElement, "feFuncA") as Element;
funcA.setAttribute("type", "linear");
funcA.setAttribute("slope", spread);
- componentTransfer.setAttribute("in1", in1);
- componentTransfer.setAttribute("result", spreadResult);
}
}
@@ -97,43 +74,11 @@ package org.apache.royale.svg
_spread = value;
}
- /**
- * Where to write the result of this filter.
- * This is useful for using the result as a source for another filter element.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion Royale 0.9.3
- */
- public function get spreadResult():String
+ COMPILE::JS
+ override protected function get filterElementType():String
{
- return _spreadResult;
+ return "feComponentTransfer";
}
-
- public function set spreadResult(value:String):void
- {
- _spreadResult = value;
- }
-
- /**
- * The source for this filter element
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion Royale 0.9.3
- */
- public function get in1():String
- {
- return _in1;
- }
-
- public function set in1(value:String):void
- {
- _in1 = value;
- }
-
}
}