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 e57844998dfe90794e018f274d4c0bbef8bfdc44 Author: DESKTOP-RH4S838\Yishay <[email protected]> AuthorDate: Tue Jul 3 12:57:08 2018 +0300 Add ColorMatrix to DropShadowFilter --- .../Graphics/src/main/resources/defaults.css | 1 + .../org/apache/royale/svg/DropShadowFilter.as | 85 +++++++++++++++++++++- 2 files changed, 85 insertions(+), 1 deletion(-) diff --git a/frameworks/projects/Graphics/src/main/resources/defaults.css b/frameworks/projects/Graphics/src/main/resources/defaults.css index a0faaca..bca70a2 100644 --- a/frameworks/projects/Graphics/src/main/resources/defaults.css +++ b/frameworks/projects/Graphics/src/main/resources/defaults.css @@ -40,6 +40,7 @@ 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"); } \ No newline at end of file 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 449c2eb..79f9fe9 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 @@ -37,6 +37,10 @@ package org.apache.royale.svg private var _dx:Number; private var _dy:Number; private var _stdDeviation:Number; + private var _red:Number = 0; + private var _green:Number = 0; + private var _blue:Number = 0; + private var _opacity:Number = 1; public function DropShadowFilter() { @@ -63,8 +67,15 @@ package org.apache.royale.svg 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 blend:BlendFilterElement = loadBeadFromValuesManager(BlendFilterElement, "blendFilterElement", value) as BlendFilterElement; - blend.in2 = "blurResult"; + blend.in2 = "colorMatrixResult"; value.removeBead(this); } @@ -142,6 +153,78 @@ package org.apache.royale.svg { _stdDeviation = value; } + + /** + * The red component of the drop shadow + * + * @langversion 3.0 + * @playerversion Flash 10.2 + * @playerversion AIR 2.6 + * @productversion Royale 0.9.3 + */ + public function get red():Number + { + return _red; + } + + public function set red(value:Number):void + { + _red = value; + } + + /** + * The green component of the drop shadow + * + * @langversion 3.0 + * @playerversion Flash 10.2 + * @playerversion AIR 2.6 + * @productversion Royale 0.9.3 + */ + public function get green():Number + { + return _green; + } + + public function set green(value:Number):void + { + _green = value; + } + + /** + * The blue component of the drop shadow + * + * @langversion 3.0 + * @playerversion Flash 10.2 + * @playerversion AIR 2.6 + * @productversion Royale 0.9.3 + */ + public function get blue():Number + { + return _blue; + } + + public function set blue(value:Number):void + { + _blue = value; + } + + /** + * The opacity component of the drop shadow + * + * @langversion 3.0 + * @playerversion Flash 10.2 + * @playerversion AIR 2.6 + * @productversion Royale 0.9.3 + */ + public function get opacity():Number + { + return _opacity; + } + + public function set opacity(value:Number):void + { + _opacity = value; + } } }
