bool SDL_SetWindowAspectRatio(SDL_Window *window, float min_aspect, float max_aspect);
| SDL_Window * | window | 設定するウィンドウ |
| float | min_aspect | ウィンドウの縦横比の最小 |
| float | max_aspect | ウィンドウの縦横比の最大 |
(bool) 成功のとき真, 失敗のとき偽を戻す. SDL_GetError()を呼んで詳細を知ることができる.
縦横比は幅を高さで割った比で, 例えば2560×1600ならば1.6である. 縦横比が大きいほど広く, 小さいほど狭くなる.
もし, この要求をした時点で, ウィンドウが最大化やフルスクリーンのようにサイズ固定の状態ならば, この要求はウィンドウがサイズ変更可能な状態になるまで延期される.
一部のウィンドウシステムでは, この要求は非同期で, この関数から戻っても新しいウィンドウの状態は即座には適応されない. 即座に変更したい場合は, SDL_SyncWindow()を呼んで変更されるまでブロックすること.
ウィンドウの状態が変わると, SDL_EVENT_WINDOW_RESIZEDイベントが発生する. 一部のウィンドウシステムは様々な条件でウィンドウサイズを制限する(例えば表示領域をデスクトップの利用可能範囲に収まるようにする)場合があるため, ウィンドウのサイズは要求した縦横比と正確には一致しない場合があるので注意すること. さらに, これは単に要求するだけであり, ウィンドウシステムは状態の変更を遅らせる可能性がある.
この関数を呼べるのはメインスレッドのみである.