Newer
Older
pixi.js / src / core / textures / resources / ImageResource.js
@Mat Groves Mat Groves on 3 Apr 2017 1 KB Bunch o fixes
import determineCrossOrigin from '../../utils/determineCrossOrigin';
import TextureResource from './TextureResource';

export default class ImageResource extends TextureResource
{
    constructor(source)
    {
        super(source);

        this.load = new Promise((resolve, reject) => {

            const source = this.source;

            source.onload = () => {
                this.loaded = true;
                source.onload = null;
                source.onerror = null;
                this.width = source.width;
                this.height = source.height;
                resolve(this);

            }


            if(source.complete && source.src)
            {
                this.loaded = true;
                source.onload = null;
                source.onerror = null;
                this.width = source.width;
                this.height = source.height;
                console.log("image")
                resolve(this);
            }

        //    source.onerror = () => {
          //      reject('unable to load "' + source.src + '" resource cannot be found')
            //}
        })
    }

    destroy()
    {
        this.source.src = '';
    }

    static from(url, crossorigin)
    {
        var image = new Image();

        if (crossorigin === undefined && url.indexOf('data:') !== 0)
        {
            image.crossOrigin = determineCrossOrigin(url);
        }

        image.src = url;
        return new ImageResource(image);
    }


}