Programmbeispiel - SDL initialisieren und Videomodus einstellen
Das folgende Listing verwendet alle bisher besprochenen Funktionen. Der Video-Untermodus von SDL wird erst initialisiert und anschließend wird versucht, ein Fenster mit dem Modus 640 x 480 und 16 Bit-Farbtiefe im Hauptspeicher zu erstellen. Natürlich können Sie hierbei an den Angaben der Parameter experimentieren./* sdl1.c */
#include <SDL/SDL.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
int main (void) {
SDL_Surface *screen;
/* SDLs Video-System initialisieren und auf */
/* Fehler überprüfen */
if (SDL_Init ( SDL_INIT_VIDEO ) != 0) {
printf ("Konnte SDL nicht initialisieren: %s\n",
SDL_GetError ());
return EXIT_FAILURE;
}
/* Wenn die Anwendung beendet wird, */
/* wird die Funktion SDL_Quit() ausgeführt */
atexit (SDL_Quit);
/* Videomodus mit 640x480 Pixeln, Hi-Color (16Bit) */
/* einrichten. Oberfläche (Surface) Standardmäßig in */
/* den Hauptspeicher (SDL_SWSURFACE) legen */
screen = SDL_SetVideoMode (640, 480, 16, SDL_SWSURFACE);
if (screen == NULL) {
printf ("Videomodus konnte nicht eingerichtet werden: "
" %s\n", SDL_GetError ());
return EXIT_FAILURE;
}
/* 4000 ms warten ... */
SDL_Delay (4000);
printf ("Erfolgreich beendet!\n");
return EXIT_SUCCESS;
}
Das Programm bei der Ausführung:
TTY
you@host > gcc `sdl-config --libs` `sdl-config --cflags` -o sdl1 sdl1.c
you@host > ./sdl1
...
Nach dem Starten des Listings erscheint bei erfolgreicher Ausführung für 4000 Millisekunden ein SDL-Fenster (genauer das Surface), womit/worauf Sie jetzt weitere Aktionen starten könnten - und im Verlauf der Kapitels auch werden.
