UNPKG

starling-framework

Version:

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

98 lines (80 loc) 3.52 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 $hxEnums = require("./../../hxEnums_stub").default; var $import = require("./../../import_stub").default; var $extend = require("./../../extend_stub").default; function starling_assets_AssetFactory() {return require("./../../starling/assets/AssetFactory");} function openfl_utils_ByteArray() {return $import(require("openfl/utils/ByteArray"));} function starling_textures_AtfData() {return require("./../../starling/textures/AtfData");} function starling_utils_Execute() {return require("./../../starling/utils/Execute");} function starling_textures_Texture() {return require("./../../starling/textures/Texture");} function js__$Boot_HaxeError() {return require("./../../js/_Boot/HaxeError");} function Std() {return require("./../../Std");} // Constructor var AtfTextureFactory = function() { (starling_assets_AssetFactory().default).call(this); this.addExtensions(["atf"]); } // Meta AtfTextureFactory.__name__ = "starling.assets.AtfTextureFactory"; AtfTextureFactory.__isInterface__ = false; AtfTextureFactory.__super__ = (starling_assets_AssetFactory().default); AtfTextureFactory.prototype = $extend((starling_assets_AssetFactory().default).prototype, { canHandle: function(reference) { if(((reference.get_data()) instanceof (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; var onReady = reference.get_textureOptions().get_onReady(); reference.get_textureOptions().set_onReady(function(_) { (starling_utils_Execute().default).execute(onReady,[texture]); var createTexture1 = reference.get_name(); onComplete(createTexture1,texture); }); var url = reference.get_url(); try { texture = (starling_textures_Texture().default).fromData(reference.get_data(),reference.get_textureOptions()); } catch( e ) { onError(((e) instanceof (js__$Boot_HaxeError().default)) ? e.val : e); } if(url != null && texture != null) { texture.get_root().set_onRestore(function(_1) { helper.onBeginRestore(); helper.loadDataFromUrl(url,function(data,mimeType,name,extension) { helper.executeWhenContextReady(function() { try { texture.get_root().uploadAtfData(data); } catch( e1 ) { helper.log("Texture restoration failed: " + (Std().default).string(((e1) instanceof (js__$Boot_HaxeError().default)) ? e1.val : 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;