Re: Apple Aperture-like look & feel
Re: Apple Aperture-like look & feel
- Subject: Re: Apple Aperture-like look & feel
- From: Uli Kusterer <email@hidden>
- Date: Mon, 20 Aug 2012 19:03:12 +0200
On Aug 17, 2012, at 9:27 PM, Nick <email@hidden> wrote:
> I am wondering what does it take to make panels/buttons that
> customized, like it is done in Apple Aperture? Did Apple developers
> paint every dialog element manually? Are there some classes already
> available that would allow to "theme up" an app like this?
Mac OS X has no themeing support to speak of. What we did in Game Capture was essentially subclass all the controls and override drawRect: (and mouseDown: where needed) to get our custom graphics in there. We actually parameterized the image names, so that you can set a base name like BUTTON and it will look for graphics BUTTON.active.png, BUTTON.disabled.png, BUTTON.mousedown.png etc. You can fake a lot of custom UI just by having such a custom NSButtonCell/NSButton subclass.
Most of this is straightforward, Some gotchas are documented on my blog at:
http://orangejuiceliberationfront.com/building-a-custom-nsbutton/
and
http://orangejuiceliberationfront.com/themeing-nstableview/
The only thing that seems impossible with public API is theme NSMenu-based menus. You can go some of the way by using custom views for the menu items, but the top and bottom ends of the menu (about 4-8 px) are drawn in grey by the system. In 32-bit you can use Carbon to change that, but in 64-bit that's not officially available.
Cheers,
-- Uli Kusterer
"The Witnesses of TeachText are everywhere..."
http://www.zathras.de
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden