Um einen rechteckigen Bereich auf einer Oberfläche einzufärben, gibt es die Funktion SDL_FillRect. Sie bietet sich beispielsweise zum Färben des Bildschirmhintergrunds an:

Quelltext

Bearbeiten
 SDL_Rect dst;
 dst.x = 100;
 dst.y = 100;
 dst.w = 100;
 dst.h = 50;
 SDL_FillRect(screen, &dst, SDL_MapRGB(screen->format, 255, 0, 0));

Erläuterungen

Bearbeiten

In der ersten Zeile wird wie gewohnt ein Rechteck deklariert. Es dient zur Festlegung des Zielbereichs für die Fülloperation. Zunächst wird das Rechteck mit Werten initialisiert, bevor es dann an die SDL_FillRect Funktion als Parameter für das Füllen der Oberfläche screen mit einer bestimmten Farbe übergeben wird.

Um den dritten Parameter der SDL_FillRect Funktion, welcher die Farbe erwartet, einfacher zu füllen, gibt es die SDL_MapRGB Funktion, die es einem erlaubt eine Farbe durch einfaches eingeben einer RGB-Darstellung dieser Farbe zu definieren. Einzig weiter benötigter Parameter ist das Pixel-Format der Oberfläche auf die diese Farbe angewandt werden soll, so dass die Funktion SDL_MapRGB einen für diese Oberfläche anwendbaren Farbwert generiert.