openfl
Version:
A fast, productive library for 2D cross-platform development.
1,409 lines (1,400 loc) • 68.5 kB
JavaScript
// Class: openfl.display.Stage
var $global = typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : this
$global.Object.defineProperty(exports, "__esModule", {value: true});
var __map_reserved = {};
// Imports
var $hxClasses = require("./../../hxClasses_stub").default;
var $hxEnums = require("./../../hxEnums_stub").default;
var $import = require("./../../import_stub").default;
var $bind = require("./../../bind_stub").default;
var $extend = require("./../../extend_stub").default;
function lime_app_IModule() {return require("./../../lime/app/IModule");}
function openfl_display_DisplayObjectContainer() {return require("./../../openfl/display/DisplayObjectContainer");}
function openfl_display_DisplayObject() {return require("./../../openfl/display/DisplayObject");}
function haxe_CallStack() {return require("./../../haxe/CallStack");}
function js__$Boot_HaxeError() {return require("./../../js/_Boot/HaxeError");}
function Std() {return require("./../../Std");}
function openfl_display_CanvasRenderer() {return require("./../../openfl/display/CanvasRenderer");}
function openfl_display_DOMRenderer() {return require("./../../openfl/display/DOMRenderer");}
function openfl_display3D_Context3D() {return require("./../../openfl/display3D/Context3D");}
function openfl_display_OpenGLRenderer() {return require("./../../openfl/display/OpenGLRenderer");}
function openfl_events_UncaughtErrorEvent() {return require("./../../openfl/events/UncaughtErrorEvent");}
function openfl_Lib() {return require("./../../openfl/Lib");}
function lime_utils_Log() {return require("./../../lime/utils/Log");}
function Reflect() {return require("./../../Reflect");}
function openfl_events_MouseEvent() {return require("./../../openfl/events/MouseEvent");}
function lime_ui__$KeyModifier_KeyModifier_$Impl_$() {return require("./../../lime/ui/_KeyModifier/KeyModifier_Impl_");}
function openfl_ui_Keyboard() {return require("./../../openfl/ui/Keyboard");}
function openfl_display_Sprite() {return require("./../../openfl/display/Sprite");}
function js_Boot() {return require("./../../js/Boot");}
function openfl_geom_Point() {return require("./../../openfl/geom/Point");}
function openfl_events_KeyboardEvent() {return require("./../../openfl/events/KeyboardEvent");}
function haxe_ds_ArraySort() {return require("./../../haxe/ds/ArraySort");}
function openfl_display_InteractiveObject() {return require("./../../openfl/display/InteractiveObject");}
function openfl_events_FocusEvent() {return require("./../../openfl/events/FocusEvent");}
function openfl_text_TextField() {return require("./../../openfl/text/TextField");}
function openfl_events_Event() {return require("./../../openfl/events/Event");}
function openfl_ui_GameInput() {return require("./../../openfl/ui/GameInput");}
function lime_ui_MouseWheelMode() {return require("./../../lime/ui/MouseWheelMode");}
function openfl__$Vector_VectorIterator() {return require("./../../openfl/_Vector/VectorIterator");}
function openfl_events_TextEvent() {return require("./../../openfl/events/TextEvent");}
function openfl_events_FullScreenEvent() {return require("./../../openfl/events/FullScreenEvent");}
function openfl_ui_Mouse() {return require("./../../openfl/ui/Mouse");}
function openfl_ui__$MouseCursor_MouseCursor_$Impl_$() {return require("./../../openfl/ui/_MouseCursor/MouseCursor_Impl_");}
function lime_ui_MouseCursor() {return require("./../../lime/ui/MouseCursor");}
function HxOverrides() {return require("./../../HxOverrides");}
function openfl_utils__$internal_TouchData() {return require("./../../openfl/utils/_internal/TouchData");}
function openfl_events_TouchEvent() {return require("./../../openfl/events/TouchEvent");}
function lime_ui_Gamepad() {return require("./../../lime/ui/Gamepad");}
function lime_ui_Touch() {return require("./../../lime/ui/Touch");}
function openfl_geom_Rectangle() {return require("./../../openfl/geom/Rectangle");}
function StringTools() {return require("./../../StringTools");}
function openfl_errors_IllegalOperationError() {return require("./../../openfl/errors/IllegalOperationError");}
function openfl_geom_Matrix() {return require("./../../openfl/geom/Matrix");}
function openfl__$Vector_Vector_$Impl_$() {return require("./../../openfl/_Vector/Vector_Impl_");}
function openfl_display_Stage3D() {return require("./../../openfl/display/Stage3D");}
function haxe_ds_IntMap() {return require("./../../haxe/ds/IntMap");}
function openfl_display_LoaderInfo() {return require("./../../openfl/display/LoaderInfo");}
function openfl_display_Application() {return require("./../../openfl/display/Application");}
function Type() {return require("./../../Type");}
// Constructor
var Stage = function(width,height,color,documentClass,windowAttributes) {
if(height == null) {
height = 0;
}
if(width == null) {
width = 0;
}
(openfl_display_DisplayObjectContainer().default).call(this);
this.__drawableType = 5;
this.set_name(null);
this.__color = -1;
this.__colorSplit = [255,255,255];
this.__colorString = "#FFFFFF";
this.__contentsScaleFactor = 1;
this.__currentTabOrderIndex = 0;
this.__deltaTime = 0;
this.__displayState = "normal";
this.__mouseX = 0;
this.__mouseY = 0;
this.__lastClickTime = 0;
this.__logicalWidth = 0;
this.__logicalHeight = 0;
this.__displayMatrix = new (openfl_geom_Matrix().default)();
this.__displayRect = new (openfl_geom_Rectangle().default)();
this.__renderDirty = true;
this.stage3Ds = (openfl__$Vector_Vector_$Impl_$().default)._new();
(openfl__$Vector_Vector_$Impl_$().default).push(this.stage3Ds,new (openfl_display_Stage3D().default)(this));
(openfl__$Vector_Vector_$Impl_$().default).push(this.stage3Ds,new (openfl_display_Stage3D().default)(this));
(openfl__$Vector_Vector_$Impl_$().default).push(this.stage3Ds,new (openfl_display_Stage3D().default)(this));
(openfl__$Vector_Vector_$Impl_$().default).push(this.stage3Ds,new (openfl_display_Stage3D().default)(this));
this.stage = this;
this.align = "topLeft";
this.allowsFullScreen = true;
this.allowsFullScreenInteractive = true;
this.__quality = "high";
this.__scaleMode = "noScale";
this.showDefaultContextMenu = true;
this.softKeyboardRect = new (openfl_geom_Rectangle().default)();
this.stageFocusRect = true;
this.__macKeyboard = /AppleWebKit/.test (navigator.userAgent) && /Mobile\/\w+/.test (navigator.userAgent) || /Mac/.test (navigator.platform);
this.__clearBeforeRender = true;
this.__forceRender = false;
this.__stack = [];
this.__rollOutStack = [];
this.__mouseOutStack = [];
this.__touchData = new (haxe_ds_IntMap().default)();
if((openfl_Lib().default).get_current().__loaderInfo == null) {
(openfl_Lib().default).get_current().__loaderInfo = (openfl_display_LoaderInfo().default).create(null);
(openfl_Lib().default).get_current().__loaderInfo.content = (openfl_Lib().default).get_current();
}
this.__uncaughtErrorEvents = (openfl_Lib().default).get_current().__loaderInfo.uncaughtErrorEvents;
if(windowAttributes == null) {
windowAttributes = { };
}
var app = null;
if(!isNaN(width)) {
var resizable = width == 0 && width == 0;
if(windowAttributes.element != null) {
this.element = windowAttributes.element;
} else {
this.element = window.document.createElement("div");
}
if(resizable) {
this.element.style.width = "100%";
this.element.style.height = "100%";
}
windowAttributes.width = width;
windowAttributes.height = height;
windowAttributes.element = this.element;
windowAttributes.resizable = resizable;
windowAttributes.stage = this;
if(!(Reflect().default).hasField(windowAttributes,"context")) {
windowAttributes.context = { };
}
var contextAttributes = windowAttributes.context;
if((Reflect().default).hasField(windowAttributes,"renderer")) {
var type = (Std().default).string(windowAttributes.renderer);
if(type == "webgl1") {
contextAttributes.type = "webgl";
contextAttributes.version = "1";
} else if(type == "webgl2") {
contextAttributes.type = "webgl";
contextAttributes.version = "2";
} else {
(Reflect().default).setField(contextAttributes,"type",windowAttributes.renderer);
}
}
if(!(Reflect().default).hasField(contextAttributes,"stencil")) {
contextAttributes.stencil = true;
}
if(!(Reflect().default).hasField(contextAttributes,"depth")) {
contextAttributes.depth = true;
}
if(!(Reflect().default).hasField(contextAttributes,"background")) {
contextAttributes.background = null;
}
app = new (openfl_display_Application().default)();
this.window = app.createWindow(windowAttributes);
this.set_color(color);
} else {
this.window = width;
this.set_color(height);
}
this.__contentsScaleFactor = this.window.get_scale();
this.__wasFullscreen = this.window.get_fullscreen();
this.__resize();
if((openfl_Lib().default).get_current().stage == null) {
this.stage.addChild((openfl_Lib().default).get_current());
}
if(documentClass != null) {
(openfl_display_DisplayObject().default).__initStage = this;
var sprite = (Type().default).createInstance(documentClass,[]);
sprite.dispatchEvent(new (openfl_events_Event().default)("addedToStage",false,false));
}
if(app != null) {
app.addModule(this);
app.exec();
}
}
// Meta
Stage.__name__ = "openfl.display.Stage";
Stage.__isInterface__ = false;
Stage.__interfaces__ = [(lime_app_IModule().default)];
Stage.__super__ = (openfl_display_DisplayObjectContainer().default);
Stage.prototype = $extend((openfl_display_DisplayObjectContainer().default).prototype, {
invalidate: function() {
this.__invalidated = true;
this.__renderDirty = true;
},
localToGlobal: function(pos) {
return pos.clone();
},
__broadcastEvent: function(event) {
if((openfl_display_DisplayObject().default).__broadcastEvents.exists(event.type)) {
var dispatchers = (openfl_display_DisplayObject().default).__broadcastEvents.get(event.type);
var _g = 0;
while(_g < dispatchers.length) {
var dispatcher = dispatchers[_g];
++_g;
if(dispatcher.stage == this || dispatcher.stage == null) {
if(this.__uncaughtErrorEvents.__enabled) {
try {
dispatcher.__dispatch(event);
} catch( e ) {
(haxe_CallStack().default).lastException = e;
this.__handleError(((e) instanceof (js__$Boot_HaxeError().default)) ? e.val : e);
}
} else {
dispatcher.__dispatch(event);
}
}
}
}
},
__createRenderer: function() {
var windowWidth = (Std().default).int(this.window.get_width() * this.window.get_scale());
var windowHeight = (Std().default).int(this.window.get_height() * this.window.get_scale());
switch(this.window.context.type) {
case "cairo":
break;
case "canvas":
this.__renderer = new (openfl_display_CanvasRenderer().default)(this.window.context.canvas2D);
break;
case "dom":
this.__renderer = new (openfl_display_DOMRenderer().default)(this.window.context.dom);
break;
case "opengl":case "opengles":case "webgl":
this.context3D = new (openfl_display3D_Context3D().default)(this);
this.context3D.configureBackBuffer(this.stageWidth,this.stageHeight,0,true,true,true);
this.context3D.present();
this.__renderer = new (openfl_display_OpenGLRenderer().default)(this.context3D);
break;
default:
}
if(this.__renderer != null) {
var tmp = this.get_quality();
this.__renderer.__allowSmoothing = tmp != "low";
this.__renderer.__pixelRatio = this.window.get_scale();
this.__renderer.__worldTransform = this.__displayMatrix;
this.__renderer.__stage = this;
this.__renderer.__resize(windowWidth,windowHeight);
}
},
__dispatchEvent: function(event) {
var result;
if(this.__uncaughtErrorEvents.__enabled) {
try {
result = (openfl_display_DisplayObjectContainer().default).prototype.__dispatchEvent.call(this,event);
} catch( e ) {
(haxe_CallStack().default).lastException = e;
this.__handleError(((e) instanceof (js__$Boot_HaxeError().default)) ? e.val : e);
result = false;
}
} else {
result = (openfl_display_DisplayObjectContainer().default).prototype.__dispatchEvent.call(this,event);
}
return result;
},
__dispatchPendingMouseEvent: function() {
if(this.__pendingMouseEvent) {
this.__onMouse("mouseMove",this.__pendingMouseX,this.__pendingMouseY,0);
this.__pendingMouseEvent = false;
}
},
__dispatchStack: function(event,stack) {
if(this.__uncaughtErrorEvents.__enabled) {
try {
var target;
var length = stack.length;
if(length == 0) {
event.eventPhase = 2;
target = event.target;
target.__dispatch(event);
} else {
event.eventPhase = 1;
event.target = stack[stack.length - 1];
var _g = 0;
var _g1 = length - 1;
while(_g < _g1) {
var i = _g++;
stack[i].__dispatch(event);
if(event.__isCanceled) {
return;
}
}
event.eventPhase = 2;
target = event.target;
target.__dispatch(event);
if(event.__isCanceled) {
return;
}
if(event.bubbles) {
event.eventPhase = 3;
var i1 = length - 2;
while(i1 >= 0) {
stack[i1].__dispatch(event);
if(event.__isCanceled) {
return;
}
--i1;
}
}
}
} catch( e ) {
(haxe_CallStack().default).lastException = e;
this.__handleError(((e) instanceof (js__$Boot_HaxeError().default)) ? e.val : e);
}
} else {
var target1;
var length1 = stack.length;
if(length1 == 0) {
event.eventPhase = 2;
target1 = event.target;
target1.__dispatch(event);
} else {
event.eventPhase = 1;
event.target = stack[stack.length - 1];
var _g2 = 0;
var _g11 = length1 - 1;
while(_g2 < _g11) {
var i2 = _g2++;
stack[i2].__dispatch(event);
if(event.__isCanceled) {
return;
}
}
event.eventPhase = 2;
target1 = event.target;
target1.__dispatch(event);
if(event.__isCanceled) {
return;
}
if(event.bubbles) {
event.eventPhase = 3;
var i3 = length1 - 2;
while(i3 >= 0) {
stack[i3].__dispatch(event);
if(event.__isCanceled) {
return;
}
--i3;
}
}
}
}
},
__dispatchTarget: function(target,event) {
if(this.__uncaughtErrorEvents.__enabled) {
try {
return target.__dispatchEvent(event);
} catch( e ) {
(haxe_CallStack().default).lastException = e;
this.__handleError(((e) instanceof (js__$Boot_HaxeError().default)) ? e.val : e);
return false;
}
} else {
return target.__dispatchEvent(event);
}
},
__drag: function(mouse) {
var parent = this.__dragObject.parent;
if(parent != null) {
parent.__getWorldTransform().__transformInversePoint(mouse);
}
var x = mouse.x + this.__dragOffsetX;
var y = mouse.y + this.__dragOffsetY;
if(this.__dragBounds != null) {
if(x < this.__dragBounds.x) {
x = this.__dragBounds.x;
} else if(x > this.__dragBounds.get_right()) {
x = this.__dragBounds.get_right();
}
if(y < this.__dragBounds.y) {
y = this.__dragBounds.y;
} else if(y > this.__dragBounds.get_bottom()) {
y = this.__dragBounds.get_bottom();
}
}
this.__dragObject.set_x(x);
this.__dragObject.set_y(y);
},
__getInteractive: function(stack) {
if(stack != null) {
stack.push(this);
}
return true;
},
__globalToLocal: function(global,local) {
if(global != local) {
local.copyFrom(global);
}
return local;
},
__handleError: function(e) {
var event = new (openfl_events_UncaughtErrorEvent().default)("uncaughtError",true,true,e);
(openfl_Lib().default).get_current().__loaderInfo.uncaughtErrorEvents.dispatchEvent(event);
if(!event.__preventDefault) {
(lime_utils_Log().default).println((haxe_CallStack().default).toString((haxe_CallStack().default).exceptionStack()));
(lime_utils_Log().default).println((Std().default).string(e));
try {
var exc = (haxe_CallStack().default).lastException;
if(exc != null && (Reflect().default).hasField(exc,"stack") && exc.stack != null && exc.stack != "") {
(console.log)(exc.stack);
e.stack = exc.stack;
} else {
var msg = (haxe_CallStack().default).toString((haxe_CallStack().default).callStack());
(console.log)(msg);
}
} catch( e2 ) {
(haxe_CallStack().default).lastException = e2;
var e21 = ((e2) instanceof (js__$Boot_HaxeError().default)) ? e2.val : e2;
}
throw e;
}
},
__onKey: function(type,keyCode,modifier) {
this.__dispatchPendingMouseEvent();
(openfl_events_MouseEvent().default).__altKey = (lime_ui__$KeyModifier_KeyModifier_$Impl_$().default).get_altKey(modifier);
(openfl_events_MouseEvent().default).__commandKey = (lime_ui__$KeyModifier_KeyModifier_$Impl_$().default).get_metaKey(modifier);
(openfl_events_MouseEvent().default).__controlKey = (lime_ui__$KeyModifier_KeyModifier_$Impl_$().default).get_ctrlKey(modifier) && !(lime_ui__$KeyModifier_KeyModifier_$Impl_$().default).get_metaKey(modifier);
(openfl_events_MouseEvent().default).__ctrlKey = (lime_ui__$KeyModifier_KeyModifier_$Impl_$().default).get_ctrlKey(modifier);
(openfl_events_MouseEvent().default).__shiftKey = (lime_ui__$KeyModifier_KeyModifier_$Impl_$().default).get_shiftKey(modifier);
var stack = [];
if(this.__focus == null) {
this.__getInteractive(stack);
} else {
this.__focus.__getInteractive(stack);
}
if(stack.length > 0) {
var keyLocation = (openfl_ui_Keyboard().default).__getKeyLocation(keyCode);
var keyCode1 = (openfl_ui_Keyboard().default).__convertKeyCode(keyCode);
var charCode = (openfl_ui_Keyboard().default).__getCharCode(keyCode1,(lime_ui__$KeyModifier_KeyModifier_$Impl_$().default).get_shiftKey(modifier));
if(type == "keyUp" && (keyCode1 == 32 || keyCode1 == 13) && ((this.__focus) instanceof (openfl_display_Sprite().default))) {
var sprite = (js_Boot().default).__cast(this.__focus , (openfl_display_Sprite().default));
if(sprite.get_buttonMode() && sprite.focusRect == true) {
var localPoint = (openfl_geom_Point().default).__pool.get();
var targetPoint = (openfl_geom_Point().default).__pool.get();
targetPoint.x = this.__mouseX;
targetPoint.y = this.__mouseY;
var clickEvent = (openfl_events_MouseEvent().default).__create("click",0,0,this.__mouseX,this.__mouseY,sprite.__globalToLocal(targetPoint,localPoint),sprite);
this.__dispatchStack(clickEvent,stack);
if(clickEvent.__updateAfterEventFlag) {
this.__renderAfterEvent();
}
(openfl_geom_Point().default).__pool.release(targetPoint);
(openfl_geom_Point().default).__pool.release(localPoint);
}
}
var event = new (openfl_events_KeyboardEvent().default)(type,true,true,charCode,keyCode1,keyLocation,this.__macKeyboard ? (lime_ui__$KeyModifier_KeyModifier_$Impl_$().default).get_ctrlKey(modifier) || (lime_ui__$KeyModifier_KeyModifier_$Impl_$().default).get_metaKey(modifier) : (lime_ui__$KeyModifier_KeyModifier_$Impl_$().default).get_ctrlKey(modifier),(lime_ui__$KeyModifier_KeyModifier_$Impl_$().default).get_altKey(modifier),(lime_ui__$KeyModifier_KeyModifier_$Impl_$().default).get_shiftKey(modifier),(lime_ui__$KeyModifier_KeyModifier_$Impl_$().default).get_ctrlKey(modifier),(lime_ui__$KeyModifier_KeyModifier_$Impl_$().default).get_metaKey(modifier));
stack.reverse();
this.__dispatchStack(event,stack);
if(event.__preventDefault) {
if(type == "keyDown") {
this.window.onKeyDown.cancel();
} else {
this.window.onKeyUp.cancel();
}
} else if(type == "keyDown" && keyCode1 == 9) {
var tabStack = [];
this.__tabTest(tabStack);
var nextIndex = -1;
var nextObject = null;
var nextOffset = (lime_ui__$KeyModifier_KeyModifier_$Impl_$().default).get_shiftKey(modifier) ? -1 : 1;
if(tabStack.length > 1) {
(haxe_ds_ArraySort().default).sort(tabStack,function(a,b) {
return a.get_tabIndex() - b.get_tabIndex();
});
if(tabStack[tabStack.length - 1].get_tabIndex() != -1) {
var i = 0;
while(i < tabStack.length) {
if(tabStack[i].get_tabIndex() > -1) {
if(i > 0) {
tabStack.splice(0,i);
}
break;
}
++i;
}
}
if(this.get_focus() != null) {
var current = this.get_focus();
var index = tabStack.indexOf(current);
while(index == -1 && current != null) {
var currentParent = current.parent;
if(currentParent != null && currentParent.get_tabChildren()) {
var currentIndex = currentParent.getChildIndex(current);
if(currentIndex == -1) {
current = currentParent;
continue;
}
var i1 = currentIndex + nextOffset;
while((lime_ui__$KeyModifier_KeyModifier_$Impl_$().default).get_shiftKey(modifier) ? i1 >= 0 : i1 < currentParent.get_numChildren()) {
var sibling = currentParent.getChildAt(i1);
if(((sibling) instanceof (openfl_display_InteractiveObject().default))) {
var interactiveSibling = (js_Boot().default).__cast(sibling , (openfl_display_InteractiveObject().default));
index = tabStack.indexOf(interactiveSibling);
if(index != -1) {
nextOffset = 0;
break;
}
}
i1 += nextOffset;
}
} else if((lime_ui__$KeyModifier_KeyModifier_$Impl_$().default).get_shiftKey(modifier)) {
index = tabStack.indexOf(currentParent);
if(index != -1) {
nextOffset = 0;
}
}
current = currentParent;
}
if(index < 0) {
nextIndex = 0;
} else {
nextIndex = index + nextOffset;
}
} else {
nextIndex = this.__currentTabOrderIndex;
}
} else if(tabStack.length == 1) {
nextObject = tabStack[0];
if(this.get_focus() == nextObject) {
nextObject = null;
}
}
var cancelTab = nextIndex >= 0 && nextIndex < tabStack.length;
if(tabStack.length == 1 || tabStack.length == 0 && this.get_focus() != null) {
nextIndex = 0;
} else if(tabStack.length > 1) {
if(nextIndex < 0) {
nextIndex += tabStack.length;
}
nextIndex %= tabStack.length;
nextObject = tabStack[nextIndex];
if(nextObject == this.get_focus()) {
nextIndex += nextOffset;
if(nextIndex < 0) {
nextIndex += tabStack.length;
}
nextIndex %= tabStack.length;
nextObject = tabStack[nextIndex];
}
}
var focusEvent = null;
if(this.get_focus() != null) {
focusEvent = new (openfl_events_FocusEvent().default)("keyFocusChange",true,true,nextObject,(lime_ui__$KeyModifier_KeyModifier_$Impl_$().default).get_shiftKey(modifier),0);
stack = [];
this.get_focus().__getInteractive(stack);
stack.reverse();
this.__dispatchStack(focusEvent,stack);
if(focusEvent.isDefaultPrevented()) {
this.window.onKeyDown.cancel();
}
}
if(focusEvent == null || !focusEvent.isDefaultPrevented()) {
this.__currentTabOrderIndex = nextIndex;
if(nextObject != null) {
this.set_focus(nextObject);
}
if(cancelTab) {
this.window.onKeyDown.cancel();
}
}
} else if(type == "keyDown" && this.get_focus() != null && !((this.get_focus()) instanceof (openfl_text_TextField().default))) {
var ctrlKey = this.__macKeyboard ? (lime_ui__$KeyModifier_KeyModifier_$Impl_$().default).get_ctrlKey(modifier) || (lime_ui__$KeyModifier_KeyModifier_$Impl_$().default).get_metaKey(modifier) : (lime_ui__$KeyModifier_KeyModifier_$Impl_$().default).get_ctrlKey(modifier);
if(ctrlKey && !(lime_ui__$KeyModifier_KeyModifier_$Impl_$().default).get_altKey(modifier) && !(lime_ui__$KeyModifier_KeyModifier_$Impl_$().default).get_shiftKey(modifier)) {
switch(keyCode1) {
case 65:
var selectAllEvent = new (openfl_events_Event().default)("selectAll",true,true);
this.get_focus().dispatchEvent(selectAllEvent);
break;
case 67:
var copyEvent = new (openfl_events_Event().default)("copy",true,true);
this.get_focus().dispatchEvent(copyEvent);
break;
case 86:
var pasteEvent = new (openfl_events_Event().default)("paste",true,true);
this.get_focus().dispatchEvent(pasteEvent);
break;
case 88:
var cutEvent = new (openfl_events_Event().default)("cut",true,true);
this.get_focus().dispatchEvent(cutEvent);
break;
}
}
}
if(event.__updateAfterEventFlag) {
this.__renderAfterEvent();
}
}
},
__onLimeCreateWindow: function($window) {
if(this.window != $window) {
return;
}
var f = $bind(this,this.__onLimeWindowActivate);
var window1 = $window;
var tmp = function() {
f(window1);
};
$window.onActivate.add(tmp);
var f1 = $bind(this,this.__onLimeWindowClose);
var window2 = $window;
var tmp1 = function() {
f1(window2);
};
$window.onClose.add(tmp1,false,-9000);
var f2 = $bind(this,this.__onLimeWindowDeactivate);
var window3 = $window;
var tmp2 = function() {
f2(window3);
};
$window.onDeactivate.add(tmp2);
var f3 = $bind(this,this.__onLimeWindowDropFile);
var window4 = $window;
var tmp3 = function(file) {
f3(window4,file);
};
$window.onDropFile.add(tmp3);
var f4 = $bind(this,this.__onLimeWindowEnter);
var window5 = $window;
var tmp4 = function() {
f4(window5);
};
$window.onEnter.add(tmp4);
var f5 = $bind(this,this.__onLimeWindowExpose);
var window6 = $window;
var tmp5 = function() {
f5(window6);
};
$window.onExpose.add(tmp5);
var f6 = $bind(this,this.__onLimeWindowFocusIn);
var window7 = $window;
var tmp6 = function() {
f6(window7);
};
$window.onFocusIn.add(tmp6);
var f7 = $bind(this,this.__onLimeWindowFocusOut);
var window8 = $window;
var tmp7 = function() {
f7(window8);
};
$window.onFocusOut.add(tmp7);
var f8 = $bind(this,this.__onLimeWindowFullscreen);
var window9 = $window;
var tmp8 = function() {
f8(window9);
};
$window.onFullscreen.add(tmp8);
var f9 = $bind(this,this.__onLimeKeyDown);
var window10 = $window;
var tmp9 = function(keyCode,modifier) {
f9(window10,keyCode,modifier);
};
$window.onKeyDown.add(tmp9);
var f10 = $bind(this,this.__onLimeKeyUp);
var window11 = $window;
var tmp10 = function(keyCode1,modifier1) {
f10(window11,keyCode1,modifier1);
};
$window.onKeyUp.add(tmp10);
var f11 = $bind(this,this.__onLimeWindowLeave);
var window12 = $window;
var tmp11 = function() {
f11(window12);
};
$window.onLeave.add(tmp11);
var f12 = $bind(this,this.__onLimeWindowMinimize);
var window13 = $window;
var tmp12 = function() {
f12(window13);
};
$window.onMinimize.add(tmp12);
var f13 = $bind(this,this.__onLimeMouseDown);
var window14 = $window;
var tmp13 = function(x,y,button) {
f13(window14,x,y,button);
};
$window.onMouseDown.add(tmp13);
var f14 = $bind(this,this.__onLimeMouseMove);
var window15 = $window;
var tmp14 = function(x1,y1) {
f14(window15,x1,y1);
};
$window.onMouseMove.add(tmp14);
var f15 = $bind(this,this.__onLimeMouseMoveRelative);
var window16 = $window;
var tmp15 = function(x2,y2) {
f15(window16,x2,y2);
};
$window.onMouseMoveRelative.add(tmp15);
var f16 = $bind(this,this.__onLimeMouseUp);
var window17 = $window;
var tmp16 = function(x3,y3,button1) {
f16(window17,x3,y3,button1);
};
$window.onMouseUp.add(tmp16);
var f17 = $bind(this,this.__onLimeMouseWheel);
var window18 = $window;
var tmp17 = function(deltaX,deltaY,deltaMode) {
f17(window18,deltaX,deltaY,deltaMode);
};
$window.onMouseWheel.add(tmp17);
var f18 = $bind(this,this.__onLimeWindowMove);
var window19 = $window;
var tmp18 = function(x4,y4) {
f18(window19,x4,y4);
};
$window.onMove.add(tmp18);
$window.onRender.add($bind(this,this.__onLimeRender));
$window.onRenderContextLost.add($bind(this,this.__onLimeRenderContextLost));
$window.onRenderContextRestored.add($bind(this,this.__onLimeRenderContextRestored));
var f19 = $bind(this,this.__onLimeWindowResize);
var window20 = $window;
var tmp19 = function(width,height) {
f19(window20,width,height);
};
$window.onResize.add(tmp19);
var f20 = $bind(this,this.__onLimeWindowRestore);
var window21 = $window;
var tmp20 = function() {
f20(window21);
};
$window.onRestore.add(tmp20);
var f21 = $bind(this,this.__onLimeTextEdit);
var window22 = $window;
var tmp21 = function(text,start,length) {
f21(window22,text,start,length);
};
$window.onTextEdit.add(tmp21);
var f22 = $bind(this,this.__onLimeTextInput);
var window23 = $window;
var tmp22 = function(text1) {
f22(window23,text1);
};
$window.onTextInput.add(tmp22);
this.__onLimeWindowCreate($window);
},
__onLimeGamepadAxisMove: function(gamepad,axis,value) {
if(this.__uncaughtErrorEvents.__enabled) {
try {
(openfl_ui_GameInput().default).__onGamepadAxisMove(gamepad,axis,value);
} catch( e ) {
(haxe_CallStack().default).lastException = e;
this.__handleError(((e) instanceof (js__$Boot_HaxeError().default)) ? e.val : e);
}
} else {
(openfl_ui_GameInput().default).__onGamepadAxisMove(gamepad,axis,value);
}
},
__onLimeGamepadButtonDown: function(gamepad,button) {
if(this.__uncaughtErrorEvents.__enabled) {
try {
(openfl_ui_GameInput().default).__onGamepadButtonDown(gamepad,button);
} catch( e ) {
(haxe_CallStack().default).lastException = e;
this.__handleError(((e) instanceof (js__$Boot_HaxeError().default)) ? e.val : e);
}
} else {
(openfl_ui_GameInput().default).__onGamepadButtonDown(gamepad,button);
}
},
__onLimeGamepadButtonUp: function(gamepad,button) {
if(this.__uncaughtErrorEvents.__enabled) {
try {
(openfl_ui_GameInput().default).__onGamepadButtonUp(gamepad,button);
} catch( e ) {
(haxe_CallStack().default).lastException = e;
this.__handleError(((e) instanceof (js__$Boot_HaxeError().default)) ? e.val : e);
}
} else {
(openfl_ui_GameInput().default).__onGamepadButtonUp(gamepad,button);
}
},
__onLimeGamepadConnect: function(gamepad) {
if(this.__uncaughtErrorEvents.__enabled) {
try {
(openfl_ui_GameInput().default).__onGamepadConnect(gamepad);
} catch( e ) {
(haxe_CallStack().default).lastException = e;
this.__handleError(((e) instanceof (js__$Boot_HaxeError().default)) ? e.val : e);
}
} else {
(openfl_ui_GameInput().default).__onGamepadConnect(gamepad);
}
var f = $bind(this,this.__onLimeGamepadAxisMove);
var gamepad1 = gamepad;
var tmp = function(axis,value) {
f(gamepad1,axis,value);
};
gamepad.onAxisMove.add(tmp);
var f1 = $bind(this,this.__onLimeGamepadButtonDown);
var gamepad2 = gamepad;
var tmp1 = function(button) {
f1(gamepad2,button);
};
gamepad.onButtonDown.add(tmp1);
var f2 = $bind(this,this.__onLimeGamepadButtonUp);
var gamepad3 = gamepad;
var tmp2 = function(button1) {
f2(gamepad3,button1);
};
gamepad.onButtonUp.add(tmp2);
var f3 = $bind(this,this.__onLimeGamepadDisconnect);
var gamepad4 = gamepad;
var tmp3 = function() {
f3(gamepad4);
};
gamepad.onDisconnect.add(tmp3);
},
__onLimeGamepadDisconnect: function(gamepad) {
if(this.__uncaughtErrorEvents.__enabled) {
try {
(openfl_ui_GameInput().default).__onGamepadDisconnect(gamepad);
} catch( e ) {
(haxe_CallStack().default).lastException = e;
this.__handleError(((e) instanceof (js__$Boot_HaxeError().default)) ? e.val : e);
}
} else {
(openfl_ui_GameInput().default).__onGamepadDisconnect(gamepad);
}
},
__onLimeKeyDown: function($window,keyCode,modifier) {
if(this.window == null || this.window != $window) {
return;
}
this.__onKey("keyDown",keyCode,modifier);
},
__onLimeKeyUp: function($window,keyCode,modifier) {
if(this.window == null || this.window != $window) {
return;
}
this.__onKey("keyUp",keyCode,modifier);
},
__onLimeModuleExit: function(code) {
if(this.window != null) {
var event = null;
event = new (openfl_events_Event().default)("deactivate");
this.__broadcastEvent(event);
}
},
__onLimeMouseDown: function($window,x,y,button) {
if(this.window == null || this.window != $window) {
return;
}
this.__dispatchPendingMouseEvent();
var type;
switch(button) {
case 1:
type = "middleMouseDown";
break;
case 2:
type = "rightMouseDown";
break;
default:
type = "mouseDown";
}
this.__onMouse(type,(Std().default).int(x * $window.get_scale()),(Std().default).int(y * $window.get_scale()),button);
if(!this.showDefaultContextMenu && button == 2) {
$window.onMouseDown.cancel();
}
},
__onLimeMouseMove: function($window,x,y) {
if(this.window == null || this.window != $window) {
return;
}
this.__pendingMouseEvent = true;
this.__pendingMouseX = (Std().default).int(x * $window.get_scale());
this.__pendingMouseY = (Std().default).int(y * $window.get_scale());
},
__onLimeMouseMoveRelative: function($window,x,y) {
},
__onLimeMouseUp: function($window,x,y,button) {
if(this.window == null || this.window != $window) {
return;
}
this.__dispatchPendingMouseEvent();
var type;
switch(button) {
case 1:
type = "middleMouseUp";
break;
case 2:
type = "rightMouseUp";
break;
default:
type = "mouseUp";
}
this.__onMouse(type,(Std().default).int(x * $window.get_scale()),(Std().default).int(y * $window.get_scale()),button);
if(!this.showDefaultContextMenu && button == 2) {
$window.onMouseUp.cancel();
}
},
__onLimeMouseWheel: function($window,deltaX,deltaY,deltaMode) {
if(this.window == null || this.window != $window) {
return;
}
this.__dispatchPendingMouseEvent();
if(deltaMode == (lime_ui_MouseWheelMode().default).PIXELS) {
this.__onMouseWheel((Std().default).int(deltaX * $window.get_scale()),(Std().default).int(deltaY * $window.get_scale()),deltaMode);
} else {
this.__onMouseWheel((Std().default).int(deltaX),(Std().default).int(deltaY),deltaMode);
}
},
__renderAfterEvent: function() {
var cancelled = this.__render(this.window.context);
},
__render: function(context) {
var cancelled = false;
var event = null;
var shouldRender = this.__renderer != null && (this.__renderDirty || this.__forceRender);
if(this.__invalidated && shouldRender) {
this.__invalidated = false;
event = new (openfl_events_Event().default)("render");
this.__broadcastEvent(event);
}
this.__update(false,true);
if(this.__renderer != null) {
if(this.context3D != null) {
var stage3D = new (openfl__$Vector_VectorIterator().default)(this.stage3Ds);
while(stage3D.hasNext()) {
var stage3D1 = stage3D.next();
this.context3D.__renderStage3D(stage3D1);
}
if(this.context3D.__present) {
shouldRender = true;
}
}
if(shouldRender) {
var tmp = this.__renderer.__type == "cairo";
if(this.context3D == null) {
this.__renderer.__clear();
}
this.__renderer.__render(this);
} else if(this.context3D == null) {
cancelled = true;
}
if(this.context3D != null) {
if(!this.context3D.__present) {
cancelled = true;
} else {
if(!this.__renderer.__cleared) {
this.__renderer.__clear();
}
this.context3D.__present = false;
this.context3D.__cleared = false;
}
}
this.__renderer.__cleared = false;
}
return cancelled;
},
__onLimeRender: function(context) {
if(this.__rendering) {
return;
}
this.__rendering = true;
var event = null;
this.__broadcastEvent(new (openfl_events_Event().default)("enterFrame"));
this.__broadcastEvent(new (openfl_events_Event().default)("frameConstructed"));
this.__broadcastEvent(new (openfl_events_Event().default)("exitFrame"));
this.__renderable = true;
this.__enterFrame(this.__deltaTime);
this.__deltaTime = 0;
var cancelled = this.__render(context);
if(cancelled) {
this.window.onRender.cancel();
}
this.__rendering = false;
},
__onLimeRenderContextLost: function() {
this.__renderer = null;
this.context3D = null;
var stage3D = new (openfl__$Vector_VectorIterator().default)(this.stage3Ds);
while(stage3D.hasNext()) {
var stage3D1 = stage3D.next();
stage3D1.__lostContext();
}
},
__onLimeRenderContextRestored: function(context) {
this.__createRenderer();
var stage3D = new (openfl__$Vector_VectorIterator().default)(this.stage3Ds);
while(stage3D.hasNext()) {
var stage3D1 = stage3D.next();
stage3D1.__restoreContext();
}
},
__onLimeTextEdit: function($window,text,start,length) {
},
__onLimeTextInput: function($window,text) {
if(this.window == null || this.window != $window) {
return;
}
var stack = [];
if(this.__focus == null) {
this.__getInteractive(stack);
} else {
this.__focus.__getInteractive(stack);
}
var event = new (openfl_events_TextEvent().default)("textInput",true,true,text);
if(stack.length > 0) {
stack.reverse();
this.__dispatchStack(event,stack);
} else {
this.__dispatchEvent(event);
}
if(event.isDefaultPrevented()) {
$window.onTextInput.cancel();
}
},
__onLimeTouchCancel: function(touch) {
var isPrimaryTouchPoint = this.__primaryTouch == touch;
if(isPrimaryTouchPoint) {
this.__primaryTouch = null;
}
this.__onTouch("touchEnd",touch,isPrimaryTouchPoint);
},
__onLimeTouchMove: function(touch) {
this.__onTouch("touchMove",touch,this.__primaryTouch == touch);
},
__onLimeTouchEnd: function(touch) {
var isPrimaryTouchPoint = this.__primaryTouch == touch;
if(isPrimaryTouchPoint) {
this.__primaryTouch = null;
}
this.__onTouch("touchEnd",touch,isPrimaryTouchPoint);
},
__onLimeTouchStart: function(touch) {
if(this.__primaryTouch == null) {
this.__primaryTouch = touch;
}
this.__onTouch("touchBegin",touch,this.__primaryTouch == touch);
},
__onLimeUpdate: function(deltaTime) {
this.__deltaTime = deltaTime;
this.__dispatchPendingMouseEvent();
},
__onLimeWindowActivate: function($window) {
if(this.window == null || this.window != $window) {
return;
}
},
__onLimeWindowClose: function($window) {
if(this.window == $window) {
this.window = null;
}
this.__primaryTouch = null;
var event = null;
event = new (openfl_events_Event().default)("deactivate");
this.__broadcastEvent(event);
},
__onLimeWindowCreate: function($window) {
if(this.window == null || this.window != $window) {
return;
}
if($window.context != null) {
this.__createRenderer();
}
},
__onLimeWindowDeactivate: function($window) {
if(this.window == null || this.window != $window) {
return;
}
},
__onLimeWindowDropFile: function($window,file) {
},
__onLimeWindowEnter: function($window) {
},
__onLimeWindowExpose: function($window) {
if(this.window == null || this.window != $window) {
return;
}
this.__renderDirty = true;
},
__onLimeWindowFocusIn: function($window) {
if(this.window == null || this.window != $window) {
return;
}
this.__renderDirty = true;
var event = null;
event = new (openfl_events_Event().default)("activate");
this.__broadcastEvent(event);
this.set_focus(this.__cacheFocus);
},
__onLimeWindowFocusOut: function($window) {
if(this.window == null || this.window != $window) {
return;
}
this.__primaryTouch = null;
var event = null;
event = new (openfl_events_Event().default)("deactivate");
this.__broadcastEvent(event);
var currentFocus = this.get_focus();
this.set_focus(null);
this.__cacheFocus = currentFocus;
(openfl_events_MouseEvent().default).__altKey = false;
(openfl_events_MouseEvent().default).__commandKey = false;
(openfl_events_MouseEvent().default).__ctrlKey = false;
(openfl_events_MouseEvent().default).__shiftKey = false;
},
__onLimeWindowFullscreen: function($window) {
if(this.window == null || this.window != $window) {
return;
}
this.__resize();
if(!this.__wasFullscreen) {
this.__wasFullscreen = true;
if(this.__displayState == "normal") {
this.__displayState = "fullScreenInteractive";
}
this.__dispatchEvent(new (openfl_events_FullScreenEvent().default)("fullScreen",false,false,true,true));
}
},
__onLimeWindowLeave: function($window) {
if(this.window == null || this.window != $window || (openfl_events_MouseEvent().default).__buttonDown) {
return;
}
this.__dispatchPendingMouseEvent();
var event = null;
event = new (openfl_events_Event().default)("mouseLeave");
this.__dispatchEvent(event);
},
__onLimeWindowMinimize: function($window) {
if(this.window == null || this.window != $window) {
return;
}
},
__onLimeWindowMove: function($window,x,y) {
},
__onLimeWindowResize: function($window,width,height) {
if(this.window == null || this.window != $window) {
return;
}
this.__resize();
if(this.__wasFullscreen && !$window.get_fullscreen()) {
this.__wasFullscreen = false;
this.__displayState = "normal";
this.__dispatchEvent(new (openfl_events_FullScreenEvent().default)("fullScreen",false,false,false,true));
}
},
__onLimeWindowRestore: function($window) {
if(this.window == null || this.window != $window) {
return;
}
if(this.__wasFullscreen && !$window.get_fullscreen()) {
this.__wasFullscreen = false;
this.__displayState = "normal";
this.__dispatchEvent(new (openfl_events_FullScreenEvent().default)("fullScreen",false,false,false,true));
}
},
__onMouse: function(type,x,y,button) {
if(button > 2) {
return;
}
var targetPoint = (openfl_geom_Point().default).__pool.get();
targetPoint.setTo(x,y);
this.__displayMatrix.__transformInversePoint(targetPoint);
this.__mouseX = targetPoint.x;
this.__mouseY = targetPoint.y;
var stack = [];
var target = null;
if(this.__hitTest(this.__mouseX,this.__mouseY,true,stack,true,this)) {
target = stack[stack.length - 1];
} else {
target = this;
stack = [this];
}
if(target == null) {
target = this;
}
var clickType = null;
var supportsClickCount = false;
switch(type) {
case "middleMouseDown":
this.__mouseDownMiddle = target;
supportsClickCount = true;
break;
case "middleMouseUp":
if(this.__mouseDownMiddle == target) {
clickType = "middleClick";
}
this.__mouseDownMiddle = null;
supportsClickCount = true;
break;
case "mouseDown":
if(this.get_focus() != null) {
if(this.get_focus() != target) {
var focusEvent = new (openfl_events_FocusEvent().default)("mouseFocusChange",true,true,target,false,0);
this.get_focus().dispatchEvent(focusEvent);
if(!focusEvent.isDefaultPrevented()) {
if(target.__allowMouseFocus()) {
this.set_focus(target);
} else {
this.set_focus(null);
}
}
}
} else if(target.__allowMouseFocus()) {
this.set_focus(target);
} else {
this.set_focus(null);
}
this.__mouseDownLeft = target;
if(this.__lastClickTarget != target) {
this.__lastClickTarget = null;
this.__lastClickTime = 0;
}
(openfl_events_MouseEvent().default).__buttonDown = true;
supportsClickCount = true;
break;
case "mouseUp":
if(this.__mouseDownLeft != null) {
(openfl_events_MouseEvent().default).__buttonDown = false;
if(this.__mouseDownLeft == target) {
clickType = "click";
} else {
var event = null;
event = (openfl_events_MouseEvent().default).__create("releaseOutside",1,0,this.__mouseX,this.__mouseY,new (openfl_geom_Point().default)(this.__mouseX,this.__mouseY),this);
this.__mouseDownLeft.dispatchEvent(event);
}
this.__mouseDownLeft = null;
}
supportsClickCount = true;
break;
case "rightMouseDown":
this.__mouseDownRight = target;
supportsClickCount = true;
break;
case "rightMouseUp":
if(this.__mouseDownRight == target) {
clickType = "rightClick";
}
this.__mouseDownRight = null;
supportsClickCount = true;
break;
default:
}
var localPoint = (openfl_geom_Point().default).__pool.get();
var event1 = null;
var clickCount = 0;
event1 = (openfl_events_MouseEvent().default).__create(type,button,clickCount,this.__mouseX,this.__mouseY,target.__globalToLocal(targetPoint,localPoint),target);
this.__dispatchStack(event1,stack);
if(event1.__updateAfterEventFlag) {
this.__renderAfterEvent();
}
if(clickType != null) {
event1 = (openfl_events_MouseEvent().default).__create(clickType,button,0,this.__mouseX,this.__mouseY,target.__globalToLocal(targetPoint,localPoint),target);
this.__dispatchStack(event1,stack);
if(event1.__updateAfterEventFlag) {
this.__renderAfterEvent();
}
if(type == "mouseUp") {
if(target.doubleClickEnabled) {
var currentTime = (openfl_Lib().default).getTimer();
if(currentTime - this.__lastClickTime < 500 && target == this.__lastClickTarget) {
event1 = (openfl_events_MouseEvent().default).__create("doubleClick",button,0,this.__mouseX,this.__mouseY,target.__globalToLocal(targetPoint,localPoint),target);
this.__dispatchStack(event1,stack);
if(event1.__updateAfterEventFlag) {
this.__renderAfterEvent();
}
this.__lastClickTime = 0;
this.__lastClickTarget = null;
} else {
this.__lastClickTarget = target;
this.__lastClickTime = currentTime;
}
} else {
this.__lastClickTarget = null;
this.__lastClickTime = 0;
}
}
}
if((openfl_ui_Mouse().default).__cursor == "auto" && !(openfl_ui_Mouse().default).__hidden) {
var cursor = null;
if(this.__mouseDownLeft != null) {
cursor = this.__mouseDownLeft.__getCursor();
} else {
var _g = 0;
while(_g < stack.length) {
var target1 = stack[_g];
++_g;
cursor = target1.__getCursor();
if(cursor != null && this.window != null) {
this.window.set_cursor((openfl_ui__$MouseCursor_MouseCursor_$Impl_$().default).toLimeCursor(cursor));
break;
}
}
}
if(cursor == null && this.window != null) {
this.window.set_cursor((lime_ui_MouseCursor().default).ARROW);
}
}
var event2;
if(target != this.__mouseOverTarget) {
if(this.__mouseOverTarget != null) {
event2 = (openfl_events_MouseEvent().default).__create("mouseOut",button,0,this.__mouseX,this.__mouseY,this.__mouseOverTarget.__globalToLocal(targetPoint,localPoint),this.__mouseOverTarget);
this.__dispatchStack(event2,this.__mouseOutStack);
if(event2.__updateAfterEventFlag) {
this.__renderAfterEvent();
}
}
}
var item;
var i = 0;
while(i < this.__rollOutStack.length) {
item = this.__rollOutStack[i];
if(stack.indexOf(item) == -1) {
(HxOverrides().default).remove(this.__rollOutStack,item);
event2 = (openfl_events_MouseEvent().default).__create("rollOut",button,0,this.__mouseX,this.__mouseY,this.__mouseOverTarget.__globalToLocal(targetPoint,localPoint),item);
event2.bubbles = false;
this.__dispatchTarget(item,event2);
if(event2.__updateAfterEventFlag) {
this.__renderAfterEvent();
}
} else {
++i;
}
}
var _g1 = 0;
while(_g1 < stack.length) {
var item1 = stack[_g1];
++_g1;
if(this.__rollOutStack.indexOf(item1) == -1 && this.__mouseOverTarget != null) {
if(item1.hasEventListener("rollOver")) {
event2 = (openfl_events_MouseEvent().default).__create("rollOver",button,0,this.__mouseX,this.__mouseY,this.__mouseOverTarget.__globalToLocal(targetPoint,localPoint),item1);
event2.bubbles = false;
this.__dispatchTarget(item1,event2);
if(event2.__updateAfterEventFlag) {
this.__renderAfterEvent();
}
}
if(item1.hasEventListener("rollOut") || item1.hasEventListener("rollOver")) {
this.__rollOutStack.push(item1);
}
}
}
if(target != this.__mouseOverTarget) {
if(target != null) {
event2 = (openfl_events_MouseEvent().default).__create("mouseOver",button,0,this.__mouseX,this.__mouseY,target.__globalToLocal(targetPoint,localPoint),target);
this.__dispatchStack(event2,stack);
if(event2.__updateAfterEventFlag) {
this.__renderAfterEvent();
}
}
this.__mouseOverTarget = target;
this.__mouseOutStack = stack;
}
if(this.__dragObject != null) {
this.__drag(targetPoint);
var dropTarget = null;
if(this.__mouseOverTarget == this.__dragObject) {
var cacheMouseEnabled = this.__dragObject.mouseEnabled;
var cacheMouseChildren = this.__dragObject.mouseChildren;
this.__dragObject.mouseEnabled = false;
this.__dragObject.mouseChildren = false;
var stack1 = [];
if(this.__hitTest(this.__mouseX,this.__mouseY,true,stack1,true,this)) {
dropTarget = stack1[stack1.length - 1];
}
this.__dragObject.mouseEnabled = cacheMouseEnabled;
this.__dragObject.mouseChildren = cacheMouseChildren;
} else if(this.__mouseOverTarget != this) {
dropTarget = this.__mouseOverTarget;
}
this.__dragObject.dropTarget = dropTarget;
}
(openfl_geom_Point().default).__pool.release(targetPoint);
(openfl_geom_Point().default).__pool.release(localPoint);
},
__onMouseWheel: function(deltaX,deltaY,deltaMode) {
var x = this.__mouseX;
var y = this.__mouseY;
var stack = [];
var target = null;
if(this.__hitTest(this.__mouseX,this.__mouseY,true,stack,true,this)) {
target = stack[stack.length - 1];
} else {
target = this;
stack = [this];
}
if(target == null) {
target = this;
}
var targetPoint = (openfl_geom_Point().default).__pool.get();
targetPoint.setTo(x,y);
this.__displayMatrix.__transformInversePoint(targetPoint);
var delta = (Std().default).int(deltaY);
var event = (openfl_events_MouseEvent().default).__create("mouseWheel",0,0,this.__mouseX,this.__mouseY,target.__globalToLocal(targetPoint,targetPoint),target,delta);
event.cancelable = true;
this.__dispatchStack(event,stack);
if(event.isDefaultPrevented()) {
this.window.onMouseWheel.cancel();
}
if(event.__updateAfterEventFlag) {
this.__renderAfterEvent();
}
(openfl_geom_Point().default).__pool.release(targetPoint);
},
__onTouch: function(type,touch,isPrimaryTouchPoint) {
var targetPoint = (openfl_geom_Point().default).__pool.get();