starling-framework
Version:
A fast, productive library for 2D cross-platform development.
169 lines (153 loc) • 6.25 kB
JavaScript
// 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;