2008/11/19 Gary Chambers <[EMAIL PROTECTED]>:
> Depends on how you envisage linking morphs in a host window to a particular
> host window, rather than the "main" World...
>
> Assuming that morphs are created in a specific world that has a 1-1
> relationship with a host window then the worldState of that world would
> probably be an appropriate responder to such events.
>

That's fine. But its only in scope of Morphic.
But i want to make a generic interface for HostWindows, which should
not rely on any framework which may use them.

> Regards, Gary.
>
> ----- Original Message ----- From: "Igor Stasenko" <[EMAIL PROTECTED]>
> To: "Pharo Development" <[email protected]>
> Sent: Wednesday, November 19, 2008 4:22 PM
> Subject: Re: [Pharo-project] Host window events
>
>
>> 2008/11/19 Gary Chambers <[EMAIL PROTECTED]>:
>>>
>>> Looks like, for Morphic at least, you'll need to treat each host window
>>> as a
>>> separate World...
>>> Given that the worldState handles damaged rectangles etc.
>>>
>>
>> this is details..
>>
>> first, i need to have a protocol plug-in a listeners/subscribers, like:
>>
>> hostWindow on: #resize do: [ ... ]
>>
>> or using
>>
>> hostWindow addDependant: subscriber
>> (but dependants protocol can't differentiate the event type :( )
>>
>> or something else.
>> Any suggestions?
>>
>>> Regards, Gary.
>>>
>>> ----- Original Message ----- From: "Igor Stasenko" <[EMAIL PROTECTED]>
>>> To: "Pharo Development" <[email protected]>
>>> Sent: Wednesday, November 19, 2008 4:06 PM
>>> Subject: [Pharo-project] Host window events
>>>
>>>
>>>> Hello list,
>>>>
>>>> i managed to build a new host windows plugin which currently including
>>>> - window management
>>>> - event handling
>>>> - display/draw support
>>>>
>>>> The difference between old plugin, that for each host window an image
>>>> always keeping own instance of HostWindow
>>>> and provides an easy and fast way to translate a window hanlde
>>>> (reported in events) to a corresponding HostWindow instance.
>>>>
>>>> A plugin, instead of operating with a raw OS window handles, keeping
>>>> own list of open windows and lets language side operate with index in
>>>> that list.
>>>> Now, since all window handles is ordered and start counting from 0 ,
>>>> all we need is to keep a WeakArray
>>>> and that array at: windowHandle can return us the corresponding
>>>> HostWindow instance.
>>>>
>>>> This will allow to direct event handling to a proper HostWindow
>>>> instance.
>>>> That's where the fun begins.
>>>>
>>>> But! A host window is not a Form or DisplayScreen. It having a simple
>>>> primitive which , like in old plugin, allows to blit a portion of form
>>>> to a host window surface.
>>>> Also, a plugin generates events to notify image about different things
>>>> like window dimensions has changed or portion of screen need to be
>>>> redrawn.
>>>>
>>>> What i would like to ask, is how to wire Form (or some DisplayScreen
>>>> subclass) with HostWindow.
>>>> Obviously, a HostWindow acts as backend , and don't needs to know
>>>> anything about who wants to draw on it or listen for events.
>>>>
>>>> I need an advice , how to bind couple of events, which HostWindow
>>>> should handle, and report them further to something which controls
>>>> what to draw in it.
>>>> Current 'interesting' number of events is quite small:
>>>> - a window size has changed (and Form/DisplayScreen need to resync
>>>> with new size, obviously)
>>>> - a portion of window should be updated/redrawn (and
>>>> Form/DisplayScreen needs to repaint the damaged region, obviously)
>>>> there, of course will be more, but first things first :)
>>>>
>>>> What you think is the best way for reporting such events?
>>>>
>>>> --
>>>> Best regards,
>>>> Igor Stasenko AKA sig.
>>>>
>>>> _______________________________________________
>>>> Pharo-project mailing list
>>>> [email protected]
>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>
>>>
>>> _______________________________________________
>>> Pharo-project mailing list
>>> [email protected]
>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>
>>
>>
>>
>> --
>> Best regards,
>> Igor Stasenko AKA sig.
>>
>> _______________________________________________
>> Pharo-project mailing list
>> [email protected]
>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>
>
> _______________________________________________
> Pharo-project mailing list
> [email protected]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>



-- 
Best regards,
Igor Stasenko AKA sig.

_______________________________________________
Pharo-project mailing list
[email protected]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

Reply via email to