Re: [AD] Using system mouse cursor |
[ Thread Index |
Date Index
| More lists.liballeg.org/allegro-developers Archives
]
On Saturday 02 October 2004 01:29, Chris wrote:
> This is where you need to be careful. Again IMO, the system cursor
> should just be special extension to hardware cursors. If you do
> something to the hardware cursor, it should have the same exact effect
> on a system cursor. Don't forget, the system cursor is just a nice hack
> on top of hardware cursors, so trying to seperate them will only lead to
> problems.
I meant, they are different in how Allegro handles them. Internally there
is a difference between hardware and system cursors, even if there is no
real difference from the user perspective and they should mostly behave
the same.
In other words, a system cursor is a hardware cursor, but a hardware cursor
is not a system cursor and the terms can't be used interchangebly.
> Not even that, IMO. Unless you classify the Allegro defaults as system
> defaults. Because think about it.. if you call
> set_mouse_sprite(MOUSE_CURSOR_ARROW, NULL);
> there is now no way for the user to tell if they're using a system
> cursor, or if a system cursor isn't available and he got Allegro's
> default. This is why there should be very little, if not no, difference
> in the behavior of system and custom hardware cursors.
There is a difference internally, because the mouse_sprite would be NULL
for a true system cursor, but not for a software or custom hardware cursor
- nor for Allegro's default cursor.
> You're kinda thinking backwards. It's not that custom cursors become a
> special case of system cursors with a specified bitmap. It's that system
> cursors are a special case of custom cursors when the specified bitmap
> is NULL /and/ the driver supports it.
Yes - but this is not how I originally designed the set_mouse_cursor() API.
In my original API, there were two mechanisms, one for system cursors and
one for custom (hard/soft) cursors.
Ok, I'll clean up my patch somewhat more and get back to the docs as well.
Evert