1. 윈도우 생성
#include <SDL.h>
#include <stdio.h>
int main(int argc, char* argv[]) {
// SDL 초기화
if (SDL_Init(SDL_INIT_VIDEO) < 0) {
printf("SDL Initialization Fail: %s\\n", SDL_GetError());
return -1;
}
// 윈도우 창 생성 (640x480)
SDL_Window* window = SDL_CreateWindow(
"SDL2 Window",
SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED,
640, 480,
SDL_WINDOW_SHOWN
);
if (!window) {
printf("SDL Initialization Fail: %s\\n", SDL_GetError());
SDL_Quit();
return -1;
}
// 메시지 루프
SDL_Event event;
int quit = 0;
while (!quit) {
while (SDL_PollEvent(&event)) {
if (event.type == SDL_QUIT) {
quit = 1;
}
}
}
// 종료
SDL_DestroyWindow(window);
SDL_Quit();
return 0;
}
- 위 프로그램에서는 640 x 480 해상도로 윈도우 창을 생성한 다음 메세지 루프를 돌면서 윈도우 창의 종료 버튼, 또는 ESC 키를 눌렀는지 확인한다.
SDL_Init()
- SDL 라이브러리를 초기화하는 함수
- 인자로 초기화할 서브시스템을 전달
- 위 코드에서는
SDL_INIT_VIDEO를 인자로 전달하여 비디오 서브시스템을 초기화
SDL_CreateWindow()
- 윈도우를 생성하는 함수
- 1번째 인자 - 윈도우 제목
- 2번째 인자 - 윈도우의 x좌표
- 3번째 인자 - 윈도우의 y좌표
- 4번째 인자 - 윈도우의 너비
- 5번째 인자 - 윈도우의 높이
- 6번째 인자 - 윈도우 플래그
- 해당 함수는 함수 호출의 성공 시
SDL_Window 구조체의 포인터를 반환
SDL_DestroyWindow()
- 윈도우를 파괴하는 함수
SDL_CreateWindow 함수로 생성된 SDL_Window 구조체의 포인터를 인자로 전달
SDL_Quit()