UNPKG

starling-framework

Version:

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

56 lines (51 loc) 2.7 kB
// ================================================================================================= // // Starling Framework // Copyright Gamua GmbH. All Rights Reserved. // // This program is free software. You can redistribute and/or modify it // in accordance with the terms of the accompanying license agreement. // // ================================================================================================= import ByteArray from "openfl/utils/ByteArray"; declare namespace starling.assets { /** Loads binary data from a local or remote URL with a very simple callback system. * * <p>The DataLoader is used by the AssetManager to load any local or remote data. * Its single purpose is to get the binary data that's stored at a specific URL.</p> * * <p>You can use this class for your own purposes (as an easier to use 'URLLoader' * alternative), or you can extend the class to modify the AssetManager's behavior. * E.g. you could extend this class to add a caching mechanism for remote assets. * Assign an instance of your extended class to the AssetManager's <code>dataLoader</code> * property.</p> */ export class DataLoader { /** Creates a new DataLoader instance. */ public constructor(); /** Loads the binary data from a specific URL. Always supply both 'onComplete' and * 'onError' parameters; in case of an error, only the latter will be called. * * <p>The 'onComplete' callback may have up to four parameters, all of them being optional. * If you pass a callback that just takes zero or one, it will work just as well. The * additional parameters may be used to describe the name and type of the downloaded * data. They are not provided by the base class, but the AssetManager will check * if they are available.</p> * * @param url a String containing an URL. * @param onComplete will be called when the data has been loaded. * <code>function(data:ByteArray, mimeType:string, name:string, extension:string):void</code> * @param onError will be called in case of an error. The 2nd parameter is optional. * <code>function(error:string, httpStatus:number):void</code> * @param onProgress will be called multiple times with the current load ratio (0-1). * <code>function(ratio:Number):void</code> */ public load(url:string, onComplete:(data?:ByteArray, mimeType?:string, name?:string, extension?:string)=>void, onError:(string)=>void, onProgress?:(number)=>void):void; /** Aborts all current load operations. The loader can still be used, though. */ public close():void; } } export default starling.assets.DataLoader;