目次 - SDL 3.0 API(機能別) - サーフェイスの生成と単純な描画 - SDL_Surface

SDL_Surface

ソフトウェア転送で使われるピクセルの集まりの構造体

ヘッダ

SDL3/SDL_surface.h

フィールド

SDL_SurfaceFlagsflagsサーフェイスのフラグ (読み取り専用)
SDL_PixelFormatformatサーフェイスに格納されたピクセルの形式 (読取専用)
intw幅のピクセル数 (読取専用)
inth高さのピクセル数 (読取専用)
intpitch幅のピクセルのバイト数 (読取専用)
void *pixelsサーフェイスのピクセルへのポインタ. NULLでなければ書き込むことができる
intrefcountアプリケーションからの参照数. サーフェイスの解放時に使用される
void *reserved内部使用のための予約

詳細

ピクセルはメモリ上に行ごとに配置されている. 一番上の行が先頭である. 各行のサイズはpitch(SDL以外のAPIではストライドと呼ばれることもある)のバイト数である.

各行の中では, ピクセルはwidthになるまで左から右に向かって配置されている. 各ピクセルのサイズはformatに従ったビット数であり, ほとんどの形式では1またはそれ以上のバイトで(一部のインデックス形式では1バイト内に複数のピクセルが詰められている), ピクセル形式に従ったバイト順になっている. ピクセルの後ろのpitchに達するまでの残りのバイトは, バイト境界までのパッディングであり, その内容は未定義である.

サーフェイスがYUV形式のデータを格納している場合は, 各プレーンは間にパッディングなしで隣接している. 例えば, 32×32のNV12形式でpitchが32ならば, Yプレーンは32×32バイトで, その後に32×16バイトのUVプレーンが続いている.

サーフェイスがMJPG形式のデータを格納している場合は, pixelsは圧縮されたJPEG画像へのポインタで, pitchはデータのサイズである.

バージョン

SDL 3.2.0以降

関連項目

SDL Wikiへのリンク

SDL_Surface - SDL Wiki