User:Monster Domosed/common.js: Difference between revisionsGive feedback
No edit summary |
No edit summary |
||
| Line 46: | Line 46: | ||
function switchQuality(viewer, icon, lqUrl, hqUrl) { | |||
const isLQ = viewer.src === lqUrl; | |||
const cameraOrbit = viewer.getCameraOrbit(); | |||
const cameraTarget = viewer.getCameraTarget(); | |||
const fieldOfView = viewer.getFieldOfView(); | |||
const animationName = viewer.animationName; | |||
const currentTime = viewer.currentTime; | |||
viewer.addEventListener('load', function restore() { | |||
viewer.removeEventListener('load', restore); | |||
requestAnimationFrame(function () { | |||
viewer.cameraOrbit = cameraOrbit; | |||
viewer.cameraTarget = cameraTarget; | |||
viewer.fieldOfView = fieldOfView; | |||
if (animationName) { | |||
viewer.animationName = animationName; | |||
} | |||
if (typeof currentTime === 'number') { | |||
viewer.currentTime = currentTime; | |||
} | |||
if (viewer.hasAttribute('autoplay')) { | |||
viewer.play(); | |||
} | |||
}); | |||
}, { once: true }); | |||
viewer.src = isLQ ? hqUrl : lqUrl; | |||
icon.src = isLQ ? HQ_ICON : LQ_ICON; | |||
} | |||