John McCutchan <[EMAIL PROTECTED]> writes:
> These seems like overkill to me, Just let the application handle
> multiple cursors. I don't think this fits with the rest of the ggi
> architecture.
if the libggi mouse cursor api is diminished to the following two
functions, there is still the problem of setting the shape of the
mouse cursor.
1) a function to change or set the cursor
2) a function to enable/disable the cursor
i remember from earlier postings that one of andreas's main goals was
to make libggi suitable for hacking something together quickly.
that's probably why we have ggiSetColorfulPalette(), which is of
course a little hack. this is probably not "clean design", but it
sure is handy!
my solution: perhaps it's possible to use a two-color mouse cursor,
which would solve most problems. no bitdepth dependencies, a fixed
way to define the shape and only 2 functions needed. too bad if this
won't give hardware acceleration for 15 onscreen mousecursors, one
would have to use a dedicated (sprite blitting) library for that.
the proposed libggi functions:
#define GGIMOUSEFLAG_VISIBLE 0x0001
void ggiSetMouseMask ( uint32 width, uint32 height,
void* white_mask, void* black_mask,
uint32 hotspot_x, uint32 hotspot_y );
void ggiSetMouseFlags ( ggi_mouse_flags flags );
(on a sidenote: if this is going to be in an extension, it solves the
argument problem; obviously a ggi_cursor_t argument is needed in
addition to the ggi_visual_t argument.)
--
Tijs van Bakel, <[EMAIL PROTECTED]>