winforms 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. * System.Windows.Forms
  2. System.Windows.Forms eventually will support multiple
  3. toolkits. Ximian will be delivering a product that will allow
  4. for System.Windows.Forms applications to integrate with GNOME
  5. through Gtk and MacOS X using Cocoa.
  6. There are no current plans to support embedded devices, but
  7. Gtk/FrameBuffer is an option. If you have suggestions or
  8. recommendations, please let us <a
  9. href="mailto:[email protected]">let us know</a>
  10. * Contributing
  11. Currently Ximian developers are busy making our JIT engine
  12. feature complete, and dealing with the low-level details of
  13. the Mono runtime.
  14. If you are interested in contributing, you can start stubbing
  15. out classes and providing enumerations. That will help us
  16. significantly when we start working on the actual bindings.
  17. Christian Meyer is currently organizing this effort.
  18. * System.Drawing
  19. Using existing libraries to implement some of the functionality required
  20. <ul>
  21. * gdk-pixbuf is a generic image loader that loads an image
  22. and leaves it into an RGB buffer. It hides all the details
  23. about what image file format is being loaded.
  24. * Libart is a general framework for rendering RGB/RGBA
  25. buffers into RGB buffers and rendering postscript-like paths into
  26. RGB/RGBA buffers.
  27. </ul>
  28. We want to use gdk-pixbuf as the image loader for the image
  29. classes, and then we need operations to render that into the
  30. windowing system (Gtk+, MacOS, etc). But notice how there is
  31. very little dependnecies in Gdk-pixbuf on gtk, and libart has
  32. none.
  33. They are pretty independent from a windowing system
  34. (gdk-pixbuf comes with some "helper" routines for rendering
  35. data into a pixmap and to load pixmaps into RGB buffers).
  36. A few things to keep in mind:
  37. <ul>
  38. * gdk-pixbuf can be used to load images for Gtk+,
  39. MacOS X and Windows, it should be pretty portable,
  40. although we might need in the future to back-port
  41. some new features from Gtk head.
  42. * Libart is probably only going to be used with X11,
  43. as the MacOS X provides the same features in Quartz,
  44. and Win32 *probably* has that in GDI+. If not, we
  45. should use libart in Win32 as well (or for older
  46. Windows systems).
  47. </ul>
  48. * Directory Layout
  49. System.Drawing (assembly directory)
  50. System.Drawing.Blah
  51. Common code for "Blah"
  52. Stubs for "Blah" to ease ports.
  53. Gtk
  54. System.Drawing.Blah.
  55. Gtk ports of "System.Drawing.Blah"
  56. MacOS
  57. System.Drawing.Blah
  58. MacOS ports of "System.Drawing.Blah"
  59. Win32
  60. System.Drawing.Blah
  61. Win32 ports of "System.Drawing.Blah"
  62. Then we use nant targets to include/exclude the right set of
  63. files to create the assembly.
  64. * Open questions:
  65. I believe that the graphics contexts that are used to render
  66. can accept either libart-like rendering operations and
  67. X11-like rendering operations. This complicates matters, but
  68. I am not sure. Someone needs to investigate this.