UNPKG

starling-framework

Version:

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

173 lines (157 loc) 6.42 kB
// Class: starling.utils.SystemUtil 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 $import = require("./../../import_stub").default; function HxOverrides() {return require("./../../HxOverrides");} function openfl_system_Capabilities() {return $import(require("openfl/system/Capabilities"));} function openfl_Lib() {return $import(require("openfl/Lib"));} function js__$Boot_HaxeError() {return require("./../../js/_Boot/HaxeError");} function js_Boot() {return require("./../../js/Boot");} function openfl_errors_Error() {return $import(require("openfl/errors/Error"));} function Reflect() {return require("./../../Reflect");} function haxe_Log() {return require("./../../haxe/Log");} function openfl_display3D_Context3D() {return $import(require("openfl/display3D/Context3D"));} function openfl_text_Font() {return $import(require("openfl/text/Font"));} // Constructor var SystemUtil = function(){} // Meta SystemUtil.__name__ = ["starling","utils","SystemUtil"]; SystemUtil.prototype = { }; SystemUtil.prototype.__class__ = SystemUtil.prototype.constructor = $hxClasses["starling.utils.SystemUtil"] = SystemUtil; // Init Object.defineProperties(SystemUtil,{ "isApplicationActive" : { get : function () { return SystemUtil.get_isApplicationActive (); }}, "isAIR" : { get : function () { return SystemUtil.get_isAIR (); }}, "version" : { get : function () { return SystemUtil.get_version (); }}, "platform" : { get : function () { return SystemUtil.get_platform (); }, set : function (v) { return SystemUtil.set_platform (v); }}, "supportsDepthAndStencil" : { get : function () { return SystemUtil.get_supportsDepthAndStencil (); }}, "supportsVideoTexture" : { get : function () { return SystemUtil.get_supportsVideoTexture (); }}, "isIOS" : { get : function () { return SystemUtil.get_isIOS (); }}, "isAndroid" : { get : function () { return SystemUtil.get_isAndroid (); }}, "isMac" : { get : function () { return SystemUtil.get_isMac (); }}, "isWindows" : { get : function () { return SystemUtil.get_isWindows (); }}, "isDesktop" : { get : function () { return SystemUtil.get_isDesktop (); }}}); // Statics SystemUtil.initialize = function() { if(SystemUtil.sInitialized) { return; } SystemUtil.sInitialized = true; SystemUtil.sPlatform = (HxOverrides().default).substr((openfl_system_Capabilities().default).get_version(),0,3); SystemUtil.sVersion = (HxOverrides().default).substr((openfl_system_Capabilities().default).get_version(),4,null); try { var nativeApp = (openfl_Lib().default).current; nativeApp.addEventListener("activate",SystemUtil.onActivate,false,0,true); nativeApp.addEventListener("deactivate",SystemUtil.onDeactivate,false,0,true); SystemUtil.sSupportsDepthAndStencil = true; } catch( e ) { if (e instanceof (js__$Boot_HaxeError().default)) e = e.val; if( (js_Boot().default).__instanceof(e,(openfl_errors_Error().default)) ) { SystemUtil.sAIR = false; } else throw(e); } } SystemUtil.onActivate = function(event) { SystemUtil.sApplicationActive = true; var _g = 0; var _g1 = SystemUtil.sWaitingCalls; while(_g < _g1.length) { var call = _g1[_g]; ++_g; try { (Reflect().default).callMethod(null,call[0],call[1]); } catch( e ) { if (e instanceof (js__$Boot_HaxeError().default)) e = e.val; if( (js_Boot().default).__instanceof(e,(openfl_errors_Error().default)) ) { (haxe_Log().default).trace("[Starling] Error in 'executeWhenApplicationIsActive' call: " + e.message,{ fileName : "SystemUtil.hx", lineNumber : 121, className : "starling.utils.SystemUtil", methodName : "onActivate"}); } else throw(e); } } SystemUtil.sWaitingCalls = []; } SystemUtil.onDeactivate = function(event) { SystemUtil.sApplicationActive = false; } SystemUtil.executeWhenApplicationIsActive = function(call,args) { SystemUtil.initialize(); if(args == null) { args = []; } if(SystemUtil.sApplicationActive) { (Reflect().default).callMethod(call,call,args); } else { SystemUtil.sWaitingCalls.push([call,args]); } } SystemUtil.get_isApplicationActive = function() { SystemUtil.initialize(); return SystemUtil.sApplicationActive; } SystemUtil.get_isAIR = function() { SystemUtil.initialize(); return SystemUtil.sAIR; } SystemUtil.get_version = function() { SystemUtil.initialize(); return SystemUtil.sVersion; } SystemUtil.get_platform = function() { SystemUtil.initialize(); return SystemUtil.sPlatform; } SystemUtil.set_platform = function(value) { SystemUtil.initialize(); SystemUtil.sPlatform = value; return value; } SystemUtil.get_supportsDepthAndStencil = function() { return SystemUtil.sSupportsDepthAndStencil; } SystemUtil.get_supportsVideoTexture = function() { return (openfl_display3D_Context3D().default).supportsVideoTexture; } SystemUtil.updateEmbeddedFonts = function() { SystemUtil.sEmbeddedFonts = null; } SystemUtil.isEmbeddedFont = function(fontName,bold,italic,fontType) { if(fontType == null) { fontType = "embedded"; } if(italic == null) { italic = false; } if(bold == null) { bold = false; } if(SystemUtil.sEmbeddedFonts == null) { SystemUtil.sEmbeddedFonts = (openfl_text_Font().default).enumerateFonts(false); } var _g = 0; var _g1 = SystemUtil.sEmbeddedFonts; while(_g < _g1.length) { var font = _g1[_g]; ++_g; var style = font.fontStyle; var isBold = style == "bold" || style == "boldItalic"; var isItalic = style == "italic" || style == "boldItalic"; if(fontName == font.get_fontName() && bold == isBold && italic == isItalic && fontType == font.fontType) { return true; } } return false; } SystemUtil.get_isIOS = function() { return SystemUtil.get_platform() == "IOS"; } SystemUtil.get_isAndroid = function() { return SystemUtil.get_platform() == "AND"; } SystemUtil.get_isMac = function() { return SystemUtil.get_platform() == "MAC"; } SystemUtil.get_isWindows = function() { return SystemUtil.get_platform() == "WIN"; } SystemUtil.get_isDesktop = function() { return true; } SystemUtil.sInitialized = false SystemUtil.sApplicationActive = true SystemUtil.sWaitingCalls = [] SystemUtil.sEmbeddedFonts = null SystemUtil.sSupportsDepthAndStencil = true // Export exports.default = SystemUtil;