Просмотр исходного кода

Make use of deltaY when scrolling

This fixes the ultra-fast scrolling that was happening in Safari.
It also makes scrolling more consistent in general.
master
Fen Dweller 4 лет назад
Родитель
Сommit
9d8788b60c
1 измененных файлов: 9 добавлений и 4 удалений
  1. +9
    -4
      macrovision.js

+ 9
- 4
macrovision.js Просмотреть файл

@@ -4186,11 +4186,13 @@ document.addEventListener("DOMContentLoaded", () => {
}
}
document.querySelector("#world").addEventListener("wheel", e => {


const magnitude = Math.abs(e.deltaY / 100);
if (shiftHeld) {
if (selected) {
const dir = e.deltaY > 0 ? 10 / 11 : 11 / 10;
let dir = e.deltaY > 0 ? 10 / 11 : 11 / 10;
dir -= 1;
dir *= magnitude;
dir += 1;
const entity = entities[selected.dataset.key];
entity.views[entity.view].height = math.multiply(entity.views[entity.view].height, dir);
entity.dirty = true;
@@ -4208,7 +4210,10 @@ document.addEventListener("DOMContentLoaded", () => {
if (config.autoFit) {
toastRateLimit("Zoom is locked! Check Settings to disable.", "zoom-lock", 1000);
} else {
const dir = e.deltaY < 0 ? 10 / 11 : 11 / 10;
let dir = e.deltaY < 0 ? 10 / 11 : 11 / 10;
dir -= 1;
dir *= magnitude;
dir += 1;
const change = config.height.toNumber("meters") - math.multiply(config.height, dir).toNumber("meters");
if (!config.lockYAxis) {
config.y += change / 2;


Загрузка…
Отмена
Сохранить