I'm not expert but this sounds interesting. I will continue to clean etoy impacts this way refactoring morphc should be easier. Stef On Nov 9, 2008, at 12:47 PM, Igor Stasenko wrote:
Hello list,
i started design of new plugin, which is conceptually based on HostWindows, but will be more integral & flexible. The plan is to move windowing & events handling into new plugin and at same time, completely remove cruft from basic VM functionality.
- you are in total control when to create a window - multiple windows support (will require refactoring in Morphic code) - control the window style/appearance, including: title, titlebar presence, window icon, size & position, pixel format, transparency (aka layered window), border style (resizeable or not, or completely w/o border ) - control video modes (if its provided by platform) and fullscreen window mode - events are now bound to particular window - different notification events like changing window position / activating or deactivating
Plugin is publishing a list of available window attributes. Different platforms, depends on implementation, may or may not support different window attributes. Instead of spawing dozens of primitives , like setWidth/setHeight/setTitle/getTitle etc etc, plugin will have only two primitives - get/setWindowAttribute. So, to set an X position of window, a code will look like: window primAttributeAt: #x put: 10. or to hide window: window primAttributeAt: #visible put: false.
or to set multiple attributes in batch manner: window primSetAttributes: { #x -> 10. #y->20. #visible->false. }.
I'll try to cover a most basic attributes, available on major platforms for the initial implementation.
What you'll never see in new plugin: - native widgets support or any kind of dealing with native widgets/ controls.
Awaiting for your comments or suggestions.
-- Best regards, Igor Stasenko AKA sig.
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project