UNPKG

openfl

Version:

A fast, productive library for 2D cross-platform development.

367 lines (350 loc) 12 kB
// Class: lime.app.Application 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_Module() {return require("./../../lime/app/Module");} function HxOverrides() {return require("./../../HxOverrides");} function lime_ui_Window() {return require("./../../lime/ui/Window");} function lime_ui_Gamepad() {return require("./../../lime/ui/Gamepad");} function lime_ui_Joystick() {return require("./../../lime/ui/Joystick");} function lime_ui_Touch() {return require("./../../lime/ui/Touch");} function lime_system_System() {return require("./../../lime/system/System");} function lime_app__$Event_$lime_$ui_$Window_$Void() {return require("./../../lime/app/_Event_lime_ui_Window_Void");} function lime_app__$Event_$Int_$Void() {return require("./../../lime/app/_Event_Int_Void");} function haxe_ds_StringMap() {return require("./../../haxe/ds/StringMap");} function haxe_ds_IntMap() {return require("./../../haxe/ds/IntMap");} function lime__$internal_backend_html5_HTML5Application() {return require("./../../lime/_internal/backend/html5/HTML5Application");} function lime_utils_Preloader() {return require("./../../lime/utils/Preloader");} // Constructor var Application = function() { this.onCreateWindow = new (lime_app__$Event_$lime_$ui_$Window_$Void().default)(); this.onUpdate = new (lime_app__$Event_$Int_$Void().default)(); (lime_app_Module().default).call(this); if(Application.current == null) { Application.current = this; } this.meta = new (haxe_ds_StringMap().default)(); this.modules = []; this.__windowByID = new (haxe_ds_IntMap().default)(); this.__windows = []; this.__backend = new (lime__$internal_backend_html5_HTML5Application().default)(this); this.__registerLimeModule(this); this.__preloader = new (lime_utils_Preloader().default)(); this.__preloader.onProgress.add($bind(this,this.onPreloadProgress)); this.__preloader.onComplete.add($bind(this,this.onPreloadComplete)); } // Meta Application.__name__ = "lime.app.Application"; Application.__isInterface__ = false; Application.__super__ = (lime_app_Module().default); Application.prototype = $extend((lime_app_Module().default).prototype, { addModule: function(module) { module.__registerLimeModule(this); this.modules.push(module); }, createWindow: function(attributes) { var $window = this.__createWindow(attributes); this.__addWindow($window); return $window; }, exec: function() { Application.current = this; return this.__backend.exec(); }, onGamepadAxisMove: function(gamepad,axis,value) { }, onGamepadButtonDown: function(gamepad,button) { }, onGamepadButtonUp: function(gamepad,button) { }, onGamepadConnect: function(gamepad) { }, onGamepadDisconnect: function(gamepad) { }, onJoystickAxisMove: function(joystick,axis,value) { }, onJoystickButtonDown: function(joystick,button) { }, onJoystickButtonUp: function(joystick,button) { }, onJoystickConnect: function(joystick) { }, onJoystickDisconnect: function(joystick) { }, onJoystickHatMove: function(joystick,hat,position) { }, onKeyDown: function(keyCode,modifier) { }, onKeyUp: function(keyCode,modifier) { }, onModuleExit: function(code) { }, onMouseDown: function(x,y,button) { }, onMouseMove: function(x,y) { }, onMouseMoveRelative: function(x,y) { }, onMouseUp: function(x,y,button) { }, onMouseWheel: function(deltaX,deltaY,deltaMode) { }, onPreloadComplete: function() { }, onPreloadProgress: function(loaded,total) { }, onRenderContextLost: function() { }, onRenderContextRestored: function(context) { }, onTextEdit: function(text,start,length) { }, onTextInput: function(text) { }, onTouchCancel: function(touch) { }, onTouchEnd: function(touch) { }, onTouchMove: function(touch) { }, onTouchStart: function(touch) { }, onWindowActivate: function() { }, onWindowClose: function() { }, onWindowCreate: function() { }, onWindowDeactivate: function() { }, onWindowDropFile: function(file) { }, onWindowEnter: function() { }, onWindowExpose: function() { }, onWindowFocusIn: function() { }, onWindowFocusOut: function() { }, onWindowFullscreen: function() { }, onWindowLeave: function() { }, onWindowMove: function(x,y) { }, onWindowMinimize: function() { }, onWindowResize: function(width,height) { }, onWindowRestore: function() { }, removeModule: function(module) { if(module != null) { module.__unregisterLimeModule(this); (HxOverrides().default).remove(this.modules,module); } }, render: function(context) { }, update: function(deltaTime) { }, __addWindow: function($window) { if($window != null) { this.__windows.push($window); this.__windowByID.set($window.id,$window); var f = $bind(this,this.__onWindowClose); var window1 = $window; var tmp = function() { f(window1); }; $window.onClose.add(tmp,false,-10000); if(this.__window == null) { this.__window = $window; $window.onActivate.add($bind(this,this.onWindowActivate)); $window.onRenderContextLost.add($bind(this,this.onRenderContextLost)); $window.onRenderContextRestored.add($bind(this,this.onRenderContextRestored)); $window.onDeactivate.add($bind(this,this.onWindowDeactivate)); $window.onDropFile.add($bind(this,this.onWindowDropFile)); $window.onEnter.add($bind(this,this.onWindowEnter)); $window.onExpose.add($bind(this,this.onWindowExpose)); $window.onFocusIn.add($bind(this,this.onWindowFocusIn)); $window.onFocusOut.add($bind(this,this.onWindowFocusOut)); $window.onFullscreen.add($bind(this,this.onWindowFullscreen)); $window.onKeyDown.add($bind(this,this.onKeyDown)); $window.onKeyUp.add($bind(this,this.onKeyUp)); $window.onLeave.add($bind(this,this.onWindowLeave)); $window.onMinimize.add($bind(this,this.onWindowMinimize)); $window.onMouseDown.add($bind(this,this.onMouseDown)); $window.onMouseMove.add($bind(this,this.onMouseMove)); $window.onMouseMoveRelative.add($bind(this,this.onMouseMoveRelative)); $window.onMouseUp.add($bind(this,this.onMouseUp)); $window.onMouseWheel.add($bind(this,this.onMouseWheel)); $window.onMove.add($bind(this,this.onWindowMove)); $window.onRender.add($bind(this,this.render)); $window.onResize.add($bind(this,this.onWindowResize)); $window.onRestore.add($bind(this,this.onWindowRestore)); $window.onTextEdit.add($bind(this,this.onTextEdit)); $window.onTextInput.add($bind(this,this.onTextInput)); this.onWindowCreate(); } this.onCreateWindow.dispatch($window); } }, __createWindow: function(attributes) { var $window = new (lime_ui_Window().default)(this,attributes); if($window.id == -1) { return null; } return $window; }, __registerLimeModule: function(application) { application.onUpdate.add($bind(this,this.update)); application.onExit.add($bind(this,this.onModuleExit),false,0); application.onExit.add($bind(this,this.__onModuleExit),false,-1000); var gamepad = (lime_ui_Gamepad().default).devices.iterator(); while(gamepad.hasNext()) { var gamepad1 = gamepad.next(); this.__onGamepadConnect(gamepad1); } (lime_ui_Gamepad().default).onConnect.add($bind(this,this.__onGamepadConnect)); var joystick = (lime_ui_Joystick().default).devices.iterator(); while(joystick.hasNext()) { var joystick1 = joystick.next(); this.__onJoystickConnect(joystick1); } (lime_ui_Joystick().default).onConnect.add($bind(this,this.__onJoystickConnect)); (lime_ui_Touch().default).onCancel.add($bind(this,this.onTouchCancel)); (lime_ui_Touch().default).onStart.add($bind(this,this.onTouchStart)); (lime_ui_Touch().default).onMove.add($bind(this,this.onTouchMove)); (lime_ui_Touch().default).onEnd.add($bind(this,this.onTouchEnd)); }, __removeWindow: function($window) { if($window != null && this.__windowByID.exists($window.id)) { if(this.__window == $window) { this.__window = null; } (HxOverrides().default).remove(this.__windows,$window); this.__windowByID.remove($window.id); $window.close(); this.__checkForAllWindowsClosed(); } }, __checkForAllWindowsClosed: function() { if(this.__windows.length == 0) { (lime_system_System().default).exit(0); } }, __onGamepadConnect: function(gamepad) { this.onGamepadConnect(gamepad); var f = $bind(this,this.onGamepadAxisMove); var gamepad1 = gamepad; var tmp = function(axis,value) { f(gamepad1,axis,value); }; gamepad.onAxisMove.add(tmp); var f1 = $bind(this,this.onGamepadButtonDown); var gamepad2 = gamepad; var tmp1 = function(button) { f1(gamepad2,button); }; gamepad.onButtonDown.add(tmp1); var f2 = $bind(this,this.onGamepadButtonUp); var gamepad3 = gamepad; var tmp2 = function(button1) { f2(gamepad3,button1); }; gamepad.onButtonUp.add(tmp2); var f3 = $bind(this,this.onGamepadDisconnect); var gamepad4 = gamepad; var tmp3 = function() { f3(gamepad4); }; gamepad.onDisconnect.add(tmp3); }, __onJoystickConnect: function(joystick) { this.onJoystickConnect(joystick); var f = $bind(this,this.onJoystickAxisMove); var joystick1 = joystick; var tmp = function(axis,value) { f(joystick1,axis,value); }; joystick.onAxisMove.add(tmp); var f1 = $bind(this,this.onJoystickButtonDown); var joystick2 = joystick; var tmp1 = function(button) { f1(joystick2,button); }; joystick.onButtonDown.add(tmp1); var f2 = $bind(this,this.onJoystickButtonUp); var joystick3 = joystick; var tmp2 = function(button1) { f2(joystick3,button1); }; joystick.onButtonUp.add(tmp2); var f3 = $bind(this,this.onJoystickDisconnect); var joystick4 = joystick; var tmp3 = function() { f3(joystick4); }; joystick.onDisconnect.add(tmp3); var f4 = $bind(this,this.onJoystickHatMove); var joystick5 = joystick; var tmp4 = function(hat,position) { f4(joystick5,hat,position); }; joystick.onHatMove.add(tmp4); }, __onModuleExit: function(code) { if(this.onExit.canceled) { return; } this.__unregisterLimeModule(this); this.__backend.exit(); if(Application.current == this) { Application.current = null; } }, __onWindowClose: function($window) { if(this.get_window() == $window) { this.onWindowClose(); } this.__removeWindow($window); }, __unregisterLimeModule: function(application) { application.onUpdate.remove($bind(this,this.update)); application.onExit.remove($bind(this,this.__onModuleExit)); application.onExit.remove($bind(this,this.onModuleExit)); (lime_ui_Gamepad().default).onConnect.remove($bind(this,this.__onGamepadConnect)); (lime_ui_Joystick().default).onConnect.remove($bind(this,this.__onJoystickConnect)); (lime_ui_Touch().default).onCancel.remove($bind(this,this.onTouchCancel)); (lime_ui_Touch().default).onStart.remove($bind(this,this.onTouchStart)); (lime_ui_Touch().default).onMove.remove($bind(this,this.onTouchMove)); (lime_ui_Touch().default).onEnd.remove($bind(this,this.onTouchEnd)); }, get_preloader: function() { return this.__preloader; }, get_window: function() { return this.__window; }, get_windows: function() { return this.__windows; } }); Application.prototype.__class__ = Application.prototype.constructor = $hxClasses["lime.app.Application"] = Application; // Init { var _init = (lime__$internal_backend_html5_HTML5Application().default) var p = Application.prototype; Object.defineProperties(p,{ preloader : { get : p.get_preloader}, window : { get : p.get_window}, windows : { get : p.get_windows}}); }; // Statics // Export exports.default = Application;