Re: stock icon themes
- From: Joel Becker <jlbec evilplan org>
- To: Havoc Pennington <hp redhat com>
- Cc: garrett linux com, tigert gimp org, gtk-devel-list redhat com
- Subject: Re: stock icon themes
- Date: Wed, 21 Jun 2000 23:51:25 +0100
On Wed, Jun 21, 2000 at 06:48:11PM -0400, Havoc Pennington wrote:
> We can do each of the following:
> a) gtkrc provides one icon file, and we autogenerate states and sizes
> b) gtkrc specifies an icon file for each icon size (menu, toolbar,
> etc.)
> c) gtkrc specifies an icon file for each state (prelight, disabled,
> etc.)
> d) gtkrc specifies an icon file for size and state
I think the ability to be as verbose as (d) while allowing
fallback routines would be best, as you continue below.
> "*" means wild card; if "*" is given for the size, then the other
> sized icons will be created by scaling. If "*" is given for state,
> then the state icons will be autogenerated by saturation, pixelation,
> etc. "*" for direction means RTL and LTR use the same icon.
> * for both size and state autogenerates all 20 combinations of size
> and state.
>
> In addition to this gtkrc file stuff, we can have a function provided
> by theme engines, that maps from a tuple (stock name, direction,
> state, size) to a GdkPixbuf. This way theme engines can override the
> default prelight/desensitization and scaling behavior with their own
> functions.
I think this would be the best approach. A simple icon that
gets "lightened" for a highlight state needs different "lightening" for
different themes.
> Comments welcome. In particular, we're wondering if theme designers
> actually care to draw 20 variations on an icon, or if this feature
> would mostly go unused (since it's a bit complicated to implement).
> Perhaps it's only useful to provide one small and one large variant of
> the icon, to minimize scaling, and then always autogenerate the icon
> states?
The issue here is special casing, and I can see that happening.
For every 10 icons that work fine with ("*", "*", "*"), you will see an
icon that requires _very_ special images for each state/size, and ergo
a requirement for that ability too.
I suspect the common usage would be to specify large/small, and
let the library handle the rest, as small icons often are awful if just
scaled down large icons.
You could also provide a utility "generate icons" that does all
the auto-munging, and then have the 20 icon form of specification, but
as a programmer I like the concise typing of ("*", "*", ...). And if
you already have the auto-munging code, why not include it :-)
Joel
--
"Where are my angels?
Where's my golden one?
And where is my hope
Now that my heroes are gone?"
http://zenii.uk.linux.org/~jlbec/
jlbec@evilplan.org
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]