ImageLoader.js 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. /**
  2. * @author mrdoob / http://mrdoob.com/
  3. */
  4. THREE.ImageLoader = function ( manager ) {
  5. this.manager = ( manager !== undefined ) ? manager : THREE.DefaultLoadingManager;
  6. };
  7. THREE.ImageLoader.prototype = {
  8. constructor: THREE.ImageLoader,
  9. load: function ( url, onLoad, onProgress, onError ) {
  10. var scope = this;
  11. var image = document.createElement( 'img' );
  12. if ( onLoad !== undefined ) {
  13. image.addEventListener( 'load', function ( event ) {
  14. scope.manager.itemEnd( url );
  15. onLoad( this );
  16. }, false );
  17. }
  18. if ( onProgress !== undefined ) {
  19. image.addEventListener( 'progress', function ( event ) {
  20. onProgress( event );
  21. }, false );
  22. }
  23. if ( onError !== undefined ) {
  24. image.addEventListener( 'error', function ( event ) {
  25. onError( event );
  26. }, false );
  27. }
  28. if ( this.crossOrigin !== undefined ) image.crossOrigin = this.crossOrigin;
  29. image.src = url;
  30. scope.manager.itemStart( url );
  31. return image;
  32. },
  33. setCrossOrigin: function ( value ) {
  34. this.crossOrigin = value;
  35. }
  36. }