You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flex.apache.org by ha...@apache.org on 2016/08/04 07:24:25 UTC

git commit: [flex-asjs] [refs/heads/refactor-sprite] - Reverted to regular Matrix

Repository: flex-asjs
Updated Branches:
  refs/heads/refactor-sprite 7ac452972 -> a95d4e3f3


Reverted to regular Matrix


Project: http://git-wip-us.apache.org/repos/asf/flex-asjs/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-asjs/commit/a95d4e3f
Tree: http://git-wip-us.apache.org/repos/asf/flex-asjs/tree/a95d4e3f
Diff: http://git-wip-us.apache.org/repos/asf/flex-asjs/diff/a95d4e3f

Branch: refs/heads/refactor-sprite
Commit: a95d4e3f33052d736dbbd9fc9f680a5efe2b6ca4
Parents: 7ac4529
Author: Harbs <ha...@in-tools.com>
Authored: Thu Aug 4 10:24:18 2016 +0300
Committer: Harbs <ha...@in-tools.com>
Committed: Thu Aug 4 10:24:18 2016 +0300

----------------------------------------------------------------------
 .../projects/Core/src/main/flex/CoreClasses.as  |   1 -
 .../org/apache/flex/core/ITransformModel.as     |   6 +-
 .../apache/flex/core/TransformCompoundModel.as  |  34 +-----
 .../flex/org/apache/flex/core/TransformModel.as |   8 +-
 .../org/apache/flex/core/TransformMoveXModel.as |   4 +-
 .../org/apache/flex/core/TransformMoveYModel.as |   4 +-
 .../apache/flex/core/TransformRotateModel.as    |   4 +-
 .../org/apache/flex/core/TransformScaleModel.as |   4 +-
 .../main/flex/org/apache/flex/geom/IMatrix.as   |  37 -------
 .../main/flex/org/apache/flex/geom/Matrix.as    |  76 ++-----------
 .../flex/org/apache/flex/geom/MeagerMatrix.as   | 106 -------------------
 .../flex/org/apache/flex/svg/TransformBead.as   |   6 +-
 12 files changed, 30 insertions(+), 260 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/a95d4e3f/frameworks/projects/Core/src/main/flex/CoreClasses.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Core/src/main/flex/CoreClasses.as b/frameworks/projects/Core/src/main/flex/CoreClasses.as
index 6433f36..11061f5 100644
--- a/frameworks/projects/Core/src/main/flex/CoreClasses.as
+++ b/frameworks/projects/Core/src/main/flex/CoreClasses.as
@@ -111,7 +111,6 @@ internal class CoreClasses
 	import org.apache.flex.events.ValueEvent; ValueEvent;
     import org.apache.flex.events.utils.MouseUtils; MouseUtils;
 	import org.apache.flex.geom.Matrix; Matrix;
