[squeak-dev] The Trunk: Kernel-eem.1351.mcz

tim Rowledge tim at rowledge.org
Thu Oct 15 03:50:48 UTC 2020



> On 2020-10-14, at 11:41 AM, Eliot Miranda <eliot.miranda at gmail.com> wrote:
>  But it ain't that trivial given the desire to maintain backward compatibility in the VM.  See this thread: http://forum.world.st/Installing-high-dpi-support-and-backwards-compatibility-of-the-VM-tc5123176.html

Yeah, it's a mess and has been a mess since 1996. 

For RISC OS right from the beginning I only created  a window when something actually wrote to the display,  a sequence that appears to be rooted in ioShowDisplay(). Creating the window in the ioSizeOfWindow() seems a bit premature but I do vaguely recall we had a lot of 'fun' with the strictures of the various platforms of those ancient days - at one era Windows had to have an actual window in order to be able to get any events at all, I think. I know that it is/was possible to make a unix vm that acted the same as RISC OS because that's what I did when I spent some time at DEC WRL working for Alan and built the 'Itsy' VM for Disney. Or... something like that; complicated.

I imagine we could leave most of the old behaviour alone for a while in the VM (maybe with a bit of simplifying?) and start having the image take more responsibility for finding the desired and required screen metrics with appropriate platform calls and then use the HostWindowPlugin to make the window if an when required. Would that satisfy enough  backwards compatibility for everyone? We could include the actual desired window origin as well as size, something that has always annoyed me to have lacking. Finding the full display metrics in one go instead of a scattered bunch of prims might be nice; we could even return an array of metrics to handle multiple displays.

tim
--
tim Rowledge; tim at rowledge.org; http://www.rowledge.org/tim
Useful random insult:- If what you don't know can't hurt you, she's practically invulnerable.




More information about the Squeak-dev mailing list