[Mono-osx] Why not implement WPF using OpenGL on Mac OS X?

Lee V. Andrus landrus2 at by-rite.net
Thu May 21 15:26:07 EDT 2009

To Eric R. Dunstan and anyone dissatisfied with the direction of  
Mono's GUI on Mac:

Some of us have been considering adapting it to use Cocoa.  The fact  
that Mono on OSX already uses a native API, Carbon, has given us  
pause.  But if Carbon is slated for obsolescence, maybe we should do  
it.  As far as I know, Carbon was intended to allow developer to  
create applications that could survive the transition from Mac OS9 to  
OS X (A.K.A. NextStep).  I read that portions of it are being  
deprecated (especially ones related to OS9).  And Mr. Dunstan  
indicates that Apple does not intend to support it as a 64-bit  
library.  Mono applications on the Mac could be stuck in a legacy- 
application ghetto by the time their GUI support works.

Apparently, much (if not all) of the dependency on Carbon is funneled  
thru class System.Windows.Forms.XplatUICarbon that subclasses abstract  
class System.Windows.Forms.XplatUI and implements its abstract  
members.  There is also a System.Windows.Forms.CarbonInternal  
namespace, which (I hope) is referenced only by XplatUICarbon.   
Creating XplatUICocoa & CocoaInternal, and converting 2,500 lines of  
Carbon code to Cocoa would seem to be less work than competing  
suggestions found in this mailing list.  Although it has been  
mentioned that the Carbon Driver is not complete or bug-free, that  
would be a big head start.  So, who wants to join the Cocoa conspiracy.

> Hello,
> > However, what about using OpenGL? I know that OpenGL is more  
> efficient
> > and cleaner than DirectX.
> If we ever got to that point, chances are, we would use OpenGL on  
> Linux
> and MacOS.
> The problem has never been that, the problem has always been the
> magnitude of implementing WPF.
> > If the current Mono codebase is too entrenched in bindings to Carbon
> > or 32-bit only libraries, I suggest forking the code to a new  
> project
> > based solely on Mac OS X technologies that will be 64 bit in Snow
> > Leopard, such as Cocoa and OpenGL.
> So you want to fork some 6 million lines of code, because  
> Windows.Forms
> contains 2,500 lines worth of Carbon code?
> > And why not jetison Windows Forms and focus on WPF implemented in
> > OpenGL, the closest equivelent to DirectX on Mac and Linux?
> A full WPF implementation would probably need some 3-4 years worth of
> work.    And then you have to ask yourself if it is really worth
> bringing WPF to the Mac.
> But I do not want to discourage you, if you want to work on WPF for  
> the
> Mac, by all means, start writing code.   The code for Mono's WPF lives
> in the Olive module.   Start sending patches.
> Miguel.


Lee V. Andrus
Senior Programmer Analyst

926 Bower Drive, #102
Irving, TX 75061-7913
Phone (972) 438-2483
Voicemail (972) 514-3955

CONFIDENTIALITY NOTICE: This communication, including attachments, is  
for the exclusive  use of the person or entity to which it is  
addressed and may contain confidential, proprietary and/or privileged  
information. Any review, retransmission, dissemination or other use  
of, or taking of any action in reliance upon, this information by  
persons or entities other than the intended recipient is prohibited.  
If you receive this in error, please contact the sender by return e- 
mail and delete this from any computer.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.ximian.com/pipermail/mono-osx/attachments/20090521/d7e9521e/attachment.html 

More information about the Mono-osx mailing list