Claude: Fix mouse rescaling

This commit is contained in:
Alessandro Pignotti 2024-12-20 13:11:17 +01:00
parent 0c567163b2
commit 3be3e68c84

View File

@ -141,29 +141,30 @@
} }
function setScreenSize(display) function setScreenSize(display)
{ {
var mult = 1.0; var internalMult = 1.0;
var displayWidth = display.offsetWidth; var displayWidth = display.offsetWidth;
var displayHeight = display.offsetHeight; var displayHeight = display.offsetHeight;
var minWidth = 1024; var minWidth = 1024;
var minHeight = 768; var minHeight = 768;
if(displayWidth < minWidth) if(displayWidth < minWidth)
mult = minWidth / displayWidth; internalMult = minWidth / displayWidth;
if(displayHeight < minHeight) if(displayHeight < minHeight)
mult = Math.max(mult, minHeight / displayHeight); internalMult = Math.max(internalMult, minHeight / displayHeight);
var internalWidth = Math.floor(displayWidth * mult); var internalWidth = Math.floor(displayWidth * internalMult);
var internalHeight = Math.floor(displayHeight * mult); var internalHeight = Math.floor(displayHeight * internalMult);
cx.setKmsCanvas(display, internalWidth, internalHeight); cx.setKmsCanvas(display, internalWidth, internalHeight);
// Compute the size to be used for AI screenshots // Compute the size to be used for AI screenshots
var screenshotMult = 1.0;
var maxWidth = 1024; var maxWidth = 1024;
var maxHeight = 768; var maxHeight = 768;
if(internalWidth > maxWidth) if(internalWidth > maxWidth)
mult = maxWidth / internalWidth; screenshotMult = maxWidth / internalWidth;
if(internalHeight > maxHeight) if(internalHeight > maxHeight)
mult = Math.min(mult, maxHeight / internalHeight); screenshotMult = Math.min(screenshotMult, maxHeight / internalHeight);
var screenshotWidth = Math.floor(internalWidth * mult); var screenshotWidth = Math.floor(internalWidth * screenshotMult);
var screenshotHeight = Math.floor(internalHeight * mult); var screenshotHeight = Math.floor(internalHeight * screenshotMult);
// Track the state of the mouse as requested by the AI, to avoid losing the position due to user movement // Track the state of the mouse as requested by the AI, to avoid losing the position due to user movement
displayConfig.set({width: screenshotWidth, height: screenshotHeight, mouseX: 0, mouseY: 0, mouseMult: mult}); displayConfig.set({width: screenshotWidth, height: screenshotHeight, mouseX: 0, mouseY: 0, mouseMult: internalMult * screenshotMult});
} }
var curInnerWidth = 0; var curInnerWidth = 0;
var curInnerHeight = 0; var curInnerHeight = 0;