create static method
Create a cursor using the specified bitmap data and mask (in MSB format).
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:
- data=0, mask=1: white
- data=1, mask=1: black
- data=0, mask=0: transparent
- data=1, mask=0: inverted color if possible, black if not.
Cursors created with this function must be freed with SDL_DestroyCursor().
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, SDL_CreateSystemCursor() is available, which provides several readily-available system cursors to pick from.
\param data the color value for each pixel of the cursor.
\param mask the mask value for each pixel of the cursor.
\param w the width of the cursor.
\param h the height of the cursor.
\param hot_x the x-axis offset from the left of the cursor image to the
mouse x position, in the range of 0 to w
- 1.
\param hot_y the y-axis offset from the top of the cursor image to the
mouse y position, in the range of 0 to h
- 1.
\returns a new cursor with the specified parameters on success or NULL on
failure; call SDL_GetError() for more information.
\threadsafety This function should only be called on the main thread.
\since This function is available since SDL 3.1.3.
\sa SDL_CreateColorCursor \sa SDL_CreateSystemCursor \sa SDL_DestroyCursor \sa SDL_SetCursor
extern SDL_DECLSPEC SDL_Cursor * SDLCALL SDL_CreateCursor(const Uint8 * data, const Uint8 * mask, int w, int h, int hot_x, int hot_y)
Implementation
static Pointer<SdlCursor> create(Pointer<Uint8> data, Pointer<Uint8> mask,
int w, int h, int hotX, int hotY) {
return sdlCreateCursor(data, mask, w, h, hotX, hotY);
}