ウィンドウの作成と破棄
SDLでウィンドウの作成と破棄をするには、「SDL_CreateWindow関数」と「SDL_DestroyWindow関数」を使用します。
SDL_CreateWindow関数
ウィンドウを作成します。
宣言
SDL_Window* SDL_CreateWindow( const char* title, int x, int y, int w, int h, Uint32 flags );
引数
title | ウィンドウのタイトルです。 |
x | ウィンドウのX座標です。基点はウィンドウの左上になります。 この引数に SDL_WINDOWPOS_CENTERED を指定すると、画面中央にウィンドウを配置できます。 |
y | ウィンドウのY座標です。 基点はウィンドウの左上になります。 この引数に SDL_WINDOWPOS_CENTERED を指定すると、画面中央にウィンドウを配置できます。 |
w | ウィンドウの幅です。 |
h | ウィンドウの高さです。 |
flags | ウィンドウの状態を表す各フラグの論理和です。 この引数へ指定した値の状態でウィンドウを作成します。また、この設定が不要な場合には、 0 を指定します。各フラグは SDL_WindowFlags 型で定義されています。 |
戻り値
作成に成功すると「ウィンドウのアドレス」を返し、失敗すると「NULL
」を返します。
SDL_DestroyWindow関数
ウィンドウを破棄します。
宣言
void SDL_DestroyWindow( SDL_Window* window );
引数
window | 破棄するウィンドウのアドレスです。 |
サンプルプログラム
#include <SDL.h>
int main( int argc, char* argv[] )
{
if ( SDL_Init( SDL_INIT_VIDEO ) != 0 )
{
SDL_Log( u8"SDLの初期化処理に失敗しました。エラーメッセージ: %s", SDL_GetError() );
return -1;
}
auto window = SDL_CreateWindow(
u8"サンプル",
SDL_WINDOWPOS_CENTERED,
SDL_WINDOWPOS_CENTERED,
1280,
720,
0
);
if ( window == nullptr )
{
SDL_Log( u8"ウィンドウの作成に失敗しました。エラーメッセージ: %s", SDL_GetError() );
SDL_Quit();
return -1;
}
SDL_Delay( 3000 );
SDL_DestroyWindow( window );
SDL_Quit();
return 0;
}