From 400699687e15f1c8ed118fbc0fd76c3b044bc30e Mon Sep 17 00:00:00 2001 From: Calixte Denizet Date: Sun, 6 Aug 2023 21:05:49 +0200 Subject: [PATCH] [Editor] Fix the dimensions of the annotation editor layer (follow-up of #16794) --- src/display/display_utils.js | 4 ++-- src/display/editor/editor.js | 12 +++++++++--- src/shared/util.js | 8 ++++++++ 3 files changed, 19 insertions(+), 5 deletions(-) diff --git a/src/display/display_utils.js b/src/display/display_utils.js index 25c0ef816..bac8faf0a 100644 --- a/src/display/display_utils.js +++ b/src/display/display_utils.js @@ -22,6 +22,7 @@ import { } from "./base_factory.js"; import { BaseException, + FeatureTest, shadow, stringToBytes, Util, @@ -967,8 +968,6 @@ function getCurrentTransformInverse(ctx) { return [a, b, c, d, e, f]; } -const useRound = globalThis.CSS?.supports?.("width: round(1.5px, 1px)"); - /** * @param {HTMLDivElement} div * @param {PageViewport} viewport @@ -984,6 +983,7 @@ function setLayerDimensions( if (viewport instanceof PageViewport) { const { pageWidth, pageHeight } = viewport.rawDims; const { style } = div; + const useRound = FeatureTest.isCSSRoundSupported; const w = `var(--scale-factor) * ${pageWidth}px`, h = `var(--scale-factor) * ${pageHeight}px`; diff --git a/src/display/editor/editor.js b/src/display/editor/editor.js index de82156c1..480164b3e 100644 --- a/src/display/editor/editor.js +++ b/src/display/editor/editor.js @@ -373,9 +373,15 @@ class AnnotationEditor { } get parentDimensions() { - const { realScale } = this._uiManager.viewParameters; - const [pageWidth, pageHeight] = this.pageDimensions; - return [pageWidth * realScale, pageHeight * realScale]; + const { + parentScale, + pageDimensions: [pageWidth, pageHeight], + } = this; + const scaledWidth = pageWidth * parentScale; + const scaledHeight = pageHeight * parentScale; + return FeatureTest.isCSSRoundSupported + ? [Math.round(scaledWidth), Math.round(scaledHeight)] + : [scaledWidth, scaledHeight]; } /** diff --git a/src/shared/util.js b/src/shared/util.js index d5359505c..607fd2508 100644 --- a/src/shared/util.js +++ b/src/shared/util.js @@ -625,6 +625,14 @@ class FeatureTest { isMac: navigator.platform.includes("Mac"), }); } + + static get isCSSRoundSupported() { + return shadow( + this, + "isCSSRoundSupported", + globalThis.CSS?.supports?.("width: round(1.5px, 1px)") + ); + } } const hexNumbers = [...Array(256).keys()].map(n =>