From 94157b10c372b51de886e798fa3f58a9a0a2032f Mon Sep 17 00:00:00 2001 From: xiaoqidun Date: Thu, 29 Oct 2026 16:59:05 +0800 Subject: [PATCH] =?UTF-8?q?fix(=E7=BC=96=E8=BE=91=E8=83=BD=E5=8A=9B):=20?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E9=A1=B5=E5=A4=96=E6=96=87=E5=AD=97=E6=A1=86?= =?UTF-8?q?=E6=8B=96=E6=8B=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- assets/webui/ofdgo_edit.js | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/assets/webui/ofdgo_edit.js b/assets/webui/ofdgo_edit.js index 809d5e1..1a689c3 100644 --- a/assets/webui/ofdgo_edit.js +++ b/assets/webui/ofdgo_edit.js @@ -1212,6 +1212,10 @@ export class CanvasEditor { rect: item.surface.getBoundingClientRect(), rotation: this.options.rotation(), clientX: event.clientX, clientY: event.clientY, }; + const extent = this.drag.extent = document.createElement("div"); + Object.assign(extent.style, { position: "absolute", left: "0", top: "0", pointerEvents: "none", + width: `${this.viewer.scrollWidth}px`, height: `${this.viewer.scrollHeight}px` }); + this.viewer.append(extent); if (!this.drag.corner) { const selected = this.items(); const targets = [...item.surface.querySelectorAll(".edit-object")] @@ -1485,6 +1489,7 @@ export class CanvasEditor { } if (drag.corner && drag.box) { this.drag = null; + drag.extent?.remove(); this.viewer.releasePointerCapture(drag.pointerID); const frame = drag.item.textFrame; const geometry = drag.item.oriented?.box || drag.item.geometry || (frame ? { x: drag.item.x, width: textFrameBox(drag.item).width } : drag.item); @@ -1498,6 +1503,7 @@ export class CanvasEditor { } if (drag.change && (drag.change.x || drag.change.y || drag.change.scale !== 1)) { this.drag = null; + drag.extent?.remove(); drag.guides?.preview.remove(); this.viewer.releasePointerCapture(drag.pointerID); Promise.resolve(this.options.onTransform(drag.item, drag.change)).finally(() => this.place(drag.item)); @@ -1508,6 +1514,7 @@ export class CanvasEditor { const drag = this.drag; this.drag = null; if (drag) { + drag.extent?.remove(); for (const item of drag.erased || []) item.node.classList.remove("erasing"); if (drag.crop) { this.crop.box = drag.box;