SDL_SurfaceFlags | flags | サーフェイスのフラグ (読み取り専用) |
SDL_PixelFormat | format | サーフェイスに格納されたピクセルの形式 (読取専用) |
int | w | 幅のピクセル数 (読取専用) |
int | h | 高さのピクセル数 (読取専用) |
int | pitch | 幅のピクセルのバイト数 (読取専用) |
void * | pixels | サーフェイスのピクセルへのポインタ. NULLでなければ書き込むことができる |
int | refcount | アプリケーションからの参照数. サーフェイスの解放時に使用される |
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
はデータのサイズである.