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

SDL_SetWindowParent

ウィンドウを子ウィンドウにする

ヘッダ

SDL3/SDL_video.h

構文

bool SDL_SetWindowParent(SDL_Window *window, SDL_Window *parent);

引数

SDL_Window *window子にするウィンドウ
SDL_Window *parent親にするウィンドウ

戻り値

成功のとき0, 失敗のとき負の数のエラーコードを戻す. SDL_GetError()を呼んで詳細を知ることができる.

詳細

子ウィンドウに既に親ウィンドウがある場合は, 新しい親ウィンドウに変わる. 親ウィンドウにNULLを設定すると, 親ウィンドウは解除され, 子ウィンドウ状態でなくなる.

親ウィンドウを非表示にする, または破棄すると, その操作は再帰的に子ウィンドウにも適用される. 実際に子ウィンドウを非表示状態にしたのではなく, 親ウィンドウによって非表示にされた子ウィンドウは, 親ウィンドウが表示されると元に戻る.

モーダルなウィンドウを親ウィンドウにしようとすると失敗する. 親ウィンドウにする前にSDL_SetWindowModal()でモーダルを解除する必要がある.

ポップアップウィンドウは親ウィンドウを変えることができず, 変えようとすると失敗する.

同じ親を持つウィンドウや, 自身の子ウィンドウを親ウィンドウに設定した場合は, 未定義の結果となる.

スレッドセーフ

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

バージョン

SDL 3.2.0以降

関連項目

SDL Wikiへのリンク

SDL_SetWindowParent - SDL Wiki