UNPKG

starling-framework

Version:

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

96 lines (78 loc) 3.26 kB
// Class: starling.assets.AtfTextureFactory 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; var $extend = require("./../../extend_stub").default; function starling_assets_AssetFactory() {return require("./../../starling/assets/AssetFactory");} function Std() {return require("./../../Std");} function openfl_utils_ByteArray() {return $import(require("openfl/utils/ByteArray"));} function starling_textures_AtfData() {return require("./../../starling/textures/AtfData");} function starling_textures_Texture() {return require("./../../starling/textures/Texture");} function js__$Boot_HaxeError() {return require("./../../js/_Boot/HaxeError");} // Constructor var AtfTextureFactory = function() { (starling_assets_AssetFactory().default).call(this); this.addExtensions(["atf"]); } // Meta AtfTextureFactory.__name__ = ["starling","assets","AtfTextureFactory"]; AtfTextureFactory.__super__ = (starling_assets_AssetFactory().default); AtfTextureFactory.prototype = $extend((starling_assets_AssetFactory().default).prototype, { canHandle: function(reference) { if((Std().default)["is"](reference.get_data(),(openfl_utils_ByteArray().default))) { return (starling_textures_AtfData().default).isAtfData(reference.get_data()); } else { return false; } }, create: function(reference,helper,onComplete,onError) { var onReloadError = null; var createTexture = null; onReloadError = function(error) { var onReloadError1 = "Texture restoration failed for " + reference.get_url() + ". " + error; helper.log(onReloadError1); helper.onEndRestore(); }; createTexture = function() { var texture = null; reference.get_textureOptions().set_onReady(function(_) { var createTexture1 = reference.get_name(); onComplete(createTexture1,texture); }); var texture1 = null; var url = reference.get_url(); try { texture1 = (starling_textures_Texture().default).fromData(reference.get_data(),reference.get_textureOptions()); } catch( e ) { if (e instanceof (js__$Boot_HaxeError().default)) e = e.val; onError(e); } if(url != null && texture1 != null) { texture1.get_root().set_onRestore(function(_1) { helper.onBeginRestore(); helper.loadDataFromUrl(url,function(data,mimeType,name,extension) { helper.executeWhenContextReady(function() { try { texture1.get_root().uploadAtfData(data); } catch( e1 ) { if (e1 instanceof (js__$Boot_HaxeError().default)) e1 = e1.val; helper.log("Texture restoration failed: " + (Std().default).string(e1)); } helper.onEndRestore(); }); },onReloadError); }); } reference.set_data(null); }; helper.executeWhenContextReady(createTexture); } }); AtfTextureFactory.prototype.__class__ = AtfTextureFactory.prototype.constructor = $hxClasses["starling.assets.AtfTextureFactory"] = AtfTextureFactory; // Init // Statics // Export exports.default = AtfTextureFactory;