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 <[email protected]> Authored: Thu Aug 4 10:24:18 2016 +0300 Committer: Harbs <[email protected]> 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);
