blob: 8ddff27367736f1304d171e39c4cd0c0cb46ad6b [file] [log] [blame]
#include<SDL.h>
#include<memory>
#include<iostream>
#include<string>
int main(void) {
SDL_Surface *screenSurface;
SDL_Event e;
int keepGoing = 1;
std::string message;
if(SDL_Init( SDL_INIT_VIDEO ) < 0) {
printf( "SDL could not initialize! SDL_Error: %s\n", SDL_GetError() );
}
atexit(SDL_Quit);
std::unique_ptr<SDL_Window, void(*)(SDL_Window*)> window(SDL_CreateWindow( "My application", SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, 640, 480, SDL_WINDOW_SHOWN), SDL_DestroyWindow);
screenSurface = SDL_GetWindowSurface(window.get());
// Use iostream to make sure we have not screwed
// up libstdc++ linking.
message = "Window created.";
message += " Starting main loop.";
std::cout << message << std::endl;
while(keepGoing) {
while(SDL_PollEvent(&e) != 0) {
if(e.type == SDL_QUIT) {
keepGoing = 0;
break;
}
}
SDL_FillRect(screenSurface, NULL, SDL_MapRGB(screenSurface->format, 0xFF, 0x00, 0x00));
SDL_UpdateWindowSurface(window.get());
SDL_Delay(100);
}
return 0;
}