SDL_Surface

Name

SDL_Surface --  絵のサーフェスの構造体

Structure Definition


typedef struct SDL_Surface {
        Uint32 flags;                           /* 読込専用 */
        SDL_PixelFormat *format;                /* 読込専用 */
        int w, h;                               /* 読込専用 */
        Uint16 pitch;                           /* 読込専用 */
        void *pixels;                           /* 読み書き */

        /* clipping information */
        SDL_Rect clip_rect;                     /* 読込専用 */

        /* Reference count -- used when freeing surface */
        int refcount;                           /* ほとんど読込 */

	/* This structure also contains private fields not shown here */
} SDL_Surface;

Structure Data

flags サーフェスのフラグ
format ピクセル フォーマット
w, h サーフェスの幅と高さ
pitch サーフェスのスキャンラインの長さ(バイト)
pixels 実際のピクセルデータへのポインタ
clip_rect サーフェスのクリッピング領域

Description

SDL_Surface は 描画される「絵」のメモリを表現する領域です。 ビデオフレームバッファは SDL_SetVideoModeSDL_GetVideoSurface から SDL_Surface として返されます。 ほとんどのフィールドはとても明確です。 wh は サーフェスの幅と高さのピクセル数です。 pixels は実際のピクセル領域へのポインタであり、 このフィールドにアクセスする前にサーフェスは ロックされるべきです。 clip_rect フィールドは SDL_SetClipRect によってセットされるクリッピング矩形領域です。

flags フィールドでは以下がサポートされています。

SDL_SWSURFACE サーフェスがシステムメモリに格納されます。
SDL_HWSURFACE サーフェスがビデオメモリに格納されます。
SDL_ASYNCBLIT 可能であればサーフェスは非同期 blit 転送を使用します。
SDL_ANYFORMAT 任意のピクセルフォーマットを許可します。(表示サーフェス)
SDL_HWPALETTE サーフェスには排他的なパレットがあります。
SDL_DOUBLEBUF サーフェスはダブルバッファです。(表示サーフェス)
SDL_FULLSCREEN サーフェスはフルスクリーンです。(表示サーフェス)
SDL_OPENGL サーフェスには OpenGL コンテキストがあります。(表示サーフェス)
SDL_OPENGLBLIT サーフェスは OpenGL への blit 転送をサポートします。(表示サーフェス)
SDL_RESIZABLE サーフェスはサイズ変更が可能です。(表示サーフェス)
SDL_HWACCEL サーフェスの blit 転送にはハードウェアアクセラレーションを使います。
SDL_SRCCOLORKEY サーフェスはカラーキー付き blit 転送を使います。
SDL_RLEACCEL カラーキー付き blit 転送は RLE (ランレングス圧縮)による アクセラレーションが利きます。
SDL_SRCALPHA サーフェスの blit 転送はαブレンディングを使います。
SDL_PREALLOC サーフェスは前もって確保されたメモリを使います。

See Also

SDL_PixelFormat