bool SDL_SetWindowPosition(SDL_Window *window, int x, int y);
| SDL_Window * | window | 位置を変えるウィンドウ |
| int | x | ウィンドウのx座標, またはSDL_WINDOWPOS_CENTERED, または SDL_WINDOWPOS_UNDEFINED |
| int | y | ウィンドウのy座標, またはSDL_WINDOWPOS_CENTERED, または SDL_WINDOWPOS_UNDEFINED |
(bool) 成功のとき真, 失敗のとき偽を戻す. SDL_GetError()を呼んで詳細を知ることができる.
ウィンドウが排他的フルスクリーンまたは最大化の場合は, この要求は効果がない.
この関数はデスクトップフルスクリーンのウィンドウを別のディスプレイに移動するためにも使えるが, 排他的フルスクリーンのウィンドウは特定のディスプレイで固定されているため, プログラムでの位置の変更はSDL_SetWindowFullscreenMode()のみで行える.
一部のウィンドウシステムでは, この要求は非同期で, この関数から戻っても新しいウィンドウの状態は即座には適応されない. 即座に変更したい場合は, SDL_SyncWindow()を呼んで変更されるまでブロックすること.
ウィンドウの位置が変わると, 新しい座標でSDL_EVENT_WINDOW_MOVEDイベントが発生する. 一部のウィンドウシステムは様々な条件でウィンドウの位置を制限する(例えば表示領域をデスクトップの利用可能範囲に収まるようにする)場合があるため, ウィンドウの位置は要求した位置と正確には一致しない場合があるので注意すること. さらに, これは単に要求するだけであり, ウィンドウシステムは状態の変更を遅らせる可能性がある.
この関数を呼べるのはメインスレッドのみである.