[MPlayer-G2-dev] Developing a GTK2 GUI

Charles Ezell ardneh2 at hotmail.com
Wed Aug 6 05:44:52 CEST 2003

Dan Christiansen writes:

>On Sunday, August 3, 2003, at 10:37 AM, Charles Ezell wrote:
>>Gustavo writes:
>>>Yes, I know that... win32 is the other way (coordinates-based) and I
>>>don't know Mac to tell...
>>Don't know either. :)  But it is probably coord based.  I was also 
>>about Qt (which I know next to nothing about).
>I am not a GUI developer, but maybe I can shed some light on how things 
>work on Mac OS X:
>On Mac OS X, as you may have heard, there are two independent GUI APIs, 
>commonly referred to as Cocoa and Carbon. Cocoa is an Objective-C API and 
>comes from NeXT, and it's intended that GUIs aren't generated in code, but 
>dynamically from UI files - it encourages complete separation between code 
>and UI. Carbon is based on the old Mac OS APIs, and is C - but IMO ugly C. 
>You usually write the GUI in code, but very few things are handled for you, 
>and good Carbon GUIs are more rare than good Cocoa GUIs.
>Both are coordinate-based, but in Cocoa, you would usually design the 
>elements in Interface Builder and if necessary use that in code. If anyone 
>wants to write a native GUI for Mac OS X, I'd say they should use Cocoa, 
>and try to keep it separate from the main MPlayer since there are lots of 
>files you probably wouldn't want to know about.

Anyone trying to write a (native) window builder for MacOS X will
probably have a more difficult time of it then.

>Cocoa and Objective-C are fairly difficult to describe since they are very 
>different from everything else out there, but they work quite well in 
>practise. One good thing about Objective-C, though, is that it isn't C++ ;)

I've played around with Objective-C.  I don't like it as much as C++ ;), but 
I am very glad Apple went in that direction instead of keeping an ancient 

Thank you for the info. :)


The new MSN 8: advanced junk mail protection and 2 months FREE*  

More information about the MPlayer-G2-dev mailing list