From: Thomas L. <ta...@ec...> - 2001-03-15 16:23:19
|
On Thu, Mar 15, 2001 at 09:08:16AM +0100, Andrzej Borsuk wrote: > I have one question Thomas and Diego > Did you remember Amiga? > This computer has two state icons. > > Each icon has two different images One normal and second for > selected file. It was looking much better than simple color > inversion > > I have just begun looking into sources, to make this possible > but I'm only seasoned C programmer so mayby with your little help? > > Idea is simple: > Create two images: icon.xpm and selected-icon.xpm (or icon-selected.xpm) > > Now I know that I must modify struct MaskedPixmap > and draw_large_icon in display.c > > But for now I have not found what function read > pixmaps for icons into memory In dir.c there are functions for creating DirItems, each of which represents a file. Take a look at dir_restat(). This loads images using things like: item->image = g_fscache_lookup(pixmap_cache, pathname); which gets the image from the cache, or from disk if it's not in the cache. The actual loading happens in pixmaps.c - image_from_file() creates the MaskedPixmap structure. However: - I'm planning to change the way we deal with images. Probably this will involve only caching pixbufs and plotting them directly. I think we create too many pixmaps at the moment, and if we need large and small versions for highlighted files too... - There may be other ways to improve the way icons are highlighted (eg, adjusting the gamma curve so they go whiter) which will work for all icons... -- Thomas Leonard http://rox.sourceforge.net ta...@ec... ta...@us... |