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

[15/50] [abbrv] git commit: [flex-asjs] [refs/heads/spark] - Added IMatrix and MeagerMatrix to reduce overhead when creating Matrices.

Added IMatrix and MeagerMatrix to reduce overhead when creating Matrices.


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

Branch: refs/heads/spark
Commit: 3882e74916035b05608eee156f59f7d89d310278
Parents: 6b16b71
Author: yishayw <yi...@hotmail.com>
Authored: Sun Jul 31 09:33:24 2016 +0300
Committer: yishayw <yi...@hotmail.com>
Committed: Sun Jul 31 09:33:24 2016 +0300

----------------------------------------------------------------------
 .../main/flex/org/apache/flex/geom/IMatrix.as   |  19 ++++
 .../flex/org/apache/flex/geom/MeagerMatrix.as   | 106 +++++++++++++++++++
 2 files changed, 125 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/3882e749/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
new file mode 100644
index 0000000..352fe52
--- /dev/null
+++ b/frameworks/projects/Core/src/main/flex/org/apache/flex/geom/IMatrix.as
@@ -0,0 +1,19 @@
+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
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/3882e749/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
new file mode 100644
index 0000000..595b64d
--- /dev/null
+++ b/frameworks/projects/Core/src/main/flex/org/apache/flex/geom/MeagerMatrix.as
@@ -0,0 +1,106 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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);
+		}
+	}
+}
\ No newline at end of file