-	import org.apache.flex.geom.MeagerMatrix; MeagerMatrix;
     import org.apache.flex.geom.Point; Point;
     import org.apache.flex.geom.Rectangle; Rectangle;
     import org.apache.flex.utils.BinaryData; BinaryData;

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/a95d4e3f/frameworks/projects/Core/src/main/flex/org/apache/flex/core/ITransformModel.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Core/src/main/flex/org/apache/flex/core/ITransformModel.as b/frameworks/projects/Core/src/main/flex/org/apache/flex/core/ITransformModel.as
index a88fcb6..56cb961 100644
--- a/frameworks/projects/Core/src/main/flex/org/apache/flex/core/ITransformModel.as
+++ b/frameworks/projects/Core/src/main/flex/org/apache/flex/core/ITransformModel.as
@@ -19,7 +19,7 @@
 package org.apache.flex.core
 {
 	import org.apache.flex.events.IEventDispatcher;
-	import org.apache.flex.geom.IMatrix;
+	import org.apache.flex.geom.Matrix;
 	
     /**
      *  The ITransformModel interface describes the minimum set of properties
@@ -40,8 +40,8 @@ package org.apache.flex.core
          *  @playerversion AIR 2.6
          *  @productversion FlexJS 0.0
          */
-		function get matrix():IMatrix;
-		function set matrix(value:IMatrix):void;
+		function get matrix():Matrix;
+		function set matrix(value:Matrix):void;
 		
 	}
 }

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/a95d4e3f/frameworks/projects/Core/src/main/flex/org/apache/flex/core/TransformCompoundModel.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Core/src/main/flex/org/apache/flex/core/TransformCompoundModel.as b/frameworks/projects/Core/src/main/flex/org/apache/flex/core/TransformCompoundModel.as
index ce2e6d2..a5b5fa5 100644
--- a/frameworks/projects/Core/src/main/flex/org/apache/flex/core/TransformCompoundModel.as
+++ b/frameworks/projects/Core/src/main/flex/org/apache/flex/core/TransformCompoundModel.as
@@ -18,7 +18,7 @@
 ////////////////////////////////////////////////////////////////////////////////
 package org.apache.flex.core
 {
-	import org.apache.flex.geom.IMatrix;
+	import org.apache.flex.geom.Matrix;
 
 	[DefaultProperty("transformModels")]
 	public class TransformCompoundModel extends TransformModel
@@ -28,11 +28,11 @@ package org.apache.flex.core
 			if (value && value.length > 0)
 			{
 				var length:int = value.length;
-				var product:IMatrix = (value[0] as ITransformModel).matrix.clone();
+				var product:Matrix = (value[0] as ITransformModel).matrix.clone();
 				for (var i:int = 1; i < length; i++)
 				{
-					var current:IMatrix = (value[i] as ITransformModel).matrix;
-					concat(product, current);
+					var current:Matrix = (value[i] as ITransformModel).matrix;
+					product.concat(current);
 				}
 				matrix = product;
 			} else
@@ -40,31 +40,5 @@ package org.apache.flex.core
 				matrix = null;
 			}
 		}
