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 2017/07/30 20:51:14 UTC

[17/23] git commit: [flex-asjs] [refs/heads/develop] - Made localX and localY settable

Made localX and localY settable


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

Branch: refs/heads/develop
Commit: 8645a4f07a78162abf2c9a5fd6d920aa2ebb020a
Parents: 473f9df
Author: Harbs <ha...@in-tools.com>
Authored: Wed Jul 26 01:13:07 2017 +0300
Committer: Harbs <ha...@in-tools.com>
Committed: Wed Jul 26 01:13:07 2017 +0300

----------------------------------------------------------------------
 .../flex/org/apache/flex/events/MouseEvent.as   | 39 +++++++++++++++++---
 1 file changed, 33 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/8645a4f0/frameworks/projects/Core/src/main/flex/org/apache/flex/events/MouseEvent.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Core/src/main/flex/org/apache/flex/events/MouseEvent.as b/frameworks/projects/Core/src/main/flex/org/apache/flex/events/MouseEvent.as
index b41b10c..cb52298 100644
--- a/frameworks/projects/Core/src/main/flex/org/apache/flex/events/MouseEvent.as
+++ b/frameworks/projects/Core/src/main/flex/org/apache/flex/events/MouseEvent.as
@@ -244,8 +244,8 @@ package org.apache.flex.events
 		{
 			super(type, bubbles, cancelable);
 
-			// this.localX = localX;
-			// this.localY = localY;
+			this.localX = localX;
+			this.localY = localY;
 			this.relatedObject = relatedObject;
 			this.ctrlKey = ctrlKey;
 			this.altKey = altKey;
@@ -357,13 +357,19 @@ package org.apache.flex.events
 		 */
 		public function get clientX():Number
 		{
-			return wrappedEvent.clientX;
+			return wrappedEvent ? wrappedEvent.clientX : _localX;
 		}
 
 		public function get localX():Number
 		{
 			return clientX;
 		}
+		private var _localX:Number;
+
+		public function set localX(value:Number):void
+		{
+			_localX = value;
+		}
 
 		/**
 		 * Y-coordinate relative to the window.
@@ -376,7 +382,7 @@ package org.apache.flex.events
 		 */
 		public function get clientY():Number
 		{
-			return wrappedEvent.clientY;
+			return wrappedEvent ? wrappedEvent.clientY : _localY;
 		}
 
 		public function get localY():Number
@@ -384,6 +390,13 @@ package org.apache.flex.events
 			return clientY;
 		}
 
+		private var _localY:Number;
+
+		public function set localY(value:Number):void
+		{
+			_localY = value;
+		}
+
 		/**
 		 * X-coordinate relative to the monitor.
 		 * @type {number}
@@ -395,7 +408,9 @@ package org.apache.flex.events
 		 */
 		public function get screenX():Number
 		{
-			return wrappedEvent.screenX;
+			if(wrappedEvent) return wrappedEvent.screenX;
+			if (!target) return localX;
+			return stagePoint.x;
 		}
 
 		/**
@@ -409,7 +424,19 @@ package org.apache.flex.events
 		 */
 		public function get screenY():Number
 		{
-			return wrappedEvent.screenY;
+			if(wrappedEvent) return wrappedEvent.screenY;
+			if (!target) return localY;
+			return stagePoint.y;
+		}
+        private var _stagePoint:Point;
+		private function get stagePoint():Point
+		{
+			if (!_stagePoint)
+			{
+				var localPoint:Point = new Point(localX, localY);
+				_stagePoint = PointUtils.localToGlobal(localPoint, target);
+			}
+			return _stagePoint;
 		}
 
 		/**