User:Monster Domosed/common.js: Difference between revisionsGive feedback
Undo Tag: Undo |
No edit summary |
||
| Line 46: | Line 46: | ||
function switchQuality(viewer, icon, lqUrl, hqUrl) { | |||
const isLQ = viewer.src === lqUrl; | |||
const oldTime = viewer.currentTime; | |||
const oldAnimation = viewer.animationName; | |||
const oldOrbit = viewer.getAttribute('camera-orbit'); | |||
const oldTarget = viewer.getAttribute('camera-target'); | |||
const oldFov = viewer.getAttribute('field-of-view'); | |||
viewer.addEventListener('load', function restore() { | |||
viewer.removeEventListener('load', restore); | |||
requestAnimationFrame(function () { | |||
if (oldOrbit) { | if (oldOrbit) { | ||
viewer.setAttribute('camera-orbit', oldOrbit); | viewer.setAttribute('camera-orbit', oldOrbit); | ||
| Line 63: | Line 66: | ||
if (oldTarget) { | if (oldTarget) { | ||
viewer.setAttribute('camera-target', oldTarget); | viewer.setAttribute('camera-target', oldTarget); | ||
} | |||
if (oldFov) { | |||
viewer.setAttribute('field-of-view', oldFov); | |||
} | } | ||
| Line 76: | Line 83: | ||
viewer.play(); | viewer.play(); | ||
} | } | ||
}, { once: true }); | }); | ||
}, { once: true }); | |||
viewer.src = isLQ ? hqUrl : lqUrl; | |||
icon.src = isLQ ? HQ_ICON : LQ_ICON; | |||
} | |||