re-enable mouse-wheel slider movements

This commit is contained in:
Stewart Allen 2020-06-14 19:13:46 -04:00
commit 5b4f7d93aa
3 changed files with 28 additions and 7 deletions

View file

@ -1,3 +1,4 @@
/** Copyright Stewart Allen <sa@grid.space> -- All Rights Reserved */
"use strict";
@ -1103,10 +1104,25 @@
SPACE.showSkyGrid(false);
SPACE.setSkyColor(dark ? 0 : 0xffffff);
SPACE.init(container, function (delta) {
if (API.var.layer_max === 0) return;
if (API.var.layer_max === 0 || !delta) return;
if (settings().controller.reverseZoom) delta = -delta;
if (delta > 0) API.var.layer_at--;
else if (delta < 0) API.var.layer_at++;
let same = API.var.layer_hi === API.var.layer_lo;
let track = API.var.layer_lo > 0;
if (delta > 0) {
API.var.layer_hi = Math.max(same ? 0 : API.var.layer_lo, API.var.layer_hi - 1);
if (track) {
API.var.layer_lo = Math.max(0, API.var.layer_lo - 1);
}
} else if (delta < 0) {
API.var.layer_hi = Math.min(API.var.layer_max, API.var.layer_hi + 1);
if (track) {
API.var.layer_lo = Math.min(API.var.layer_hi, API.var.layer_lo + 1);
}
}
if (same) {
API.var.layer_lo = API.var.layer_hi;
}
API.view.update_slider();
API.show.slices();
});
SPACE.platform.onMove(API.conf.save);

View file

@ -409,6 +409,8 @@ MOTO.CTRL = function (object, domElement, notify, slider) {
return;
}
slider(null);
let delta = -(event.deltaY || event.wheelDelta || event.detail || 0);
if (delta === 0) return;

View file

@ -715,7 +715,10 @@
clearTimeout(platformMoveTimer);
platformMoveTimer = setTimeout(platformOnMove, 500);
}
}, slider);
}, (val) => {
updateLastAction();
slider(val);
});
viewControl.noKeys = true;
viewControl.maxDistance = 1000;
@ -770,8 +773,8 @@
'mouseup', onMouseUp,
'keypress', keyHandler,
// dup with touch but need to observe here
'DOMMouseScroll', updateLastAction,
'mousewheel', updateLastAction,
// 'DOMMouseScroll', updateLastAction,
// 'mousewheel', updateLastAction,
'touchstart', updateLastAction,
'touchmove', updateLastAction,
'touchend', updateLastAction
@ -781,7 +784,7 @@
function animate() {
requestAnimationFrame(animate);
if (docVisible && !freeze && Date.now() - lastAction < 2000) {
if (docVisible && !freeze && Date.now() - lastAction < 1500) {
renderer.render(SCENE, camera);
}
}