Hardware cursor behaviour under DirectX

This showed up on #sdl today:

Under win32, with SDL_FULLSCREEN & SDL_DOUBLEBUFFER, the hardware
cursor is not visible.

Cursor behaviour is (or at least was) more or less undefined in DirectX. If you really wanted the hardware cursor you should get the curosr position and set the cursorposition to that every frame, but most people just do their own cursor.

Could some of the DirectX experts comment on this and provide the appropriate
FAQ entry?

  • Andreas–
    Check out my 3D lightcycle game: http://www.gltron.org
    A 0.60 preview/beta for win32/mac is available NOW!
    More than 100’000 Downloads of the last version (0.59)

This showed up on #sdl today:

Under win32, with SDL_FULLSCREEN & SDL_DOUBLEBUFFER, the hardware
cursor is not visible.

Yep. It should be listed in the BUGS file. Ahh, it’s not, I’ll add it.

Basically, it’s very difficult to properly implement a mouse cursor when
the application is writing directly to the video memory and the underlying
API doesn’t have the equivalent of a freely aligned overlay sprite.

BTW, you shouldn’t rely on the hardware mouse cursor for GL applications
anyway. It doesn’t work on at least one hardware configuration (Voodoo2)

See ya,
-Sam Lantinga, Lead Programmer, Loki Entertainment Software