| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 | 
							- ( function () {
 
- 	class LottieLoader extends THREE.Loader {
 
- 		setQuality( value ) {
 
- 			this._quality = value;
 
- 		}
 
- 		load( url, onLoad, onProgress, onError ) {
 
- 			const quality = this._quality || 1;
 
- 			const texture = new THREE.CanvasTexture();
 
- 			texture.minFilter = THREE.NearestFilter;
 
- 			const loader = new THREE.FileLoader( this.manager );
 
- 			loader.setPath( this.path );
 
- 			loader.setWithCredentials( this.withCredentials );
 
- 			loader.load( url, function ( text ) {
 
- 				const data = JSON.parse( text ); // bodymoving uses container.offetWidth and offsetHeight
 
- 				// to define width/height
 
- 				const container = document.createElement( 'div' );
 
- 				container.style.width = data.w + 'px';
 
- 				container.style.height = data.h + 'px';
 
- 				document.body.appendChild( container );
 
- 				const animation = bodymovin.loadAnimation( {
 
- 					container: container,
 
- 					animType: 'canvas',
 
- 					loop: true,
 
- 					autoplay: true,
 
- 					animationData: data,
 
- 					rendererSettings: {
 
- 						dpr: quality
 
- 					}
 
- 				} );
 
- 				texture.animation = animation;
 
- 				texture.image = animation.container;
 
- 				animation.addEventListener( 'enterFrame', function () {
 
- 					texture.needsUpdate = true;
 
- 				} );
 
- 				container.style.display = 'none';
 
- 				if ( onLoad !== undefined ) {
 
- 					onLoad( texture );
 
- 				}
 
- 			}, onProgress, onError );
 
- 			return texture;
 
- 		}
 
- 	}
 
- 	THREE.LottieLoader = LottieLoader;
 
- } )();
 
 
  |