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 2019/09/24 05:59:29 UTC

[royale-asjs] branch develop updated: Fixed #480

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


The following commit(s) were added to refs/heads/develop by this push:
     new 8cc19cd  Fixed #480
8cc19cd is described below

commit 8cc19cd55a6f1345fb60ca65cf3a2cdb4bf8d95f
Author: Harbs <ha...@in-tools.com>
AuthorDate: Tue Sep 24 08:59:19 2019 +0300

    Fixed #480
---
 .../royale/org/apache/royale/svg/GraphicShape.as   | 215 +++++++++++----------
 1 file changed, 112 insertions(+), 103 deletions(-)

diff --git a/frameworks/projects/Basic/src/main/royale/org/apache/royale/svg/GraphicShape.as b/frameworks/projects/Basic/src/main/royale/org/apache/royale/svg/GraphicShape.as
index 35022f8..7c9590f 100644
--- a/frameworks/projects/Basic/src/main/royale/org/apache/royale/svg/GraphicShape.as
+++ b/frameworks/projects/Basic/src/main/royale/org/apache/royale/svg/GraphicShape.as
@@ -1,13 +1,13 @@
 /*
  *
- *  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
+ *	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
+ *		 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,
@@ -19,20 +19,20 @@
 package org.apache.royale.svg
 {
 	COMPILE::SWF
-    {
+	{
 		import flash.display.Graphics;
 		import flash.display.Sprite;
 		import flash.geom.Point;
 		import flash.geom.Rectangle;
 		import org.apache.royale.core.WrappedSprite;
-    }
-    COMPILE::JS
-    {
-        import org.apache.royale.core.WrappedHTMLElement;
-        import org.apache.royale.html.util.addSvgElementToWrapper;
-    }
+	}
+	COMPILE::JS
+	{
+	import org.apache.royale.core.WrappedHTMLElement;
+		import org.apache.royale.html.util.addSvgElementToWrapper;
+	}
 
-    import org.apache.royale.core.IRoyaleElement;
+	import org.apache.royale.core.IRoyaleElement;
 	import org.apache.royale.core.UIBase;
 	import org.apache.royale.graphics.IFill;
 	import org.apache.royale.graphics.IStroke;
@@ -50,16 +50,17 @@ package org.apache.royale.svg
 		}
 
 		/**
-		 *  A solid color fill.
+		 *	A solid color fill.
 		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 9
-		 *  @playerversion AIR 1.1
-		 *  @productversion Royale 0.0
+		 *	@langversion 3.0
+		 *	@playerversion Flash 9
+		 *	@playerversion AIR 1.1
+		 *	@productversion Royale 0.0
 		 */
 		public function set stroke(value:IStroke):void
 		{
 			_stroke = value;
+			updateView();
 		}
 
 		public function get fill():IFill
@@ -67,27 +68,35 @@ package org.apache.royale.svg
 			return _fill;
 		}
 		/**
-		 *  A solid color fill.
+		 *	A solid color fill.
 		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 9
-		 *  @playerversion AIR 1.1
-		 *  @productversion Royale 0.0
+		 *	@langversion 3.0
+		 *	@playerversion Flash 9
+		 *	@playerversion AIR 1.1
+		 *	@productversion Royale 0.0
 		 */
 		public function set fill(value:IFill):void
 		{
 			_fill = value;
+			updateView();
+		}
+		/**
+		 * Setting visuals after the element is added to the parent should have an effect (i.e. in MXML binding)
+		 */
+		protected function updateView():void
+		{
+			if(parent)
+				drawImpl();
 		}
-
 		/**
 		 * Constructor
 		 *
 		 * @royaleignorecoercion org.apache.royale.core.WrappedHTMLElement
 		 */
