src/js/pannellum.js
function onImageLoad() {
    if (!renderer)
        renderer = new libpannellum.renderer(renderContainer);

    // Only add event listeners once
    if (!listenersAdded) {
        listenersAdded = true;
        dragFix.addEventListener('mousedown', onDocumentMouseDown, false);
        document.addEventListener('mousemove', onDocumentMouseMove, false);
        document.addEventListener('mouseup', onDocumentMouseUp, false);
        if (config.mouseZoom) {
            uiContainer.addEventListener('mousewheel', onDocumentMouseWheel, false);
            uiContainer.addEventListener('DOMMouseScroll', onDocumentMouseWheel, false);
        }
        if (config.doubleClickZoom) {
            dragFix.addEventListener('dblclick', onDocumentDoubleClick, false);
        }
        container.addEventListener('mozfullscreenchange', onFullScreenChange, false);
        container.addEventListener('webkitfullscreenchange', onFullScreenChange, false);
        container.addEventListener('msfullscreenchange', onFullScreenChange, false);
        container.addEventListener('fullscreenchange', onFullScreenChange, false);
        window.addEventListener('resize', onDocumentResize, false);
        window.addEventListener('orientationchange', onDocumentResize, false);
        if (!config.disableKeyboardCtrl) {
            container.addEventListener('keydown', onDocumentKeyPress, false);
            container.addEventListener('keyup', onDocumentKeyUp, false);
            container.addEventListener('blur', clearKeys, false);
        }
        document.addEventListener('mouseleave', onDocumentMouseUp, false);
        if (document.documentElement.style.pointerAction === '' &&
            document.documentElement.style.touchAction === '') {
            dragFix.addEventListener('pointerdown', onDocumentPointerDown, false);
            dragFix.addEventListener('pointermove', onDocumentPointerMove, false);
            dragFix.addEventListener('pointerup', onDocumentPointerUp, false);
            dragFix.addEventListener('pointerleave', onDocumentPointerUp, false);
        } else {
            dragFix.addEventListener('touchstart', onDocumentTouchStart, false);
            dragFix.addEventListener('touchmove', onDocumentTouchMove, false);
            dragFix.addEventListener('touchend', onDocumentTouchEnd, false);
        }

        // Deal with MS pointer events
        if (window.navigator.pointerEnabled)
            container.style.touchAction = 'none';
    }

    renderInit();
    setHfov(config.hfov); // possibly adapt hfov after configuration and canvas is complete; prevents empty space on top or bottom by zomming out too much
    setTimeout(function(){isTimedOut = true;}, 500);
}
function onImageLoad() {
    if (!renderer)
        renderer = new libpannellum.renderer(renderContainer);

    // Only add event listeners once
    if (!listenersAdded) {
        listenersAdded = true;
        dragFix.addEventListener('mousedown', onDocumentMouseDown, false);
        document.addEventListener('mousemove', onDocumentMouseMove, false);
        document.addEventListener('mouseup', onDocumentMouseUp, false);
        if (config.mouseZoom) {
            uiContainer.addEventListener('mousewheel', onDocumentMouseWheel, false);
            uiContainer.addEventListener('DOMMouseScroll', onDocumentMouseWheel, false);
        }
        if (config.doubleClickZoom) {
            dragFix.addEventListener('dblclick', onDocumentDoubleClick, false);
        }
        container.addEventListener('mozfullscreenchange', onFullScreenChange, false);
        container.addEventListener('webkitfullscreenchange', onFullScreenChange, false);
        container.addEventListener('msfullscreenchange', onFullScreenChange, false);
        container.addEventListener('fullscreenchange', onFullScreenChange, false);
        window.addEventListener('resize', onDocumentResize, false);
        window.addEventListener('orientationchange', onDocumentResize, false);
        if (!config.disableKeyboardCtrl) {
            container.addEventListener('keydown', onDocumentKeyPress, false);
            container.addEventListener('keyup', onDocumentKeyUp, false);
            container.addEventListener('blur', clearKeys, false);
        }
        document.addEventListener('mouseleave', onDocumentMouseUp, false);
        if (document.documentElement.style.pointerAction === '' &&
            document.documentElement.style.touchAction === '') {
            dragFix.addEventListener('pointerdown', onDocumentPointerDown, false);
            dragFix.addEventListener('pointermove', onDocumentPointerMove, false);
            dragFix.addEventListener('pointerup', onDocumentPointerUp, false);
            dragFix.addEventListener('pointerleave', onDocumentPointerUp, false);
        } else {
            dragFix.addEventListener('touchstart', onDocumentTouchStart, false);
            dragFix.addEventListener('touchmove', onDocumentTouchMove, false);
            dragFix.addEventListener('touchend', onDocumentTouchEnd, false);
        }

        // Deal with MS pointer events
        if (window.navigator.pointerEnabled)
            container.style.touchAction = 'none';
    }

    renderInit();
    setHfov(config.hfov); // possibly adapt hfov after configuration and canvas is complete; prevents empty space on top or bottom by zomming out too much
    setTimeout(function(){isTimedOut = true;}, 500);
}
function onImageLoad ( ) { if ( ! renderer ) renderer = new libpannellum . renderer ( renderContainer ) ; // Only add event listeners once if ( ! listenersAdded ) { listenersAdded = true ; dragFix . addEventListener ( 'mousedown' , onDocumentMouseDown , false ) ; document . addEventListener ( 'mousemove' , onDocumentMouseMove , false ) ; document . addEventListener ( 'mouseup' , onDocumentMouseUp , false ) ; if ( config . mouseZoom ) { uiContainer . addEventListener ( 'mousewheel' , onDocumentMouseWheel , false ) ; uiContainer . addEventListener ( 'DOMMouseScroll' , onDocumentMouseWheel , false ) ; } if ( config . doubleClickZoom ) { dragFix . addEventListener ( 'dblclick' , onDocumentDoubleClick , false ) ; } container . addEventListener ( 'mozfullscreenchange' , onFullScreenChange , false ) ; container . addEventListener ( 'webkitfullscreenchange' , onFullScreenChange , false ) ; container . addEventListener ( 'msfullscreenchange' , onFullScreenChange , false ) ; container . addEventListener ( 'fullscreenchange' , onFullScreenChange , false ) ; window . addEventListener ( 'resize' , onDocumentResize , false ) ; window . addEventListener ( 'orientationchange' , onDocumentResize , false ) ; if ( ! config . disableKeyboardCtrl ) { container . addEventListener ( 'keydown' , onDocumentKeyPress , false ) ; container . addEventListener ( 'keyup' , onDocumentKeyUp , false ) ; container . addEventListener ( 'blur' , clearKeys , false ) ; } document . addEventListener ( 'mouseleave' , onDocumentMouseUp , false ) ; if ( document . documentElement . style . pointerAction === '' && document . documentElement . style . touchAction === '' ) { dragFix . addEventListener ( 'pointerdown' , onDocumentPointerDown , false ) ; dragFix . addEventListener ( 'pointermove' , onDocumentPointerMove , false ) ; dragFix . addEventListener ( 'pointerup' , onDocumentPointerUp , false ) ; dragFix . addEventListener ( 'pointerleave' , onDocumentPointerUp , false ) ; } else { dragFix . addEventListener ( 'touchstart' , onDocumentTouchStart , false ) ; dragFix . addEventListener ( 'touchmove' , onDocumentTouchMove , false ) ; dragFix . addEventListener ( 'touchend' , onDocumentTouchEnd , false ) ; } // Deal with MS pointer events if ( window . navigator . pointerEnabled ) container . style . touchAction = 'none' ; } renderInit ( ) ; setHfov ( config . hfov ) ; // possibly adapt hfov after configuration and canvas is complete; prevents empty space on top or bottom by zomming out too much setTimeout ( function ( ) { isTimedOut = true ; } , 500 ) ; }
Create renderer and initialize event listeners once image is loaded.
@private
Create renderer and initialize event listeners once image is loaded .