It looks good to me, except I'm not sure about select_os_cursor. Allegro
> doesn't really busy up the system like a normal app would. And I would
> think if you're displaying the default system cursor, the OS would
> change it to busy, busy-waiting, or whatever automatically for you,
> wouldn't it?
Nope. It has no real way to tell when it should change the cursor.
If you allow the user to let the OS draw the cursor, then I think you
should also allow them to change its shape, since that is a trivial thing
to do anyway. Otherwise, we will probably be getting feature requests for
it anyway and adding that functionality afterwards will only clutter up the
API more. ;)