[Bf-funboard] Cursor proposal (finally)

Robert Wenzlaff bf-funboard@blender.org
Wed, 19 Nov 2003 21:01:55 -0500


Well, you've all heard me talk about it.  Now I guess I'll make the proposal.

So far it looks like 32x32 is supported on all platforms (Linux (several vers. 
of X86), Irix, Solaris have all reported in, and we know about Windows, I 
guess I need to hear from OSX, but I doubt it's a problem).

I propose that 32x32 cursors become the standard max size.  Since we are 
looking at updating all the cursors to be common across platforms, each 
custom cursor can be represented by a struct that has a small version and a 
large version inside.   Which size gets used by default  becomes user option.  
In this struct  would also be sizes of  each cursor, hotspots of each, and 
possibly which 2 colors to use. (2 color still seems to be the official X11 
max, but they can be any two named colors.)  Last point might be 
stretching...

The size of the small cursor should be a guideline, not a hard and fast rule.*  
The small cursor could be 18x18 if its intent is difficult to communcate in 
16x16 (eg; the knife cursor which is just barely distinguisable as a knife at 
16x16,  could have a small crosshair showing the hot-spot at 18x18 - just an 
example of how it can be used, not that that particular one needs to do it). 

*We may need to set a 16x16 limit on the small cursors if it turns out some 
platform can't support larger, though.  In that case, using the large version 
of the cursor will not be allowed on that platform.

The cursors for all platforms would be loaded as they are for Windows now.  A 
32x32 cursor with only the upper left NxN filled in.  Blank data filled in 
on-the-fly. 

This does increase the size of the executable, but it's still a small amount.
Each struct would be approximately (16*2+16*2+32*2+32*2+ 12 = 174 bytes)
Let's assume 20 pre-loaded custom cursors.  That's less than 4k.
-- 
*************************************************
Robert Wenzlaff       rwenzlaff@soylent-green.com