Newer
Older
pixi.js / src / core / textures / resources / createResource.js
@Mat Groves Mat Groves on 22 May 2017 1 KB Lint lint lint
import ImageResource from './ImageResource';
import SVGResource from './SVGResource';
import CanvasResource from './CanvasResource';
import VideoResource from './VideoResource';

export default function createResource(source)
{
    if (typeof source === 'string')
    {
        // check if its a video..
        if (source.match(/\.(mp4|webm|ogg|h264|avi|mov)$/))
        {
            return new VideoResource.fromUrl(source);
            // video!
            // return Texture.fromVideoUrl(source);
            // return SVGResource.from(url);
        }
        else if (source.match(/\.(svg)$/))
        {
            // SVG
            return SVGResource.from(source);
        }

            // probably an image!
        return ImageResource.from(source);
    }
    else if (source instanceof HTMLImageElement)
    {
        return new ImageResource(source);
    }
    else if (source instanceof HTMLCanvasElement)
    {
        return new CanvasResource(source);
    }
    else if (source instanceof HTMLVideoElement)
    {
        return new VideoResource(source);
    }

    return source;
}