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/23 11:30:45 UTC

flex-asjs git commit: A bit messy and there’s no way to currently set coordinates on MouseEvents in HTML (is that needed?), but this fixes mouse event coordinates from going bonkers.

Repository: flex-asjs
Updated Branches:
  refs/heads/feature/browser-event 76dd35ce4 -> 5224af3ff


A bit messy and there’s no way to currently set coordinates on MouseEvents in HTML (is that needed?), but this fixes mouse event coordinates from going bonkers.


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

Branch: refs/heads/feature/browser-event
Commit: 5224af3ffb85c475ec9d2f5e586efc51175061f5
Parents: 76dd35c
Author: Harbs <ha...@in-tools.com>
Authored: Sun Jul 23 14:30:41 2017 +0300
Committer: Harbs <ha...@in-tools.com>
Committed: Sun Jul 23 14:30:41 2017 +0300

----------------------------------------------------------------------
 .../projects/Core/src/main/flex/CoreClasses.as  |   1 +
 .../flex/org/apache/flex/events/BrowserEvent.as |  11 +-
 .../org/apache/flex/events/KeyboardEvent.as     |   5 +-
 .../flex/org/apache/flex/events/MouseEvent.as   | 105 ++++++++++---------
 .../flex/events/utils/MouseEventConverter.as    |   4 +-
 5 files changed, 59 insertions(+), 67 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/5224af3f/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 fd6c8a2..25a2c13 100644
--- a/frameworks/projects/Core/src/main/flex/CoreClasses.as
+++ b/frameworks/projects/Core/src/main/flex/CoreClasses.as
@@ -179,6 +179,7 @@ internal class CoreClasses
 	import org.apache.flex.utils.JXON; JXON;
 	import org.apache.flex.utils.MD5; MD5;
 	import org.apache.flex.utils.OSUtils; OSUtils;
+	import org.apache.flex.utils.PointUtils; PointUtils;
     import org.apache.flex.utils.StringPadder; StringPadder;
 	import org.apache.flex.utils.StringTrimmer; StringTrimmer;
 	import org.apache.flex.utils.StringUtil; StringUtil;

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/5224af3f/frameworks/projects/Core/src/main/flex/org/apache/flex/events/BrowserEvent.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Core/src/main/flex/org/apache/flex/events/BrowserEvent.as b/frameworks/projects/Core/src/main/flex/org/apache/flex/events/BrowserEvent.as
index b0ec5b8..9bcad2e 100644
--- a/frameworks/projects/Core/src/main/flex/org/apache/flex/events/BrowserEvent.as
+++ b/frameworks/projects/Core/src/main/flex/org/apache/flex/events/BrowserEvent.as
@@ -353,16 +353,7 @@ package org.apache.flex.events
 		 */
 		public function get relatedTarget():Object
 		{
-			var o:Object = wrappedEvent.relatedTarget;
-
-			if (o)
-			{
-				if (o.flexjs_wrapper)
-					return o.flexjs_wrapper;
-				if (o.parentNode && o.parentNode.flexjs_wrapper)
-				    return o.parentNode.flexjs_wrapper;
-			}
-			return o;
+			return getTargetWrapper(wrappedEvent.relatedTarget);
 		}
 
 		/**

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/5224af3f/frameworks/projects/Core/src/main/flex/org/apache/flex/events/KeyboardEvent.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Core/src/main/flex/org/apache/flex/events/KeyboardEvent.as b/frameworks/projects/Core/src/main/flex/org/apache/flex/events/KeyboardEvent.as
index f60110f..cf9109a 100644
--- a/frameworks/projects/Core/src/main/flex/org/apache/flex/events/KeyboardEvent.as
+++ b/frameworks/projects/Core/src/main/flex/org/apache/flex/events/KeyboardEvent.as
@@ -21,6 +21,7 @@ package org.apache.flex.events
     COMPILE::JS
     {
         import goog.events.BrowserEvent;
+		import org.apache.flex.events.Event;
     }
     import org.apache.flex.events.IBrowserEvent;
 
@@ -78,7 +79,7 @@ package org.apache.flex.events
         COMPILE::JS
 		public function get target():Object
 		{
-			return wrappedEvent ? getTargetWrapper(wrappedEvent.target) : super.target;
+			return wrappedEvent ? getTargetWrapper(wrappedEvent.target) : null;
 		}
 
 		/**
@@ -92,7 +93,7 @@ package org.apache.flex.events
         COMPILE::JS
 		public function get currentTarget():Object
 		{
-			return wrappedEvent ? getTargetWrapper(wrappedEvent.currentTarget) : super.currentTarget;
+			return wrappedEvent ? getTargetWrapper(wrappedEvent.currentTarget) : null;
 		}
 
         private var _key:String;

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/5224af3f/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 1296065..37ec839 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
@@ -27,8 +27,9 @@ package org.apache.flex.events
     COMPILE::JS
     {
         import window.MouseEvent;
-		import org.apache.flex.events.utils.EventUtils;
 		import goog.events.BrowserEvent;
+		import org.apache.flex.events.Event;
+		import org.apache.flex.events.utils.EventUtils;
     }
     
     import org.apache.flex.core.IFlexJSElement;
@@ -243,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;
@@ -259,37 +260,13 @@ package org.apache.flex.events
 		/**
 		 * @type {?goog.events.BrowserEvent}
 		 */
