目次 - API(機能別) - マウス - SDL_CreateCursor

SDL_CreateCursor

指定のビットマップデータとマスク(MSB形式)からマウスカーソルを生成する (注意: SDL2.0.0以降ではSDL_CreateSystemCursor()が使える. この関数を使えば11のシステムカーソルから選べる.)

構文

SDL_Cursor* SDL_CreateCursor(const Uint8* data, const Uint8* mask, int w, int h, int hot_x, int hot_y)

引数

dataカーソルの各ピクセルの色 (詳細を参照すること)
maskカーソルの書くピクセルのマスク (詳細を参照すること)
wカーソルの幅 (詳細を参照すること)
hカーソルの高さ (wと同じ?)
hot_xカーソルの左上の実際のカーソルからの相対位置のX座標???
hot_yカーソルの左上の実際のカーソルからの相対位置のY座標???

戻り値

成功のとき指定の引数で新しく生成されたカーソル, 失敗のときNULLを戻す. SDL_GetError()で詳細を知ることができる.

詳細

カーソルの幅(w)は8の倍数の必要がある.

生成されるカーソルの黒と白は次の表に従う.
datamaskスクリーン上の結果
01
11
00透明
10可能なら反転, 不可能なら黒

この関数で生成されたカーソルはSDL_FreeCursor()で解放する必要がある.

色のついたカーソルが必要ならば, この関数は向いていない. 代わりに, 通常のカーソルをSDL_ShowCursor()で隠し, メインループでSDL_Surface()をカーソルの位置に描く必要がある. (訳者注: これは古い説明で, SDL_CreateColorCursor()を使えば可能なはず.)

関連項目(関数)

SDL_FreeCursor
SDL_SetCursor
SDL_ShowCursor

SDL Wikiへのリンク

SDL_CreateCursor - SDL Wiki