diff options
author | AUTOMATIC1111 <16777216c@gmail.com> | 2023-08-09 17:04:44 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-08-09 17:04:44 +0000 |
commit | c7b9394daf9efc5da8e56007199c3fc3e7439f92 (patch) | |
tree | b47768ab65b49d44fa817cba3918e819b1ecd6cb | |
parent | ab42f81c75325159b089153b43adf4ae4bb9e116 (diff) | |
parent | 4a64d340010a907a6f5a0f53da023c46f794a590 (diff) | |
download | stable-diffusion-webui-gfx803-c7b9394daf9efc5da8e56007199c3fc3e7439f92.tar.gz stable-diffusion-webui-gfx803-c7b9394daf9efc5da8e56007199c3fc3e7439f92.tar.bz2 stable-diffusion-webui-gfx803-c7b9394daf9efc5da8e56007199c3fc3e7439f92.zip |
Merge pull request #12435 from daswer123/auto-expand
Zoom and pan: fix auto-expand
-rw-r--r-- | extensions-builtin/canvas-zoom-and-pan/javascript/zoom.js | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/extensions-builtin/canvas-zoom-and-pan/javascript/zoom.js b/extensions-builtin/canvas-zoom-and-pan/javascript/zoom.js index eb49a01d..e7616b98 100644 --- a/extensions-builtin/canvas-zoom-and-pan/javascript/zoom.js +++ b/extensions-builtin/canvas-zoom-and-pan/javascript/zoom.js @@ -42,6 +42,11 @@ onUiLoaded(async() => { } } + // Detect whether the element has a horizontal scroll bar + function hasHorizontalScrollbar(element) { + return element.scrollWidth > element.clientWidth; + } + // Function for defining the "Ctrl", "Shift" and "Alt" keys function isModifierKey(event, key) { switch (key) { @@ -650,16 +655,14 @@ onUiLoaded(async() => { } // Simulation of the function to put a long image into the screen. - // We define the size of the canvas, make a fullscreen to reveal the image, then reduce it to fit into the element. + // We detect if an image has a scroll bar or not, make a fullscreen to reveal the image, then reduce it to fit into the element. // We hide the image and show it to the user when it is ready. function autoExpand(e) { const canvas = document.querySelector(`${elemId} canvas[key="interface"]`); const isMainTab = activeElement === elementIDs.inpaint || activeElement === elementIDs.inpaintSketch || activeElement === elementIDs.sketch; + if (canvas && isMainTab) { - if (canvas && parseInt(targetElement.style.width) > 862 || parseInt(canvas.width) < 862) { - return; - } - if (canvas) { + if (hasHorizontalScrollbar(targetElement)) { targetElement.style.visibility = "hidden"; setTimeout(() => { fitToScreen(); |