|
From: | Adrian Robert |
Subject: | Re: GNUstep themeing and MacOS HITheme APIs... |
Date: | Fri, 5 Nov 2004 16:51:01 -0500 |
On Nov 5, 2004, at 4:20 PM, Michael Hanni wrote:
Hi, Just one point... --- "M. Uli Kusterer" <witness@t-online.de> wrote:If you want to allow that people create custom controls that match any theme, you may still want to make sure you have a complete set of high-and low-level theme-drawing APIs. Both a call to draw a full NSTabView as well as a call to draw just a tab or just the body area of a tab view, etc. Having a look at Apple's stuff (both in HITheme.h and Appearance.h) is a good way to make sure nothing is overlooked.The latest NSTabView code(http://www.cc.utah.edu/~msh3/gnustep/NSTabView-NG-0.02.tgz) has methods to draw the whole tab and for each side of the tab. In theory you could overrideeasily any of these methods to completely change the look of the tab.
I'd like to insert a general plea here that people working on theming support take performance into account. From the sound of the discussion it seems easy to add many layers of method calls, pixmap composits, etc. that must be executed for every exposure and update operation on each widget. An example of a bad result is Java Swing, which has extensive theming support but results in interfaces that even on fast machines can feel like molasses. (Not all of this is the fault of theme support, but some is.) I hope this does not happen for GNUstep, or at least can be short-circuited if you want a simple (but fast) GUI.
I don't know that much about this, but I imagine that the same approaches that work well in GTK, a pure-C library, for example, might not be as suitable in Objective-C with method call overhead.
(Please ignore this message if performance is already being attended to, but I just thought I would throw the issue out now. ;)
[Prev in Thread] | Current Thread | [Next in Thread] |