X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=web%2Fwinforms;h=b93c633a1a47d7f5f2fe4fa8b6c74cb3f35dc64e;hb=63bb1969072d47dc01ec08d553edeaf15be92608;hp=3e1b7d3053f660a98414f9260567783099a55b22;hpb=f69f711c0365aa303528b5d7d816aadd7bd404ba;p=mono.git diff --git a/web/winforms b/web/winforms index 3e1b7d3053f..b93c633a1a4 100644 --- a/web/winforms +++ b/web/winforms @@ -1,90 +1,52 @@ * System.Windows.Forms - System.Windows.Forms eventually will support multiple - toolkits. Ximian will be delivering a product that will allow - for System.Windows.Forms applications to integrate with GNOME - through Gtk and MacOS X using Cocoa. - - There are no current plans to support embedded devices, but - Gtk/FrameBuffer is an option. If you have suggestions or - recommendations, please let us let us know - -* Contributing - - Currently Ximian developers are busy making our JIT engine - feature complete, and dealing with the low-level details of - the Mono runtime. - - If you are interested in contributing, you can start stubbing - out classes and providing enumerations. That will help us - significantly when we start working on the actual bindings. - - Christian Meyer is currently organizing this effort. - -* System.Drawing - - Using existing libraries to implement some of the functionality required - - - - We want to use gdk-pixbuf as the image loader for the image - classes, and then we need operations to render that into the - windowing system (Gtk+, MacOS, etc). But notice how there is - very little dependnecies in Gdk-pixbuf on gtk, and libart has - none. - - They are pretty independent from a windowing system - (gdk-pixbuf comes with some "helper" routines for rendering - data into a pixmap and to load pixmaps into RGB buffers). +

Currently Windows.Forms support is under development. Check Mono's Roadmap for more + details on when it is going to be available. + +

System.Windows.Forms in Mono is implemented using System.Drawing and + Wine. This allows applications that use P/Invoke to call Win32 functions + or rely on event delivery through the Wndproc method to work as + expected. This is the path of best compatibility. + +

In terms of integrating visually with the desktop, we are hoping to + contribute to the Wine project a mechanism to make it use the Gtk+ + themes on X11 and Cocoa on MacOS to render the widgets, and get the + native look and feel on each of these platforms. + +* Installation - A few things to keep in mind: +

To get the Windows.Forms support working, you need:

-* Directory Layout - - System.Drawing (assembly directory) - System.Drawing.Blah - Common code for "Blah" - Stubs for "Blah" to ease ports. +* Contributing - Gtk - System.Drawing.Blah. - Gtk ports of "System.Drawing.Blah" - MacOS - System.Drawing.Blah - MacOS ports of "System.Drawing.Blah" - Win32 - System.Drawing.Blah - Win32 ports of "System.Drawing.Blah" +

The Winforms effort is being coordinated in the mono-winforms-list@ximian.com. + If you are interested in helping out with this effort, + subscribe to it by sending an email message to mono-winforms-list-request@ximian.com. + +

If you want to help, you can pick a control and start implementing it's + methods. You can do this either on Windows or on Linux. Try using + System.Drawing calls instead of P/Invoked Win32 calls. + +

If you choose a particular control to work on, send a note to the + winforms list to avoid duplication of effort. + - Then we use nant targets to include/exclude the right set of - files to create the assembly. +* System.Drawing -* Open questions: +

For details, see the System.Drawing implementation notes + section of the web site. - I believe that the graphics contexts that are used to render - can accept either libart-like rendering operations and - X11-like rendering operations. This complicates matters, but - I am not sure. Someone needs to investigate this.