[squeak-dev] Host Window Support (was: The Trunk: Graphics-bf.189.mcz)

Bert Freudenberg bert at freudenbergs.de
Fri Jan 6 13:34:01 UTC 2012

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

> On Fri, 6 Jan 2012, Bert Freudenberg wrote:
>> On 06.01.2012, at 05:49, Chris Muller wrote:
>>> Wow, you'd been holding back..!
>>> On Thu, Jan 5, 2012 at 11:49 AM,  <commits at source.squeak.org> wrote:
>>>> Bert Freudenberg uploaded a new version of Graphics to project The Trunk:
>>>> http://source.squeak.org/trunk/Graphics-bf.189.mcz
>>>> ==================== Summary ====================
>>>> Name: Graphics-bf.189
>>>> Author: bf
>>>> Time: 5 January 2012, 6:49:09.36 pm
>>>> UUID: d007ccad-e223-498d-9e78-bfc861403099
>>>> Ancestors: Graphics-bf.188
>>>> Add host window support. This is based on the stubs found in Pharo, with various fixes and extensions by me. In particular, I added event handling support. See examplePaint in DisplayHostWindow class.
>>>> =============== Diff against Graphics-bf.188 ===============
>> Hehe, well, the bulk of this code comes from Tim's/John's old Areithfa Ffenestri work which was used in Sophie:
>> 	((PackageInfo named: 'Graphics-External-Ffenestri') methods
>> 		inject: Bag new
>> 		into: [:b :m | b add: (m timeStamp copyUpTo: $ ). b]
>> 	) sortedCounts
>> ==> {75->'JMM' . 40->'tpr' . 21->'bf' . 7->'lr' . 3->'HenrikSperreJohansen' . 2->'StephaneDucasse' . 1->'nice'}
>> 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 -

More information about the Squeak-dev mailing list