-		
-		private function concat(product:IMatrix, factor:IMatrix):void
-		{
-			var result_a:Number = product.a * factor.a;
-			var result_b:Number = 0.0;
-			var result_c:Number = 0.0;
-			var result_d:Number = product.d * factor.d;
-			var result_tx:Number = product.tx * factor.a + factor.tx;
-			var result_ty:Number = product.ty * factor.d + factor.ty;
-			if (product.b != 0.0 || product.c != 0.0 || factor.b != 0.0 || factor.c != 0.0)
-			{
-				result_a = result_a + product.b * factor.c;
-				result_d = result_d + product.c * factor.b;
-				result_b = result_b + (product.a * factor.b + product.b * factor.d);
-				result_c = result_c + (product.c * factor.a + product.d * factor.c);
-				result_tx = result_tx + product.ty * factor.c;
-				result_ty = result_ty + product.tx * factor.b;
-			}
-			product.a = result_a;
-			product.b = result_b;
-			product.c = result_c;
-			product.d = result_d;
-			product.tx = result_tx;
-			product.ty = result_ty;
-		}
-		
 	}
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/a95d4e3f/frameworks/projects/Core/src/main/flex/org/apache/flex/core/TransformModel.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Core/src/main/flex/org/apache/flex/core/TransformModel.as b/frameworks/projects/Core/src/main/flex/org/apache/flex/core/TransformModel.as
index e2c083b..063b682 100644
--- a/frameworks/projects/Core/src/main/flex/org/apache/flex/core/TransformModel.as
+++ b/frameworks/projects/Core/src/main/flex/org/apache/flex/core/TransformModel.as
@@ -20,21 +20,21 @@ package org.apache.flex.core
 {
 	import org.apache.flex.events.Event;
 	import org.apache.flex.events.EventDispatcher;
-	import org.apache.flex.geom.IMatrix;
+	import org.apache.flex.geom.Matrix;
 	
 	public class TransformModel extends EventDispatcher implements ITransformModel
 	{
 		
 		public static const CHANGE:String = "transferModelChange";
 		
-		private var _matrix:IMatrix;
+		private var _matrix:Matrix;
 		private var _strand:IStrand;
 		
 		public function TransformModel()
 		{
 		}
 		
-		public function get matrix():IMatrix
+		public function get matrix():Matrix
 		{
 			return _matrix;
 		}
@@ -49,7 +49,7 @@ package org.apache.flex.core
 			return _strand as ITransformHost;
 		}
 		
-		public function set matrix(value:IMatrix):void
+		public function set matrix(value:Matrix):void
 		{
 			_matrix = value;
 			if (_strand)

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/a95d4e3f/frameworks/projects/Core/src/main/flex/org/apache/flex/core/TransformMoveXModel.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Core/src/main/flex/org/apache/flex/core/TransformMoveXModel.as b/frameworks/projects/Core/src/main/flex/org/apache/flex/core/TransformMoveXModel.as
index 40dd15f..78f2747 100644
--- a/frameworks/projects/Core/src/main/flex/org/apache/flex/core/TransformMoveXModel.as
+++ b/frameworks/projects/Core/src/main/flex/org/apache/flex/core/TransformMoveXModel.as
@@ -18,7 +18,7 @@
 ////////////////////////////////////////////////////////////////////////////////
 package org.apache.flex.core
 {
-	import org.apache.flex.geom.MeagerMatrix;
+	import org.apache.flex.geom.Matrix;
 
 	public class TransformMoveXModel extends TransformModel
 	{
@@ -36,7 +36,7 @@ package org.apache.flex.core
 		public function set x(value:Number):void
 		{
 			_x = value;
-			matrix = new MeagerMatrix(1, 0, 0, 1, x, 0);
+			matrix = new Matrix(1, 0, 0, 1, x, 0);
 		}
 
 	}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/a95d4e3f/frameworks/projects/Core/src/main/flex/org/apache/flex/core/TransformMoveYModel.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Core/src/main/flex/org/apache/flex/core/TransformMoveYModel.as b/frameworks/projects/Core/src/main/flex/org/apache/flex/core/TransformMoveYModel.as
index 51b9ba5..4d9f657 100644
--- a/frameworks/projects/Core/src/main/flex/org/apache/flex/core/TransformMoveYModel.as
+++ b/frameworks/projects/Core/src/main/flex/org/apache/flex/core/TransformMoveYModel.as
@@ -18,7 +18,7 @@
 ////////////////////////////////////////////////////////////////////////////////
 package org.apache.flex.core
 {
-	import org.apache.flex.geom.MeagerMatrix;
+	import org.apache.flex.geom.Matrix;
 
 	public class TransformMoveYModel extends TransformModel
 	{
@@ -36,7 +36,7 @@ package org.apache.flex.core
 		public function set y(value:Number):void
 		{
 			_y = value;
-			matrix = new MeagerMatrix(1, 0, 0, 1, 0, y);
+			matrix = new Matrix(1, 0, 0, 1, 0, y);
 		}
 
 	}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/a95d4e3f/frameworks/projects/Core/src/main/flex/org/apache/flex/core/TransformRotateModel.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Core/src/main/flex/org/apache/flex/core/TransformRotateModel.as b/frameworks/projects/Core/src/main/flex/org/apache/flex/core/TransformRotateModel.as
index 62bc7f6..1b9d1a8 100644
--- a/frameworks/projects/Core/src/main/flex/org/apache/flex/core/TransformRotateModel.as
+++ b/frameworks/projects/Core/src/main/flex/org/apache/flex/core/TransformRotateModel.as
@@ -18,7 +18,7 @@
 ////////////////////////////////////////////////////////////////////////////////
 package org.apache.flex.core
 {
-	import org.apache.flex.geom.MeagerMatrix;
+	import org.apache.flex.geom.Matrix;
 	
 	
 	public class TransformRotateModel extends TransformModel
@@ -38,7 +38,7 @@ package org.apache.flex.core
 		{
 			_angle = value;
 			var radians:Number = value * Math.PI/180;
-			matrix = new MeagerMatrix(Math.cos(radians), Math.sin(radians), -Math.sin(radians), Math.cos(radians));
+			matrix = new Matrix(Math.cos(radians), Math.sin(radians), -Math.sin(radians), Math.cos(radians));
 		}
 
 

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/a95d4e3f/frameworks/projects/Core/src/main/flex/org/apache/flex/core/TransformScaleModel.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Core/src/main/flex/org/apache/flex/core/TransformScaleModel.as b/frameworks/projects/Core/src/main/flex/org/apache/flex/core/TransformScaleModel.as
index ccd24a8..c8c29a8 100644
--- a/frameworks/projects/Core/src/main/flex/org/apache/flex/core/TransformScaleModel.as
+++ b/frameworks/projects/Core/src/main/flex/org/apache/flex/core/TransformScaleModel.as
@@ -18,7 +18,7 @@
 ////////////////////////////////////////////////////////////////////////////////
 package org.apache.flex.core
 {
-	import org.apache.flex.geom.MeagerMatrix;
+	import org.apache.flex.geom.Matrix;
 
 	public class TransformScaleModel extends TransformModel
 	{
@@ -35,7 +35,7 @@ package org.apache.flex.core
 		public function set scale(value:Number):void
 		{
 			_scale = value;
-			matrix = new MeagerMatrix(scale, 0, 0, scale, 0, 0);
+			matrix = new Matrix(scale, 0, 0, scale, 0, 0);
 		}
 
 	}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/a95d4e3f/frameworks/projects/Core/src/main/flex/org/apache/flex/geom/IMatrix.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Core/src/main/flex/org/apache/flex/geom/IMatrix.as b/frameworks/projects/Core/src/main/flex/org/apache/flex/geom/IMatrix.as
deleted file mode 100644
index d4afcb6..0000000
--- a/frameworks/projects/Core/src/main/flex/org/apache/flex/geom/IMatrix.as
+++ /dev/null
@@ -1,37 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  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.flex.geom
-{
-	public interface IMatrix
-	{
-		function get a():Number;
-		function set a(value:Number):void;
-		function get b():Number;
-		function set b(value:Number):void;
-		function get c():Number;
-		function set c(value:Number):void;
-		function get d():Number;
-		function set d(value:Number):void;
-		function get tx():Number;
-		function set tx(value:Number):void;
-		function get ty():Number;
-		function set ty(value:Number):void;
-		function clone():IMatrix
-	}
-}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/a95d4e3f/frameworks/projects/Core/src/main/flex/org/apache/flex/geom/Matrix.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Core/src/main/flex/org/apache/flex/geom/Matrix.as b/frameworks/projects/Core/src/main/flex/org/apache/flex/geom/Matrix.as
index bf634e3..da88259 100644
--- a/frameworks/projects/Core/src/main/flex/org/apache/flex/geom/Matrix.as
+++ b/frameworks/projects/Core/src/main/flex/org/apache/flex/geom/Matrix.as
@@ -19,7 +19,7 @@
 package org.apache.flex.geom
 {
 
-	public class Matrix implements IMatrix
+	public class Matrix
 	{
 		public function Matrix(a:Number = 1, b:Number = 0, c:Number = 0, d:Number = 1, tx:Number = 0, ty:Number = 0)
 		{
@@ -31,74 +31,14 @@ package org.apache.flex.geom
 			this.ty = ty;
 
 		}
-		private var _a:Number;
-		private var _b:Number;
-		private var _c:Number;
-		private var _d:Number;
-		private var _tx:Number;
-		private var _ty:Number;
+		public var a:Number;
+		public var b:Number;
+		public var c:Number;
+		public var d:Number;
+		public var tx:Number;
+		public var ty:Number;
 
-		public function get ty():Number
-		{
-			return _ty;
-		}
-
-		public function set ty(value:Number):void
-		{
-			_ty = value;
-		}
-
-		public function get tx():Number
-		{
-			return _tx;
-		}
-
-		public function set tx(value:Number):void
-		{
-			_tx = value;
-		}
-
-		public function get d():Number
-		{
-			return _d;
-		}
-
-		public function set d(value:Number):void
-		{
-			_d = value;
-		}
-
-		public function get c():Number
-		{
-			return _c;
-		}
-
-		public function set c(value:Number):void
-		{
-			_c = value;
-		}
-
-		public function get b():Number
-		{
-			return _b;
-		}
-
-		public function set b(value:Number):void
-		{
-			_b = value;
-		}
-
-		public function get a():Number
-		{
-			return _a;
-		}
-
-		public function set a(value:Number):void
-		{
-			_a = value;
-		}
-
-		public function clone():IMatrix
+		public function clone():Matrix
 		{
 			return new Matrix(a, b, c, d, tx, ty);
 		}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/a95d4e3f/frameworks/projects/Core/src/main/flex/org/apache/flex/geom/MeagerMatrix.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Core/src/main/flex/org/apache/flex/geom/MeagerMatrix.as b/frameworks/projects/Core/src/main/flex/org/apache/flex/geom/MeagerMatrix.as
deleted file mode 100644
index 6c50c59..0000000
--- a/frameworks/projects/Core/src/main/flex/org/apache/flex/geom/MeagerMatrix.as
+++ /dev/null
@@ -1,106 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  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.flex.geom
-{
-	
-	public class MeagerMatrix implements IMatrix
-	{
-		public function MeagerMatrix(a:Number = 1, b:Number = 0, c:Number = 0, d:Number = 1, tx:Number = 0, ty:Number = 0)
-		{
-			this.a = a;
-			this.b = b;
-			this.c = c;
-			this.d = d;
-			this.tx = tx;
-			this.ty = ty;
-			
-		}
-		private var _a:Number;
-		private var _b:Number;
-		private var _c:Number;
-		private var _d:Number;
-		private var _tx:Number;
-		private var _ty:Number;
-		
-		public function get ty():Number
-		{
-			return _ty;
-		}
-		
-		public function set ty(value:Number):void
-		{
-			_ty = value;
-		}
-		
-		public function get tx():Number
-		{
-			return _tx;
-		}
-		
-		public function set tx(value:Number):void
-		{
-			_tx = value;
-		}
-		
-		public function get d():Number
-		{
-			return _d;
-		}
-		
-		public function set d(value:Number):void
-		{
-			_d = value;
-		}
-		
-		public function get c():Number
-		{
-			return _c;
-		}
-		
-		public function set c(value:Number):void
-		{
-			_c = value;
-		}
-		
-		public function get b():Number
-		{
-			return _b;
-		}
-		
-		public function set b(value:Number):void
-		{
-			_b = value;
-		}
-		
-		public function get a():Number
-		{
-			return _a;
-		}
-		
-		public function set a(value:Number):void
-		{
-			_a = value;
-		}
-		
-		public function clone():IMatrix
-		{
-			return new MeagerMatrix(a, b, c, d, tx, ty);
-		}
-	}
-}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/a95d4e3f/frameworks/projects/Graphics/src/main/flex/org/apache/flex/svg/TransformBead.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Graphics/src/main/flex/org/apache/flex/svg/TransformBead.as b/frameworks/projects/Graphics/src/main/flex/org/apache/flex/svg/TransformBead.as
index e37f4df..19fe765 100644
--- a/frameworks/projects/Graphics/src/main/flex/org/apache/flex/svg/TransformBead.as
+++ b/frameworks/projects/Graphics/src/main/flex/org/apache/flex/svg/TransformBead.as
@@ -24,7 +24,7 @@ package org.apache.flex.svg
 	import org.apache.flex.core.ITransformModel;
 	import org.apache.flex.core.TransformModel;
 	import org.apache.flex.events.Event;
-	import org.apache.flex.geom.IMatrix;
+	import org.apache.flex.geom.Matrix;
 
 	COMPILE::SWF {
 		import flash.display.Sprite;
@@ -67,7 +67,7 @@ package org.apache.flex.svg
 		public function transform():void
 		{
 			var element:Sprite = host.transformElement as Sprite;
-			var fjsm:org.apache.flex.geom.IMatrix = transformModel.matrix;
+			var fjsm:org.apache.flex.geom.Matrix = transformModel.matrix;
 			var flashMatrix:flash.geom.Matrix = new flash.geom.Matrix(fjsm.a, fjsm.b, fjsm.c, fjsm.d, fjsm.tx, fjsm.ty);
 			element.transform.matrix = flashMatrix;
 		}
@@ -79,7 +79,7 @@ package org.apache.flex.svg
 		{
 			var element:org.apache.flex.core.WrappedHTMLElement = host.transformElement;
 			(element.parentNode as HTMLElement).setAttribute("overflow", "visible");
-			var fjsm:org.apache.flex.geom.IMatrix = transformModel.matrix;
+			var fjsm:org.apache.flex.geom.Matrix = transformModel.matrix;
 			var matrixArray:Array = [fjsm.a , fjsm.b, fjsm.c, fjsm.d, fjsm.tx, fjsm.ty];
 			var transformStr:String = "matrix(" + matrixArray.join(",") + ")";
 			element.setAttribute("transform", transformStr);