Re: [AD] Proposal for a set_icon function |
[ Thread Index |
Date Index
| More lists.liballeg.org/allegro-developers Archives
]
Sorry to all for letting the discussion to fall down the last week, I've been
somewhat busy in the meantime...
Anyway, I'll restart from where we stopped, adding a summary of our
possibilities on the set_icon() function proposal:
1) set_icon(BITMAP *large_icon, BITMAP *small_icon) where large_icon and
small_icon have to be 32x32 and 16x16 versions of the icon to set. If one of
them is not present, it is generated by stretching the other one. If both are
unavailable, the default platform app icon is chosen.
2) set_icon(BITMAP *large_icon, BITMAP *small_icon) where the two icons can
be any size/depth, and are then stretched/color converted to fit into the
platform dependent icon sizes the OS provides. Obviously these icons would
look best if directly passed with the proper sizes the running OS expects.
3) same as 2) but just with one icon, simply stretching to generate the other
missing one.
4) set_icon(BITMAP *icon, int w, int h) is too much elaborated IMHO (when one
is setting an icon he probably doesn't care about the size, and just wants to
pass it a bitmap) and doesn't provide two versions of the same icon.
I'd go for a version with the 2 icons possibility, as stretching generally
doesn't generate good looking pictures when you're handling small images as
icons.
In any case, the function would set the icon for the window/taskbar only;
under BeOS I'm not sure this is possible, as when you change a program icon
this is probably automatically stored as an attribute for the file, thus
remaining attached to it even when the program has exited.
The BeOS behaviour could be handled as an exception though, specifying it in
the docs...
Now I'll wait your comments, then if you agree I could start coding it.
--
Angelo Mottola
a.mottola@xxxxxxxxxx
http://www.ecplusplus.com