Add hooks for some Flash events
This commit is contained in:
@@ -6,6 +6,8 @@ import lime.system.System;
|
||||
|
||||
#if js
|
||||
import js.Browser;
|
||||
#elseif flash
|
||||
import flash.Lib;
|
||||
#end
|
||||
|
||||
|
||||
@@ -95,6 +97,25 @@ class KeyEventManager extends EventManager<IKeyEventListener> {
|
||||
}
|
||||
|
||||
|
||||
#if flash
|
||||
private function handleFlashEvent (event:flash.events.KeyboardEvent):Void {
|
||||
|
||||
keyEvent.code = event.keyCode;
|
||||
keyEvent.key = event.charCode;
|
||||
|
||||
keyEvent.ctrlKey = event.ctrlKey;
|
||||
keyEvent.altKey = event.altKey;
|
||||
keyEvent.shiftKey = event.shiftKey;
|
||||
//keyEvent.metaKey = event.commandKey;
|
||||
|
||||
keyEvent.type = (event.type == flash.events.KeyboardEvent.KEY_DOWN ? KEY_DOWN : KEY_UP);
|
||||
|
||||
handleEvent (keyEvent);
|
||||
|
||||
}
|
||||
#end
|
||||
|
||||
|
||||
private static function registerWindow (_):Void {
|
||||
|
||||
if (instance != null) {
|
||||
@@ -102,6 +123,9 @@ class KeyEventManager extends EventManager<IKeyEventListener> {
|
||||
#if js
|
||||
Browser.window.addEventListener ("keydown", instance.handleDOMEvent, false);
|
||||
Browser.window.addEventListener ("keyup", instance.handleDOMEvent, false);
|
||||
#elseif flash
|
||||
Lib.current.stage.addEventListener (flash.events.KeyboardEvent.KEY_DOWN, instance.handleFlashEvent);
|
||||
Lib.current.stage.addEventListener (flash.events.KeyboardEvent.KEY_UP, instance.handleFlashEvent);
|
||||
#end
|
||||
|
||||
}
|
||||
|
||||
@@ -6,6 +6,8 @@ import lime.system.System;
|
||||
|
||||
#if js
|
||||
import js.Browser;
|
||||
#elseif flash
|
||||
import flash.Lib;
|
||||
#end
|
||||
|
||||
|
||||
@@ -126,6 +128,26 @@ class MouseEventManager extends EventManager<IMouseEventListener> {
|
||||
}
|
||||
|
||||
|
||||
#if flash
|
||||
private function handleFlashEvent (event:flash.events.MouseEvent):Void {
|
||||
|
||||
mouseEvent.x = event.stageX;
|
||||
mouseEvent.y = event.stageY;
|
||||
|
||||
mouseEvent.type = switch (event.type) {
|
||||
|
||||
case flash.events.MouseEvent.MOUSE_DOWN: MOUSE_DOWN;
|
||||
case flash.events.MouseEvent.MOUSE_MOVE: MOUSE_MOVE;
|
||||
default: MOUSE_UP;
|
||||
|
||||
}
|
||||
|
||||
handleEvent (mouseEvent);
|
||||
|
||||
}
|
||||
#end
|
||||
|
||||
|
||||
private static function registerWindow (window:Window):Void {
|
||||
|
||||
if (instance != null) {
|
||||
@@ -144,6 +166,10 @@ class MouseEventManager extends EventManager<IMouseEventListener> {
|
||||
}
|
||||
return true;
|
||||
}, false);*/
|
||||
#elseif flash
|
||||
Lib.current.stage.addEventListener (flash.events.MouseEvent.MOUSE_DOWN, instance.handleFlashEvent);
|
||||
Lib.current.stage.addEventListener (flash.events.MouseEvent.MOUSE_MOVE, instance.handleFlashEvent);
|
||||
Lib.current.stage.addEventListener (flash.events.MouseEvent.MOUSE_UP, instance.handleFlashEvent);
|
||||
#end
|
||||
|
||||
}
|
||||
|
||||
@@ -4,6 +4,12 @@ package lime.ui;
|
||||
import lime.app.EventManager;
|
||||
import lime.system.System;
|
||||
|
||||
#if flash
|
||||
import flash.ui.Multitouch;
|
||||
import flash.ui.MultitouchInputMode;
|
||||
import flash.Lib;
|
||||
#end
|
||||
|
||||
|
||||
@:allow(lime.ui.Window)
|
||||
class TouchEventManager extends EventManager<ITouchEventListener> {
|
||||
@@ -150,6 +156,27 @@ class TouchEventManager extends EventManager<ITouchEventListener> {
|
||||
}
|
||||
|
||||
|
||||
#if flash
|
||||
private function handleFlashEvent (event:flash.events.TouchEvent):Void {
|
||||
|
||||
touchEvent.id = event.touchPointID;
|
||||
touchEvent.x = event.stageX;
|
||||
touchEvent.y = event.stageY;
|
||||
|
||||
touchEvent.type = switch (event.type) {
|
||||
|
||||
case flash.events.TouchEvent.TOUCH_BEGIN: TOUCH_START;
|
||||
case flash.events.TouchEvent.TOUCH_MOVE: TOUCH_MOVE;
|
||||
default: TOUCH_END;
|
||||
|
||||
}
|
||||
|
||||
handleEvent (touchEvent);
|
||||
|
||||
}
|
||||
#end
|
||||
|
||||
|
||||
private static function registerWindow (window:Window):Void {
|
||||
|
||||
if (instance != null) {
|
||||
@@ -158,6 +185,11 @@ class TouchEventManager extends EventManager<ITouchEventListener> {
|
||||
window.element.addEventListener ("touchstart", instance.handleDOMEvent, true);
|
||||
window.element.addEventListener ("touchmove", instance.handleDOMEvent, true);
|
||||
window.element.addEventListener ("touchend", instance.handleDOMEvent, true);
|
||||
#elseif flash
|
||||
Multitouch.inputMode = MultitouchInputMode.TOUCH_POINT;
|
||||
Lib.current.stage.addEventListener (flash.events.TouchEvent.TOUCH_BEGIN, instance.handleFlashEvent);
|
||||
Lib.current.stage.addEventListener (flash.events.TouchEvent.TOUCH_MOVE, instance.handleFlashEvent);
|
||||
Lib.current.stage.addEventListener (flash.events.TouchEvent.TOUCH_END, instance.handleFlashEvent);
|
||||
#end
|
||||
|
||||
}
|
||||
|
||||
@@ -5,7 +5,11 @@ import lime.app.EventManager;
|
||||
import lime.system.System;
|
||||
|
||||
#if js
|
||||
import js.html.Event;
|
||||
import js.Browser;
|
||||
#elseif flash
|
||||
import flash.events.Event;
|
||||
import flash.Lib;
|
||||
#end
|
||||
|
||||
|
||||
@@ -46,7 +50,7 @@ class WindowEventManager extends EventManager<IWindowEventListener> {
|
||||
|
||||
|
||||
#if js
|
||||
private function handleDOMEvent (event:js.html.Event):Void {
|
||||
private function handleDOMEvent (event:Event):Void {
|
||||
|
||||
windowEvent.type = (event.type == "focus" ? WINDOW_ACTIVATE : WINDOW_DEACTIVATE);
|
||||
handleEvent (windowEvent);
|
||||
@@ -82,6 +86,16 @@ class WindowEventManager extends EventManager<IWindowEventListener> {
|
||||
}
|
||||
|
||||
|
||||
#if flash
|
||||
private function handleFlashEvent (event:Event):Void {
|
||||
|
||||
windowEvent.type = (event.type == Event.ACTIVATE ? WINDOW_ACTIVATE : WINDOW_DEACTIVATE);
|
||||
handleEvent (windowEvent);
|
||||
|
||||
}
|
||||
#end
|
||||
|
||||
|
||||
private static function registerWindow (_):Void {
|
||||
|
||||
if (instance != null) {
|
||||
@@ -89,6 +103,9 @@ class WindowEventManager extends EventManager<IWindowEventListener> {
|
||||
#if js
|
||||
Browser.window.addEventListener ("focus", instance.handleDOMEvent, false);
|
||||
Browser.window.addEventListener ("blur", instance.handleDOMEvent, false);
|
||||
#elseif flash
|
||||
Lib.current.stage.addEventListener (Event.ACTIVATE, instance.handleFlashEvent);
|
||||
Lib.current.stage.addEventListener (Event.DEACTIVATE, instance.handleFlashEvent);
|
||||
#end
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user