royale-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From yish...@apache.org
Subject [royale-asjs] branch develop updated: Add DisableClipBead, also make sure manifest is svg-manifest is included in build
Date Sun, 10 Dec 2017 12:32:10 GMT
This is an automated email from the ASF dual-hosted git repository.

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


The following commit(s) were added to refs/heads/develop by this push:
     new 8417457  Add DisableClipBead, also make sure manifest is svg-manifest is included
in build
8417457 is described below

commit 8417457e97a03555f7ee8bbccb9f280b7d1cd44c
Author: DESKTOP-RH4S838\Yishay <yishayjobs@hotmail.com>
AuthorDate: Sun Dec 10 14:31:49 2017 +0200

    Add DisableClipBead, also make sure manifest is svg-manifest is included in build
---
 .../src/main/config/compile-js-config.xml          |   5 +
 .../src/main/config/compile-swf-config.xml         |   1 +
 .../Graphics/src/main/resources/svg-manifest.xml   |   1 +
 .../Graphics/src/main/royale/GraphicsClasses.as    |   1 -
 .../org/apache/royale/svg/DisableClipBead.as       | 126 +++++++++++++++++++++
 5 files changed, 133 insertions(+), 1 deletion(-)

diff --git a/frameworks/js/projects/GraphicsJS/src/main/config/compile-js-config.xml b/frameworks/js/projects/GraphicsJS/src/main/config/compile-js-config.xml
index 52298e6..5fc1c74 100644
--- a/frameworks/js/projects/GraphicsJS/src/main/config/compile-js-config.xml
+++ b/frameworks/js/projects/GraphicsJS/src/main/config/compile-js-config.xml
@@ -65,6 +65,10 @@
         
         <namespaces>
             <namespace>
+                <uri>library://ns.apache.org/royale/svg</uri>
+                <manifest>../../../../../../projects/Graphics/src/main/resources/svg-manifest.xml</manifest>
+		</namespace>
+		<namespace>
                 <uri>library://ns.apache.org/royale/basic</uri>
                 <manifest>../../../../../../projects/Graphics/src/main/resources/basic-manifest.xml</manifest>
             </namespace>
@@ -91,6 +95,7 @@
     
     <include-namespaces>
         <uri>library://ns.apache.org/royale/basic</uri>
+        <uri>library://ns.apache.org/royale/svg</uri>
     </include-namespaces>
         
 
diff --git a/frameworks/projects/Graphics/src/main/config/compile-swf-config.xml b/frameworks/projects/Graphics/src/main/config/compile-swf-config.xml
index c862abf..0b01274 100644
--- a/frameworks/projects/Graphics/src/main/config/compile-swf-config.xml
+++ b/frameworks/projects/Graphics/src/main/config/compile-swf-config.xml
@@ -91,6 +91,7 @@
     
     <include-namespaces>
         <uri>library://ns.apache.org/royale/basic</uri>
+        <uri>library://ns.apache.org/royale/svg</uri>
     </include-namespaces>
         
     <target-player>${playerglobal.version}</target-player>
diff --git a/frameworks/projects/Graphics/src/main/resources/svg-manifest.xml b/frameworks/projects/Graphics/src/main/resources/svg-manifest.xml
index 8154dfe..e3b735a 100644
--- a/frameworks/projects/Graphics/src/main/resources/svg-manifest.xml
+++ b/frameworks/projects/Graphics/src/main/resources/svg-manifest.xml
@@ -22,6 +22,7 @@
 <componentPackage>
 	<component id="TransformBead" class="org.apache.royale.svg.TransformBead" />
 	<component id="ClipBead" class="org.apache.royale.svg.ClipBead" />
+	<component id="DisableClipBead" class="org.apache.royale.svg.DisableClipBead" />
 	<component id="LinearGradient" class="org.apache.royale.svg.LinearGradient" />
 	
 </componentPackage>
diff --git a/frameworks/projects/Graphics/src/main/royale/GraphicsClasses.as b/frameworks/projects/Graphics/src/main/royale/GraphicsClasses.as
index 9212110..b2c23e3 100644
--- a/frameworks/projects/Graphics/src/main/royale/GraphicsClasses.as
+++ b/frameworks/projects/Graphics/src/main/royale/GraphicsClasses.as
@@ -31,7 +31,6 @@ internal class GraphicsClasses
 	import org.apache.royale.graphics.SolidColor; SolidColor;
 	import org.apache.royale.graphics.SolidColorStroke; SolidColorStroke;
 	import org.apache.royale.svg.TransformBead; TransformBead;
-	import org.apache.royale.svg.ClipBead; ClipBead;
 	import org.apache.royale.svg.LinearGradient; LinearGradient;
 	import org.apache.royale.graphics.CubicCurve; CubicCurve;
 	import org.apache.royale.graphics.LineStyle; LineStyle;
diff --git a/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/DisableClipBead.as
b/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/DisableClipBead.as
new file mode 100644
index 0000000..c1dfe98
--- /dev/null
+++ b/frameworks/projects/Graphics/src/main/royale/org/apache/royale/svg/DisableClipBead.as
@@ -0,0 +1,126 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.core.IBead;
+	import org.apache.royale.core.IRenderedObject;
+	import org.apache.royale.core.IStrand;
+
+	COMPILE::SWF {
+		import flash.display.Graphics;
+		import flash.display.Sprite;
+		import flash.display.DisplayObject;
+	}
+
+	/**
+	 *  The DisableClipBead bead allows you to disable
+	 *  a ClipBead.
+	 *  
+	 *  @langversion 3.0
+	 *  @playerversion Flash 10.2
+	 *  @playerversion AIR 2.6
+	 *  @productversion Royale 0.9
+	 */
+	public class DisableClipBead implements IBead
+	{
+		private var _strand:IStrand;
+		private var _disabled:Boolean;
+		COMPILE::JS 
+		{
+			private var cachedClipPath:String;
+		}
+		COMPILE::SWF 
+		{
+			private var cachedMask:Sprite;
+		}
+		
+		public function DisableClipBead()
+		{
+		}
+		
+		public function get disabled():Boolean
+		{
+			return _disabled;
+		}
+		
+		public function set disabled(value:Boolean):void
+		{
+			_disabled = value;
+			if (host)
+			{
+				disable();
+			}
+		}
+		
+		/**
+		 *  @copy org.apache.royale.core.IBead#strand
+		 *  
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion Royale 0.0
+		 */		
+		public function set strand(value:IStrand):void
+		{
+			_strand = value;
+			disable();
+		}
+		
+		COMPILE::SWF
+		private function disable():void
+		{
+			var element:DisplayObject = host.$displayObject as DisplayObject;
+			if (disabled)
+			{
+				cachedMask = element.mask as Sprite;
+				element.mask = null;
+			} else
+			{
+				element.mask = cachedMask;
+				cachedMask = null;
+			}
+		}
+
+		COMPILE::JS
+		private function disable():void
+		{
+			if (host.element.style["clipPath"] === undefined)
+			{
+				return;
+			}
+			if (disabled)
+			{
+				cachedClipPath = host.element.style["clipPath"] as String;
+				host.element.style["clipPath"] = "";
+			} else
+			{
+				host.element.style["clipPath"] = cachedClipPath;
+				cachedClipPath = null;
+			}
+		}
+		
+		public function get host():IRenderedObject
+		{
+			return _strand as IRenderedObject;
+		}
+		
+	}
+}
+

-- 
To stop receiving notification emails like this one, please contact
['"commits@royale.apache.org" <commits@royale.apache.org>'].

Mime
View raw message