[MPlayer-G2-dev] Developing a GTK2 GUI
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:
>>>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