-        public function GraphicShape()
-        {
+		public function GraphicShape()
+		{
 			super();
-        }
+		}
 
 		/**
 		 * @royaleignorecoercion org.apache.royale.core.WrappedHTMLElement
@@ -113,7 +122,7 @@ package org.apache.royale.svg
 		// }
 
 
-        COMPILE::SWF
+		COMPILE::SWF
 		protected function applyStroke():void
 		{
 			if(stroke)
@@ -122,7 +131,7 @@ package org.apache.royale.svg
 			}
 		}
 
-        COMPILE::SWF
+		COMPILE::SWF
 		protected function beginFill(targetBounds:Rectangle,targetOrigin:Point):void
 		{
 			if(fill)
@@ -131,7 +140,7 @@ package org.apache.royale.svg
 			}
 		}
 
-        COMPILE::SWF
+		COMPILE::SWF
 		protected function endFill():void
 		{
 			if(fill)
@@ -150,43 +159,43 @@ package org.apache.royale.svg
 
 		override public function addedToParent():void
 		{
-            super.addedToParent();
+			super.addedToParent();
 			drawImpl();
-            COMPILE::JS
-            {
-                element.style.overflow = 'visible';
-            }
+			COMPILE::JS
+			{
+				element.style.overflow = 'visible';
+			}
 		}
 
-        /**
-         * @return {string} The style attribute.
-         */
-        COMPILE::JS
-        public function getStyleStr():String
-        {
-            var fillStr:String;
-            if (fill)
-            {
-                fillStr = fill.addFillAttrib(this);
-            }
-            else
-            {
-                fillStr = 'fill:none';
-            }
+		/**
+		 * @return {string} The style attribute.
+		 */
+		COMPILE::JS
+		public function getStyleStr():String
+		{
+			var fillStr:String;
+			if (fill)
+			{
+					fillStr = fill.addFillAttrib(this);
+			}
+			else
+			{
+					fillStr = 'fill:none';
+			}
 
-            var strokeStr:String;
-            if (stroke)
-            {
-                strokeStr = stroke.addStrokeAttrib(this);
-            }
-            else
-            {
-                strokeStr = 'stroke:none';
-            }
+			var strokeStr:String;
+			if (stroke)
+			{
+					strokeStr = stroke.addStrokeAttrib(this);
+			}
+			else
+			{
+					strokeStr = 'stroke:none';
+			}
 
 
-            return fillStr + ';' + strokeStr;
-        }
+			return fillStr + ';' + strokeStr;
+		}
 
 		COMPILE::JS
 		override protected function setClassName(value:String):void
@@ -195,28 +204,28 @@ package org.apache.royale.svg
 		}
 
 
-        /**
-         * @param x X position.
-         * @param y Y position.
-         * @param bbox The bounding box of the svg element.
-         */
-        COMPILE::JS
-        public function resize(x:Number, y:Number):void
-        {
-            // var useWidth:Number = Math.max(this.width, bbox.width);
-            // var useHeight:Number = Math.max(this.height, bbox.height);
-            var useWidth:Number = explicitWidth;
-            var useHeight:Number = explicitHeight;
+		/**
+		 * @param x X position.
+		 * @param y Y position.
+		 * @param bbox The bounding box of the svg element.
+		 */
+		COMPILE::JS
+		public function resize(x:Number, y:Number):void
+		{
+			// var useWidth:Number = Math.max(this.width, bbox.width);
+			// var useHeight:Number = Math.max(this.height, bbox.height);
+			var useWidth:Number = explicitWidth;
+			var useHeight:Number = explicitHeight;
 
-            element.style.position = 'absolute';
+			element.style.position = 'absolute';
 			//style needed for SVG inside DOM elements
 			// attributes for SVG inside SVG
-            if (!isNaN(x))
+			if (!isNaN(x))
 			{
 				element.style.left = x + "px";
 				element.setAttribute("x", x);
 			} 
-            if (!isNaN(y))
+						if (!isNaN(y))
 			{
 				element.style.top = y + "px";
 				element.setAttribute("y", y);
@@ -231,37 +240,37 @@ package org.apache.royale.svg
 				element.style.height = useHeight + "px";
 				element.setAttribute("height", useHeight);
 			}
-        }
+		}
 
-        COMPILE::JS
-        private var _x:Number;
-        COMPILE::JS
-        private var _y:Number;
-        COMPILE::JS
-        private var _xOffset:Number;
-        COMPILE::JS
-        private var _yOffset:Number;
+		COMPILE::JS
+		private var _x:Number;
+		COMPILE::JS
+		private var _y:Number;
+		COMPILE::JS
+		private var _xOffset:Number;
+		COMPILE::JS
+		private var _yOffset:Number;
 