-		COMPILE::JS
 		private var wrappedEvent:Object;
 
-        COMPILE::JS
 		public function wrapEvent(event:goog.events.BrowserEvent):void
         {
             wrappedEvent = event;
         }
 
-		private var _localX:Number;
-		public function get localX():Number
-		{
-			return _localX;
-		}
-		public function set localX(value:Number):void
-		{
-			_localX = value;
-			_stagePoint = null;
-		}
-
-		private var _localY:Number;
-		public function get localY():Number
-		{
-			return _localY;
-		}
-		public function set localY(value:Number):void
-		{
-			_localY = value;
-			_stagePoint = null;
-		}
-
 		public var relatedObject:Object;
 		public var ctrlKey:Boolean;
 		public var altKey:Boolean;
@@ -337,7 +314,7 @@ package org.apache.flex.events
 		 */
 		public function get target():Object
 		{
-			return wrappedEvent ? getTargetWrapper(wrappedEvent.target) : super.target;
+			return wrappedEvent ? getTargetWrapper(wrappedEvent.target) : null;
 		}
 
 		/**
@@ -350,7 +327,7 @@ package org.apache.flex.events
 		 */
 		public function get currentTarget():Object
 		{
-			return wrappedEvent ? getTargetWrapper(wrappedEvent.currentTarget) : super.currentTarget;
+			return wrappedEvent ? getTargetWrapper(wrappedEvent.currentTarget) : null;
 		}
 
 		// TODO remove this when figure out how to preserve the real target
@@ -359,46 +336,70 @@ package org.apache.flex.events
 		{
 			return target;
 		}
-		// these map directly to JS MouseEvent fields.
+		/**
+		 * X-coordinate relative to the window.
+		 * @type {number}
+         *
+         * @langversion 3.0
+         * @playerversion Flash 10.2
+         * @playerversion AIR 2.6
+         * @productversion FlexJS 0.0
+		 */
 		public function get clientX():Number
 		{
-			return screenX;
+			return wrappedEvent.clientX;
 		}
-		public function set clientX(value:Number):void
+
+		public function get localX():Number
 		{
-			localX = value;
+			return clientX;
 		}
+
+		/**
+		 * Y-coordinate relative to the window.
+		 * @type {number}
+         *
+         * @langversion 3.0
+         * @playerversion Flash 10.2
+         * @playerversion AIR 2.6
+         * @productversion FlexJS 0.0
+		 */
 		public function get clientY():Number
 		{
-			return screenY;
+			return wrappedEvent.clientY;
 		}
-		public function set clientY(value:Number):void
+
+		public function get localY():Number
 		{
-			localY = value;
+			return clientY;
 		}
 
-		private var _stagePoint:Point;
-	
+		/**
+		 * X-coordinate relative to the monitor.
+		 * @type {number}
+         *
+         * @langversion 3.0
+         * @playerversion Flash 10.2
+         * @playerversion AIR 2.6
+         * @productversion FlexJS 0.0
+		 */
 		public function get screenX():Number
 		{
-			if (!target) return localX;
-			if (!_stagePoint)
-			{
-				var localPoint:Point = new Point(localX, localY);
-				_stagePoint = PointUtils.localToGlobal(localPoint, target);
-			}
-			return _stagePoint.x;
+			return wrappedEvent.screenX;
 		}
 
+		/**
+		 * Y-coordinate relative to the monitor.
+		 * @type {number}
+         *
+         * @langversion 3.0
+         * @playerversion Flash 10.2
+         * @playerversion AIR 2.6
+         * @productversion FlexJS 0.0
+		 */
 		public function get screenY():Number
 		{
-			if (!target) return localY;
-			if (!_stagePoint)
-			{
-				var localPoint:Point = new Point(localX, localY);
-				_stagePoint = PointUtils.localToGlobal(localPoint, target);
-			}
-			return _stagePoint.y;
+			return wrappedEvent.screenY;
 		}
 
 		/**

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/5224af3f/frameworks/projects/Core/src/main/flex/org/apache/flex/events/utils/MouseEventConverter.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Core/src/main/flex/org/apache/flex/events/utils/MouseEventConverter.as b/frameworks/projects/Core/src/main/flex/org/apache/flex/events/utils/MouseEventConverter.as
index b98177d..5cd5c90 100644
--- a/frameworks/projects/Core/src/main/flex/org/apache/flex/events/utils/MouseEventConverter.as
+++ b/frameworks/projects/Core/src/main/flex/org/apache/flex/events/utils/MouseEventConverter.as
@@ -179,9 +179,7 @@ package org.apache.flex.events.utils
 	{
         public static function convert(nativeEvent:Object):MouseEvent
         {
-            return new MouseEvent(nativeEvent["type"], true, false,
-                nativeEvent["clientX"], nativeEvent["clientY"], null,
-                nativeEvent["ctrlKey"], nativeEvent["altKey"], nativeEvent["shiftKey"]);
+            return new MouseEvent(nativeEvent["type"], nativeEvent["bubbles"], nativeEvent["cancelable"]);
         }
     }