File: //var/www/aspa/three/renderers/webgl/WebGLAnimation.js
function WebGLAnimation() {
	let context = null;
	let isAnimating = false;
	let animationLoop = null;
	let requestId = null;
	function onAnimationFrame( time, frame ) {
		animationLoop( time, frame );
		requestId = context.requestAnimationFrame( onAnimationFrame );
	}
	return {
		start: function () {
			if ( isAnimating === true ) return;
			if ( animationLoop === null ) return;
			requestId = context.requestAnimationFrame( onAnimationFrame );
			isAnimating = true;
		},
		stop: function () {
			context.cancelAnimationFrame( requestId );
			isAnimating = false;
		},
		setAnimationLoop: function ( callback ) {
			animationLoop = callback;
		},
		setContext: function ( value ) {
			context = value;
		}
	};
}
export { WebGLAnimation };