[Vm-dev] multiple monitors with different backingScaleFactors on MacOS X
Eliot Miranda
eliot.miranda at gmail.com
Thu Apr 7 04:31:13 UTC 2022
On Wed, Apr 6, 2022 at 9:21 PM Eliot Miranda <eliot.miranda at gmail.com>
wrote:
> Hi Marcel, Tobias, Ronie,
>
> I'm using an M1 laptop with a retina display (RD), which has a pixel
> extent of 3456 at 2234 and a scale factor of 2, hence giving an effective
> extent of 1728 at 1117. I have a now old Cinema DIsplay (CD) attached,
> which has a pixel extent of 2560 at 1440 and a scale factor of 1. When
> either the image opens on the CD, or is dragged from the RD to the CD, it
> ends up half the desired Smalltalk extent (the one saved in the image
> header, used to set the screen size form within Squeak etc).
>
> If I comment out the line sending convertRectFromBacking:
> in platforms/iOS/vm/OSX/SqueakOSXAppDelegate.m::setupWindow it no longer
> does this:
>
> NSRect resetFrame;
> resetFrame.origin.x = 0.0f;
> resetFrame.origin.y = 0.0f;
> resetFrame.size.width = width;
> resetFrame.size.height = height;
> #if 0 // Doing this results in a half sized window on a retina display with
> // a backingScalefactor of two
> resetFrame = [[self mainView] convertRectFromBacking: resetFrame];
> #endif
>
> NSSize sizeOfWindowContent = resetFrame.size;
> [gDelegateApp.window setContentSize: sizeOfWindowContent];
>
> Clearly this is the wrong thing to do. But something similar needs to
> happen when dragging a window from on display to another that
> have different scale factors.
>
> My question is where does this happen, or perhaps where should this
> happen? Presumably it's somewhere in the event handling code that allows
> the window to be moved.
>
I've found this. The iOS code doesn't listen for
thewindowDidChangeBackingProperties: notification. Where do we plum this
in?
https://developer.apple.com/documentation/appkit/nswindowdelegate/1419517-windowdidchangebackingproperties?language=objc
> _,,,^..^,,,_
> best, Eliot
>
--
_,,,^..^,,,_
best, Eliot
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20220406/ff699cf6/attachment-0001.html>
More information about the Vm-dev
mailing list