UNPKG

starling-framework

Version:

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

169 lines (153 loc) 6.25 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 $hxEnums = require("./../../hxEnums_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 Reflect() {return require("./../../Reflect");} function haxe_Log() {return require("./../../haxe/Log");} function Std() {return require("./../../Std");} 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.__isInterface__ = false; 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 ) { var e1 = ((e) instanceof (js__$Boot_HaxeError().default)) ? e.val : e; SystemUtil.sAIR = false; } } 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 ) { (haxe_Log().default).trace("[Starling] Error in 'executeWhenApplicationIsActive' call: " + (Std().default).string((((e) instanceof (js__$Boot_HaxeError().default)) ? e.val : e).message),{ fileName : "../src/starling/utils/SystemUtil.hx", lineNumber : 121, className : "starling.utils.SystemUtil", methodName : "onActivate"}); } } 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;