Create a cursor using the specified bitmap data and mask (in MSB format).
Defined in SDL_mouse.h
const Uint8 * data,
SDL_Cursor* SDL_CreateCursor(const Uint8 * mask,
int w, int h, int hot_x,
int hot_y);
const Uint8 * | data | the color value for each pixel of the cursor. |
const Uint8 * | mask | the mask value for each pixel of the cursor. |
int | w | the width of the cursor. |
int | h | the height of the cursor. |
int | hot_x | the X-axis location of the upper left corner of the cursor relative to the actual mouse position. |
int | hot_y | the Y-axis location of the upper left corner of the cursor relative to the actual mouse position. |
(SDL_Cursor *) Returns a new cursor with the specified parameters on success or NULL on failure; call SDL_GetError() for more information.
mask
has to be in MSB (Most Significant Bit) format.
The cursor width (w
) must be a multiple of 8 bits.
The cursor is created in black and white according to the following:
Cursors created with this function must be freed with SDL_FreeCursor().
If you want to have a color cursor, or create your cursor from an SDL_Surface, you should use SDL_CreateColorCursor(). Alternately, you can hide the cursor and draw your own as part of your game's rendering, but it will be bound to the framerate.
Also, since SDL 2.0.0, SDL_CreateSystemCursor() is available, which provides twelve readily available system cursors to pick from.
This function is available since SDL 2.0.0.