Make zoom in and zoom out equal (#704)

* Make zoom in and zoom out equal

Makes zooming out zoom an amount equal to zooming in.

* format things better

* Made zoom keys also equal

Made zoom out equal to zoom in

* Actually made arrow keys equal

hope this actually works
This commit is contained in:
EmeraldBlock 2020-09-29 09:48:41 -05:00 committed by GitHub
parent 5a3807883e
commit 7f6c1187b8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 4 additions and 3 deletions

View File

@ -353,7 +353,7 @@ export class Camera extends BasicSerializableObject {
.add(() => (this.desiredZoom = this.zoomLevel * 1.2)); .add(() => (this.desiredZoom = this.zoomLevel * 1.2));
mapper mapper
.getBinding(KEYMAPPINGS.navigation.mapZoomOut) .getBinding(KEYMAPPINGS.navigation.mapZoomOut)
.add(() => (this.desiredZoom = this.zoomLevel * 0.8)); .add(() => (this.desiredZoom = this.zoomLevel / 1.2));
mapper.getBinding(KEYMAPPINGS.navigation.centerMap).add(() => this.centerOnMap()); mapper.getBinding(KEYMAPPINGS.navigation.centerMap).add(() => this.centerOnMap());
} }
@ -502,10 +502,10 @@ export class Camera extends BasicSerializableObject {
} }
const prevZoom = this.zoomLevel; const prevZoom = this.zoomLevel;
const delta = Math.sign(event.deltaY) * -0.15 * this.root.app.settings.getScrollWheelSensitivity(); const scale = 1 + 0.15 * this.root.app.settings.getScrollWheelSensitivity();
assert(Number.isFinite(delta), "Got invalid delta in mouse wheel event: " + event.deltaY); assert(Number.isFinite(delta), "Got invalid delta in mouse wheel event: " + event.deltaY);
assert(Number.isFinite(this.zoomLevel), "Got invalid zoom level *before* wheel: " + this.zoomLevel); assert(Number.isFinite(this.zoomLevel), "Got invalid zoom level *before* wheel: " + this.zoomLevel);
this.zoomLevel *= 1 + delta; this.zoomLevel *= event.deltaY < 0 ? scale : 1 / scale;
assert(Number.isFinite(this.zoomLevel), "Got invalid zoom level *after* wheel: " + this.zoomLevel); assert(Number.isFinite(this.zoomLevel), "Got invalid zoom level *after* wheel: " + this.zoomLevel);
this.clampZoomLevel(); this.clampZoomLevel();
@ -939,6 +939,7 @@ export class Camera extends BasicSerializableObject {
this.zoomLevel = this.zoomLevel * fade + this.desiredZoom * (1 - fade); this.zoomLevel = this.zoomLevel * fade + this.desiredZoom * (1 - fade);
assert(Number.isFinite(this.zoomLevel), "Zoom level is NaN after fade: " + this.zoomLevel); assert(Number.isFinite(this.zoomLevel), "Zoom level is NaN after fade: " + this.zoomLevel);
} else { } else {
this.zoomLevel = this.desiredZoom;
this.desiredZoom = null; this.desiredZoom = null;
} }
} }