サーフェスを指定した範囲を指定した色で塗りつぶす。
int SDL_FillRect(SDL_Surface *dst, SDL_Rect *dstrect, Uint32 color);
dstは塗りつぶすサーフェス。
dstrectは塗りつぶす矩形。
colorは塗りつぶす色で、SDL_MapRGB()などで取得する。
返り値は -1: エラー、 0:成功
#include <SDL/SDL.h> int main(){ /* ビデオサーフェス */ SDL_Surface* videoSurface = NULL; /* 背景色 */ Uint32 bgColor; /* 初期化処理 */ SDL_Init(SDL_INIT_EVERYTHING); /* ウインドウオープン */ SDL_SetVideoMode(640, 480, 0, SDL_HWSURFACE | SDL_DOUBLEBUF); /* ビデオサーフェスの取得 */ videoSurface = SDL_GetVideoSurface(); /* 色(青)を取得する */ bgColor = SDL_MapRGB(videoSurface->format, 0x00, 0x00, 0xFF); /* ウインドウを青で塗りつぶす */ SDL_FillRect(videoSurface, &(videoSurface->clip_rect), bgColor); /* フリップ */ SDL_Flip(videoSurface); /* 3秒ウエイト */ SDL_Delay(3000); /* 終了処理 */ SDL_Quit(); return 0; }
ウインドウを青で塗りつぶすサンプル。
ビデオサーフェス以外のサーフェスも塗りつぶすことができる。