emulates the same on Linux using X11 for window management and events.
Following gives a high level idea of the new implementation of SWF.
- --------------------------
- | Managed SWF |
- --------------------------
- |XplatUI Driver Interface|
- --------------------------
- | X11 Driver|Win32 Driver|
- | | |
- | Mono on | Mono on |
- | Linux/Mac | Windows |
- --------------------------
+ -------------------------------------
+ | Managed SWF |
+ -------------------------------------
+ | XplatUI Driver Interface |
+ -------------------------------------
+ | X11 Driver|Win32 Driver|OSX Driver|
+ | | | |
+ | Mono on | Mono on | Mono on |
+ | Linux/Mac | Windows | Mac OS/X |
+ -------------------------------------
The above picture explains how the window management is done in the new
implementation. For drawing the controls System.Drawing library is used.
+To handle some special needs for different platforms, there are a few
+limited patches to System.Drawing to deal with calls from System.Windows.Forms
2. Design:
can be added simply by implementing XplatUIDriver for the new platform.
-2a. Double Buffering:
-=====================
-
-For drawing controls double buffering used, so that a better performance
-can be achieved. Every controls maintains a bitmap image of itself. This
-image is used for painting the screen when a paint event is raised. When
-a control property changes the look of the control, it redraws the bitmap
-image. [Please see the guidelines document]
-
-
2b. Themes:
===========
2c. Multi-threading:
====================
- - To be added.
+ As of this writing, multi-threading was fully supported, provided the
+ standard Microsoft implementation guidelines involving Invoke() are
+ followed.
2d. Issues:
===========
- - To be added.
+ - To be added when MWF reaches completion