Add dynamic minimum zoom recalculation on viewport resize

- Recalculate minimum zoom when window resizes to ensure canvas fits properly
- Automatically adjust zoom if current level falls below new minimum after resize
- Ensures canvas boundaries remain appropriate for different viewport sizes
pull/5312/head
Dimitrie Hoekstra 2025-09-29 20:04:26 +02:00 committed by Nick O'Leary
parent b4c3faf034
commit 7dca55fdb8
No known key found for this signature in database
GPG Key ID: 4F2157149161A6C9
2 changed files with 11 additions and 1 deletions

View File

@ -3,7 +3,7 @@
*/
RED.view.zoomConstants = {
// Zoom limits
MIN_ZOOM: 0.15, // Default minimum, will be dynamically calculated to fit canvas
MIN_ZOOM: 0.05, // Default minimum, will be dynamically calculated to fit canvas
MAX_ZOOM: 2.0,
// Zoom step for keyboard/button controls

View File

@ -640,6 +640,16 @@ RED.view = (function() {
spacebarPressed = false;
}
})
// Recalculate minimum zoom when window resizes
$(window).on("resize.red-ui-view", function() {
// Recalculate minimum zoom to ensure canvas fits in viewport
var newMinZoom = calculateMinZoom();
// If current zoom is below new minimum, adjust it
if (scaleFactor < newMinZoom) {
zoomView(newMinZoom);
}
})
// Workspace Background
eventLayer.append("svg:rect")