ImageLoader.js 1.0 KB
Newer Older
M
Mr.doob 已提交
1 2 3 4
/**
 * @author mrdoob / http://mrdoob.com/
 */

M
Mr.doob 已提交
5
THREE.ImageLoader = function ( manager ) {
M
Mr.doob 已提交
6

M
Mr.doob 已提交
7
	this.manager = ( manager !== undefined ) ? manager : THREE.DefaultLoadingManager;
M
Mr.doob 已提交
8

9 10
};

M
Mr.doob 已提交
11
THREE.ImageLoader.prototype = {
M
Mr.doob 已提交
12

M
Mr.doob 已提交
13
	constructor: THREE.ImageLoader,
14

15
	load: function ( url, onLoad, onProgress, onError ) {
16

M
Mr.doob 已提交
17
		var scope = this;
18
		var image = document.createElement( 'img' );
M
Mr.doob 已提交
19

20
		if ( onLoad !== undefined ) {
21

22
			image.addEventListener( 'load', function ( event ) {
M
Mr.doob 已提交
23

M
Mr.doob 已提交
24
				scope.manager.itemEnd( url );
25
				onLoad( this );
M
Mr.doob 已提交
26

27
			}, false );
M
Mr.doob 已提交
28

29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
		}

		if ( onProgress !== undefined ) {

			image.addEventListener( 'progress', function ( event ) {

				onProgress( event );

			}, false );

		}

		if ( onError !== undefined ) {

			image.addEventListener( 'error', function ( event ) {

				onError( event );

			}, false );

		}

		if ( this.crossOrigin !== undefined ) image.crossOrigin = this.crossOrigin;

		image.src = url;

M
Mr.doob 已提交
55 56
		scope.manager.itemStart( url );

M
Mr.doob 已提交
57 58 59 60 61
	},

	setCrossOrigin: function ( value ) {

		this.crossOrigin = value;
M
Mr.doob 已提交
62 63

	}
M
Mr.doob 已提交
64

M
Mr.doob 已提交
65
}