34 lines
1.4 KiB
C++
34 lines
1.4 KiB
C++
//Mark's mooie minimale meesterwerk
|
|
//ten behoeve van het demonstreren van de basisprincipelen van SDL
|
|
//deze breiden we uit met andere functies om shit te tekenen enzo.
|
|
|
|
//We werken met SDL2, dat is wel zo modern.
|
|
//Let op dat er nog wel een hoop tutorials zijn die met 1.2 werken
|
|
#include <SDL2/SDL.h>
|
|
|
|
int main(int argc, char** argv) {
|
|
//SDL are go. We hebben alleen video nodig. Kan hier eventueel ook audio, events, controllers, etc initializeren.
|
|
SDL_Init(SDL_INIT_VIDEO);
|
|
|
|
//640x480 window, heilige resolutie.
|
|
//We geven hier ook aan wat voor window we willen. Als we met OpenGL/Vulkan naar dit scherm willen tekenen
|
|
//moeten we dat ook los aangeven. Andere opties voor fullscreen etc zijn ook mogelijk.
|
|
SDL_Window* window = SDL_CreateWindow("Dikke lul", 0, 0, 640, 480, SDL_WINDOW_RESIZABLE);
|
|
|
|
//Window heeft een "surface" wat het object is waar we op kunnen tekenen, die halen we op en maken we zwart
|
|
//Alles waar je naar kan tekenen in SDL is een SDL_Surface. Zo ook bitmaps die je inlaadt, etc.
|
|
SDL_Surface* screen = SDL_GetWindowSurface(window);
|
|
SDL_FillRect(screen, NULL, 0);
|
|
|
|
//Nu aangeven dat er iets is veranderd aan de surface zodat SDL het opnieuw tekent
|
|
SDL_UpdateWindowSurface(window);
|
|
|
|
//paar seconden wachten z.d.d. het scherm niet meteen verdwijnt
|
|
SDL_Delay(3000);
|
|
|
|
//Nog even wat opruimen. Beetje voor de sier, want we dumpen het hele proces toch.
|
|
SDL_DestroyWindow(window);
|
|
SDL_Quit();
|
|
return 0;
|
|
}
|