-        /**
-         * @param x X position.
-         * @param y Y position.
-         * @param xOffset offset from x position.
-         * @param yOffset offset from y position.
-         */
-        COMPILE::JS
-        public function setPosition(x:Number, y:Number, xOffset:Number, yOffset:Number):void
-        {
-            _x = x;
-            _y = y;
-            _xOffset = xOffset;
-            _yOffset = yOffset;
+		/**
+		 * @param x X position.
+		 * @param y Y position.
+		 * @param xOffset offset from x position.
+		 * @param yOffset offset from y position.
+		 */
+		COMPILE::JS
+		public function setPosition(x:Number, y:Number, xOffset:Number, yOffset:Number):void
+		{
+			_x = x;
+			_y = y;
+			_xOffset = xOffset;
+			_yOffset = yOffset;
 			// Needed for SVG inside SVG
 			element.setAttribute("x", xOffset);
 			element.setAttribute("y", yOffset);
 			//Needed for SVG inside DOM elements
-            element.style.left = xOffset + "px";
-            element.style.top = yOffset + "px";
-        }
+			element.style.left = xOffset + "px";
+			element.style.top = yOffset + "px";
+		}
 		COMPILE::JS
 		override public function set x(value:Number):void
 		{


Re: [royale-asjs] branch develop updated: Fixed #480

Posted by Alex Harui <ah...@adobe.com.INVALID>.
Isn't that "just-in-case"?  If the fill does not change at runtime, each instance still called the updateView() function?

-Alex

On 9/23/19, 10:59 PM, "harbs@apache.org" <ha...@apache.org> wrote:

    This is an automated email from the ASF dual-hosted git repository.
    
    harbs pushed a commit to branch develop
    in repository https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgitbox.apache.org%2Frepos%2Fasf%2Froyale-asjs.git&amp;data=02%7C01%7Caharui%40adobe.com%7C73268a23c1b24e8ba02608d740b45db4%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C1%7C637049015762045896&amp;sdata=xwfUPtLkxckotV3Z9qxLRsbIajGXsHbwMvUuLrfqTgo%3D&amp;reserved=0
    
    
    The following commit(s) were added to refs/heads/develop by this push:
         new 8cc19cd  Fixed #480
    8cc19cd is described below
    
    commit 8cc19cd55a6f1345fb60ca65cf3a2cdb4bf8d95f
    Author: Harbs <ha...@in-tools.com>
    AuthorDate: Tue Sep 24 08:59:19 2019 +0300
    
        Fixed #480
    ---
     .../royale/org/apache/royale/svg/GraphicShape.as   | 215 +++++++++++----------
     1 file changed, 112 insertions(+), 103 deletions(-)
    
    diff --git a/frameworks/projects/Basic/src/main/royale/org/apache/royale/svg/GraphicShape.as b/frameworks/projects/Basic/src/main/royale/org/apache/royale/svg/GraphicShape.as
    index 35022f8..7c9590f 100644
    --- a/frameworks/projects/Basic/src/main/royale/org/apache/royale/svg/GraphicShape.as
    +++ b/frameworks/projects/Basic/src/main/royale/org/apache/royale/svg/GraphicShape.as
    @@ -1,13 +1,13 @@
     /*
      *
    - *  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
    + *	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
      *
    - *     https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.apache.org%2Flicenses%2FLICENSE-2.0&amp;data=02%7C01%7Caharui%40adobe.com%7C73268a23c1b24e8ba02608d740b45db4%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C1%7C637049015762045896&amp;sdata=dTjoDtE%2Bzu9qICpIB1tXi%2FlOHLanI0CEhITLYVu90A8%3D&amp;reserved=0
    + *		 https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.apache.org%2Flicenses%2FLICENSE-2.0&amp;data=02%7C01%7Caharui%40adobe.com%7C73268a23c1b24e8ba02608d740b45db4%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C1%7C637049015762045896&amp;sdata=dTjoDtE%2Bzu9qICpIB1tXi%2FlOHLanI0CEhITLYVu90A8%3D&amp;reserved=0
      *
      * Unless required by applicable law or agreed to in writing, software
      * distributed under the License is distributed on an "AS IS" BASIS,
    @@ -19,20 +19,20 @@
     package org.apache.royale.svg
     {
     	COMPILE::SWF
    -    {
    +	{
     		import flash.display.Graphics;
     		import flash.display.Sprite;
     		import flash.geom.Point;
     		import flash.geom.Rectangle;
     		import org.apache.royale.core.WrappedSprite;
    -    }
    -    COMPILE::JS
    -    {
    -        import org.apache.royale.core.WrappedHTMLElement;
    -        import org.apache.royale.html.util.addSvgElementToWrapper;
    -    }
    +	}
    +	COMPILE::JS
    +	{
    +	import org.apache.royale.core.WrappedHTMLElement;
    +		import org.apache.royale.html.util.addSvgElementToWrapper;
    +	}
     
    -    import org.apache.royale.core.IRoyaleElement;
    +	import org.apache.royale.core.IRoyaleElement;
     	import org.apache.royale.core.UIBase;
     	import org.apache.royale.graphics.IFill;
     	import org.apache.royale.graphics.IStroke;
    @@ -50,16 +50,17 @@ package org.apache.royale.svg
     		}
     
     		/**
    -		 *  A solid color fill.
    +		 *	A solid color fill.
     		 *
    -		 *  @langversion 3.0
    -		 *  @playerversion Flash 9
    -		 *  @playerversion AIR 1.1
    -		 *  @productversion Royale 0.0
    +		 *	@langversion 3.0
    +		 *	@playerversion Flash 9
    +		 *	@playerversion AIR 1.1
    +		 *	@productversion Royale 0.0
     		 */
     		public function set stroke(value:IStroke):void
     		{
     			_stroke = value;
    +			updateView();
     		}
     
     		public function get fill():IFill
    @@ -67,27 +68,35 @@ package org.apache.royale.svg
     			return _fill;
     		}
     		/**
    -		 *  A solid color fill.
    +		 *	A solid color fill.
     		 *
    -		 *  @langversion 3.0
    -		 *  @playerversion Flash 9
    -		 *  @playerversion AIR 1.1
    -		 *  @productversion Royale 0.0
    +		 *	@langversion 3.0
    +		 *	@playerversion Flash 9
    +		 *	@playerversion AIR 1.1
    +		 *	@productversion Royale 0.0
     		 */
     		public function set fill(value:IFill):void
     		{
     			_fill = value;
    +			updateView();
    +		}
    +		/**
    +		 * Setting visuals after the element is added to the parent should have an effect (i.e. in MXML binding)
    +		 */
    +		protected function updateView():void
    +		{
    +			if(parent)
    +				drawImpl();
     		}
    -
     		/**
     		 * Constructor
     		 *
     		 * @royaleignorecoercion org.apache.royale.core.WrappedHTMLElement
     		 */
    -        public function GraphicShape()
    -        {
    +		public function GraphicShape()
    +		{
     			super();
    -        }
    +		}
     
     		/**
     		 * @royaleignorecoercion org.apache.royale.core.WrappedHTMLElement
    @@ -113,7 +122,7 @@ package org.apache.royale.svg
     		// }
     
     
    -        COMPILE::SWF
    +		COMPILE::SWF
     		protected function applyStroke():void
     		{
     			if(stroke)
    @@ -122,7 +131,7 @@ package org.apache.royale.svg
     			}
     		}
     
    -        COMPILE::SWF
    +		COMPILE::SWF
     		protected function beginFill(targetBounds:Rectangle,targetOrigin:Point):void
     		{
     			if(fill)
    @@ -131,7 +140,7 @@ package org.apache.royale.svg
     			}
     		}
     
    -        COMPILE::SWF
    +		COMPILE::SWF
     		protected function endFill():void
     		{
     			if(fill)
    @@ -150,43 +159,43 @@ package org.apache.royale.svg
     
     		override public function addedToParent():void
     		{
    -            super.addedToParent();
    +			super.addedToParent();
     			drawImpl();
    -            COMPILE::JS
    -            {
    -                element.style.overflow = 'visible';
    -            }
    +			COMPILE::JS
    +			{
    +				element.style.overflow = 'visible';
    +			}
     		}
     
    -        /**
    -         * @return {string} The style attribute.
    -         */
    -        COMPILE::JS
    -        public function getStyleStr():String
    -        {
    -            var fillStr:String;
    -            if (fill)
    -            {
    -                fillStr = fill.addFillAttrib(this);
    -            }
    -            else
    -            {
    -                fillStr = 'fill:none';
    -            }
    +		/**
    +		 * @return {string} The style attribute.
    +		 */
    +		COMPILE::JS
    +		public function getStyleStr():String
    +		{
    +			var fillStr:String;
    +			if (fill)
    +			{
    +					fillStr = fill.addFillAttrib(this);
    +			}
    +			else
    +			{
    +					fillStr = 'fill:none';
    +			}
     
    -            var strokeStr:String;
    -            if (stroke)
    -            {
    -                strokeStr = stroke.addStrokeAttrib(this);
    -            }
    -            else
    -            {
    -                strokeStr = 'stroke:none';
    -            }
    +			var strokeStr:String;
    +			if (stroke)
    +			{
    +					strokeStr = stroke.addStrokeAttrib(this);
    +			}
    +			else
    +			{
    +					strokeStr = 'stroke:none';
    +			}
     
     
    -            return fillStr + ';' + strokeStr;
    -        }
    +			return fillStr + ';' + strokeStr;
    +		}
     
     		COMPILE::JS
     		override protected function setClassName(value:String):void
    @@ -195,28 +204,28 @@ package org.apache.royale.svg
     		}
     
     
    -        /**
    -         * @param x X position.
    -         * @param y Y position.
    -         * @param bbox The bounding box of the svg element.
    -         */
    -        COMPILE::JS
    -        public function resize(x:Number, y:Number):void
    -        {
    -            // var useWidth:Number = Math.max(this.width, bbox.width);
    -            // var useHeight:Number = Math.max(this.height, bbox.height);
    -            var useWidth:Number = explicitWidth;
    -            var useHeight:Number = explicitHeight;
    +		/**
    +		 * @param x X position.
    +		 * @param y Y position.
    +		 * @param bbox The bounding box of the svg element.
    +		 */
    +		COMPILE::JS
    +		public function resize(x:Number, y:Number):void
    +		{
    +			// var useWidth:Number = Math.max(this.width, bbox.width);
    +			// var useHeight:Number = Math.max(this.height, bbox.height);
    +			var useWidth:Number = explicitWidth;
    +			var useHeight:Number = explicitHeight;
     
    -            element.style.position = 'absolute';
    +			element.style.position = 'absolute';
     			//style needed for SVG inside DOM elements
     			// attributes for SVG inside SVG
    -            if (!isNaN(x))
    +			if (!isNaN(x))
     			{
     				element.style.left = x + "px";
     				element.setAttribute("x", x);
     			} 
    -            if (!isNaN(y))
    +						if (!isNaN(y))
     			{
     				element.style.top = y + "px";
     				element.setAttribute("y", y);
    @@ -231,37 +240,37 @@ package org.apache.royale.svg
     				element.style.height = useHeight + "px";
     				element.setAttribute("height", useHeight);
     			}
    -        }
    +		}
     
    -        COMPILE::JS
    -        private var _x:Number;
    -        COMPILE::JS
    -        private var _y:Number;
    -        COMPILE::JS
    -        private var _xOffset:Number;
    -        COMPILE::JS
    -        private var _yOffset:Number;
    +		COMPILE::JS
    +		private var _x:Number;
    +		COMPILE::JS
    +		private var _y:Number;
    +		COMPILE::JS
    +		private var _xOffset:Number;
    +		COMPILE::JS
    +		private var _yOffset:Number;
     
    -        /**
    -         * @param x X position.
    -         * @param y Y position.
    -         * @param xOffset offset from x position.
    -         * @param yOffset offset from y position.
    -         */
    -        COMPILE::JS
    -        public function setPosition(x:Number, y:Number, xOffset:Number, yOffset:Number):void
    -        {
    -            _x = x;
    -            _y = y;
    -            _xOffset = xOffset;
    -            _yOffset = yOffset;
    +		/**
    +		 * @param x X position.
    +		 * @param y Y position.
    +		 * @param xOffset offset from x position.
    +		 * @param yOffset offset from y position.
    +		 */
    +		COMPILE::JS
    +		public function setPosition(x:Number, y:Number, xOffset:Number, yOffset:Number):void
    +		{
    +			_x = x;
    +			_y = y;
    +			_xOffset = xOffset;
    +			_yOffset = yOffset;
     			// Needed for SVG inside SVG
     			element.setAttribute("x", xOffset);
     			element.setAttribute("y", yOffset);
     			//Needed for SVG inside DOM elements
    -            element.style.left = xOffset + "px";
    -            element.style.top = yOffset + "px";
    -        }
    +			element.style.left = xOffset + "px";
    +			element.style.top = yOffset + "px";
    +		}
     		COMPILE::JS
     		override public function set x(value:Number):void
     		{