mirror of
https://github.com/ultimatepp/ultimatepp.git
synced 2026-05-16 06:05:58 -06:00
65 lines
1.3 KiB
C++
65 lines
1.3 KiB
C++
#include "sdlt1.h"
|
|
|
|
SDL_Surface * OpenScreen(const int width, const int height, const int bpp, const int flags)
|
|
{
|
|
SDL_Surface * screen = SDL_SetVideoMode(width, height, bpp, flags);
|
|
if(!screen)
|
|
{
|
|
printf("Couldn't set display mode: %s\n", SDL_GetError());
|
|
return NULL;
|
|
}
|
|
return screen;
|
|
}
|
|
|
|
void Paint(SDL_Surface * surface)
|
|
{
|
|
/* Put your painting code here */
|
|
}
|
|
|
|
int main(int argc, char **argv)
|
|
{
|
|
if(SDL_Init(SDL_INIT_VIDEO) < 0)
|
|
return 1;
|
|
|
|
int videoflags = SDL_HWSURFACE | SDL_HWACCEL | SDL_FULLSCREEN | SDL_DOUBLEBUF;
|
|
SDL_Surface * screen = OpenScreen(1024, 768, 32, videoflags);
|
|
if(!screen)
|
|
return 1;
|
|
|
|
SDL_Event event;
|
|
bool done = false;
|
|
|
|
while(!done)
|
|
{
|
|
if(SDL_PollEvent(&event))
|
|
{
|
|
switch (event.type)
|
|
{
|
|
case SDL_KEYDOWN:
|
|
if(event.key.keysym.sym == SDLK_LALT || event.key.keysym.sym == SDLK_TAB)
|
|
break;
|
|
if(event.key.keysym.sym == SDLK_RETURN)
|
|
{
|
|
videoflags ^= SDL_FULLSCREEN;
|
|
screen = OpenScreen(screen->w, screen->h, screen->format->BitsPerPixel, videoflags);
|
|
if(!screen)
|
|
done = true;
|
|
break;
|
|
}
|
|
case SDL_QUIT:
|
|
done = true;
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
Paint(screen);
|
|
SDL_Flip(screen);
|
|
}
|
|
}
|
|
SDL_FreeSurface(screen);
|
|
SDL_Quit();
|
|
return 0;
|
|
}
|