目次 - SDL 3.0 API(機能別) - ディスプレイとウィンドウ - SDL_SetWindowShape

SDL_SetWindowShape

透過ウィンドウの形状を設定する

ヘッダ

SDL3/SDL_video.h

構文

bool SDL_SetWindowShape(SDL_Window *window, SDL_Surface *shape);

引数

SDL_Window *windowウィンドウ
SDL_Surface *shapeウィンドウの形状を表すサーフェイス. NULLのとき形状を取り除く

戻り値

(bool) 成功のとき真, 失敗のとき偽を戻す. SDL_GetError()を呼んで詳細を知ることができる.

詳細

この関数は透過ウィンドウのαチャネルを設定し, 完全に透過な部分はマウスクリックに対しても透過にする. SDLレンダーAPI以外を使用する場合は, アプリケーションは複数の環境に渡り整合性のある結果を得るためにウィンドウの形状に合ったαチャネルを描画する必要がある.

この関数で形状はコピーされるため, 後で解放してもよい. 形状のサーフェイスを変更する場合は, ウィンドウを変更するために再びSDL_SetWindowShape()を呼ぶ必要がある. これは高負荷な操作なので頻繁に使用するべきではない.

ウィンドウはSDL_WINDOW_TRANSPARENTフラグを付けて生成されている必要がある.

スレッドセーフ

この関数を呼べるのはメインスレッドのみである.

バージョン

SDL 3.2.0以降

SDL Wikiへのリンク

SDL_SetWindowShape - SDL Wiki