#include <stdio.h>
#include <SDL.h>
#define SDL_SUBSYSTEMS SDL_INIT_VIDEO
#define WIN_FLAGS SDL_ANYFORMAT|SDL_RESIZABLE
#define WIN_WIDTH 640
#define WIN_HEIGHT 480
#define WIN_BPP 0
#define WIN_TITLE "Program"
SDL_Surface *g_screen;
bool Init()
{
if(SDL_Init(SDL_SUBSYSTEMS) == -1)
{
fprintf(stderr, "Unable to initialize SDL: %s\n",
SDL_GetError());
return false;
}
g_screen = SDL_SetVideoMode(WIN_WIDTH, WIN_HEIGHT, WIN_BPP, WIN_FLAGS);
if(g_screen == NULL)
{
fprintf(stderr, "Unable to set %dx%d video: %s\n",
WIN_WIDTH, WIN_HEIGHT, SDL_GetError());
return false;
}
SDL_WM_SetCaption(WIN_TITLE, NULL);
return true;
}
void Destroy()
{
SDL_Quit();
}
bool ProcessEvent()
{
SDL_Event event;
while(SDL_PollEvent(&event))
{
switch(event.type)
{
case SDL_KEYDOWN:
switch(event.key.keysym.sym)
{
case SDLK_ESCAPE:
return false;
break;
default:
break;
}
break;
case SDL_QUIT:
return false;
break;
default:
break;
}
}
return true;
}
int main(int argc, char *argv[])
{
printf(WIN_TITLE);
if(!Init())
{
Destroy();
return 1;
}
bool done = false;
while(!done)
{
done = !ProcessEvent();
}
Destroy();
return 0;
}