[squeak-dev] Host Window Support

Bert Freudenberg bert at freudenbergs.de
Fri Jan 6 14:01:46 UTC 2012


On 06.01.2012, at 14:55, Levente Uzonyi wrote:

> On Fri, 6 Jan 2012, Bert Freudenberg wrote:
> 
>> On 06.01.2012, at 14:34, Bert Freudenberg wrote:
>> 
>>> On 06.01.2012, at 14:04, Levente Uzonyi wrote:
>>> 
>>>> On Fri, 6 Jan 2012, Bert Freudenberg wrote:
>>>> 
>>>>> Note that I do not intend to make this work with Morphic. Rather, it's the bare minimum needed to experiment with alternative UIs - you get events as input, and a display surface for output, and can do anything you want there. E.g., the "examplePaint" method processes events and paints onto the window, without any "UI framework".
>>>>> 
>>>>> This works on the Mac, it should work on Windows (untested), does not work on X11 until more of the HostWindowPlugin is implemented.
>>>> 
>>>> The HostWindowProxy for Windows is missing, only the Mac variants are present.
>>> 
>>> 
>>> Ah, good point. The original changesets on JMM's ftp site had three proxies - Acorn, Mac OS 9 and Mac OS X. The version in Pharo dropped the Acorn proxy. I started out with the Pharo version, and reverted a couple of methods back to John's to make it work in  Squeak again.
>>> 
>>> But I have never seen a source version with the Windows proxies. However, the plugin is implemented, so I guess the proxy code must be somewhere? Might be trivial to re-implement, too.
>>> 
>>> - Bert -
>> 
>> Found it, committed, still untested :)
> 
> It's a good start, but not perfect. The window is opened, it can be closed, but painting with the mouse doesn't work. Didn't try if it survives image closing/reopening.


One thing to try is open a process browser and see if the process goes away after closing the window. That would mean that at least the event handling works.

Displaying might work differently on Windows - is it possible it requires an external bitmap? I know Andreas is a freak for efficiency when it comes to rendering ;)

- Bert -





More information about the Squeak-dev mailing list