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

Levente Uzonyi leves at elte.hu
Fri Jan 6 13:55:24 UTC 2012


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:
>>>
>>>> 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 -
>
> 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.


Levente

>
> - Bert -
>
>
>
>



More information about the Squeak-dev mailing list