-
diff --git a/ts/image-occlusion/MaskEditor.svelte b/ts/image-occlusion/MaskEditor.svelte
index ec8d3446f..360cec235 100644
--- a/ts/image-occlusion/MaskEditor.svelte
+++ b/ts/image-occlusion/MaskEditor.svelte
@@ -50,7 +50,7 @@ License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
diff --git a/ts/image-occlusion/SideToolbar.svelte b/ts/image-occlusion/SideToolbar.svelte
index 3701e9d43..fe8bc4330 100644
--- a/ts/image-occlusion/SideToolbar.svelte
+++ b/ts/image-occlusion/SideToolbar.svelte
@@ -65,8 +65,8 @@ License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
diff --git a/ts/image-occlusion/Tags.svelte b/ts/image-occlusion/Tags.svelte
index d7df5e585..2270e0eef 100644
--- a/ts/image-occlusion/Tags.svelte
+++ b/ts/image-occlusion/Tags.svelte
@@ -23,6 +23,6 @@ License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
diff --git a/ts/image-occlusion/TopToolbar.svelte b/ts/image-occlusion/TopToolbar.svelte
index 5ef1613b5..0461915eb 100644
--- a/ts/image-occlusion/TopToolbar.svelte
+++ b/ts/image-occlusion/TopToolbar.svelte
@@ -139,15 +139,13 @@ License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
diff --git a/ts/image-occlusion/tools/tool-polygon.ts b/ts/image-occlusion/tools/tool-polygon.ts
index 66e6fb415..879f9a4db 100644
--- a/ts/image-occlusion/tools/tool-polygon.ts
+++ b/ts/image-occlusion/tools/tool-polygon.ts
@@ -13,7 +13,6 @@ let linesList: fabric.Line = [];
let pointsList: fabric.Circle = [];
let drawMode = false;
let zoomValue = 1;
-let panzoomX = 1, panzoomY = 1;
const addedPolygonIds: string[] = [];
export const drawPolygon = (canvas: fabric.Canvas, panzoom: PanZoom): void => {
@@ -67,15 +66,13 @@ const toggleDrawPolygon = (canvas: fabric.Canvas): void => {
const addPoint = (canvas: fabric.Canvas, options, panzoom): void => {
zoomValue = panzoom.getTransform().scale;
- panzoomX = panzoom.getTransform().x;
- panzoomY = panzoom.getTransform().y;
const canvasContainer = document.querySelector(".canvas-container")!.getBoundingClientRect()!;
let clientX = options.e.touches ? options.e.touches[0].clientX : options.e.clientX;
let clientY = options.e.touches ? options.e.touches[0].clientY : options.e.clientY;
- clientX = (clientX - canvasContainer.left - panzoomX) / zoomValue;
- clientY = (clientY - canvasContainer.top - panzoomY) / zoomValue;
+ clientX = (clientX - canvasContainer.left) / zoomValue;
+ clientY = (clientY - canvasContainer.top) / zoomValue;
const point = new fabric.Circle({
radius: 5,
diff --git a/ts/reviewer/image_occlusion.ts b/ts/reviewer/image_occlusion.ts
index 5c7fedbfe..b0a83034b 100644
--- a/ts/reviewer/image_occlusion.ts
+++ b/ts/reviewer/image_occlusion.ts
@@ -1,11 +1,17 @@
// Copyright: Ankitects Pty Ltd and contributors
// License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
+import * as tr from "@tslib/ftl";
+
window.addEventListener("load", () => {
window.addEventListener("resize", setupImageCloze);
});
export function setupImageCloze(): void {
+ window.requestAnimationFrame(setupImageClozeInner);
+}
+
+function setupImageClozeInner(): void {
const canvas: HTMLCanvasElement = document.querySelector("canvas")! as HTMLCanvasElement;
canvas.style.maxWidth = "100%";
canvas.style.maxHeight = "95vh";
@@ -14,7 +20,7 @@ export function setupImageCloze(): void {
const container = document.getElementById("container") as HTMLDivElement;
const image = document.getElementById("img") as HTMLImageElement;
if (image == null) {
- container.innerText = "No image to show.";
+ container.innerText = tr.notetypeErrorNoImageToShow();
return;
}