From f8a1763c3bee0e236c86ba9f6b46aceb212dea10 Mon Sep 17 00:00:00 2001 From: pacien Date: Sun, 26 Apr 2020 20:01:46 +0200 Subject: viewer/LdPicture: initially fit image in viewport --- viewer/src/services/ldzoom.ts | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'viewer') diff --git a/viewer/src/services/ldzoom.ts b/viewer/src/services/ldzoom.ts index f001805..61b5dc6 100644 --- a/viewer/src/services/ldzoom.ts +++ b/viewer/src/services/ldzoom.ts @@ -28,7 +28,7 @@ export default class LdZoom { readonly imageElement: HTMLImageElement; readonly maxScaleFactor: number; readonly zoomSpeed: number; - scaleFactor: number; + scaleFactor: number = 0.0; constructor( containerElement: HTMLDivElement, imageElement: HTMLImageElement, @@ -38,9 +38,12 @@ export default class LdZoom { this.imageElement = imageElement; this.maxScaleFactor = maxScaleFactor; this.zoomSpeed = zoomSpeed; - this.scaleFactor = imageElement.clientWidth / imageElement.naturalWidth; } + /** + * Register event listeners. + * The dimension of the image should be known before calling this method. + */ public install() { new ResizeObserver(() => { this.setImageScale(this.scaleFactor); @@ -53,8 +56,6 @@ export default class LdZoom { }); // TODO: handle pinch-to-zoom. - - this.recenterImageElement(); } /** -- cgit v1.2.3