DDSURFACEDESC
DDSURFACEDESC 構造体は、サーフェスの記述を含む。この構造体は、IDirectDraw2::CreateSurface メソッドに渡される。関係するメンバは、サーフェスの個々のタイプにより異なる。
IDirectDraw7 インターフェイスを使用する場合、このサーフェスは DDSURFACEDESC2 構造体によって置き換えられる。
typedef struct _DDSURFACEDESC {
DWORD dwSize;
DWORD dwFlags;
DWORD dwHeight;
DWORD dwWidth;
union
{
LONG lPitch;
DWORD dwLinearSize;
};
DWORD dwBackBufferCount;
union
{
DWORD dwMipMapCount;
DWORD dwZBufferBitDepth;
DWORD dwRefreshRate;
};
DWORD dwAlphaBitDepth;
DWORD dwReserved;
LPVOID lpSurface;
DDCOLORKEY ddckCKDestOverlay;
DDCOLORKEY ddckCKDestBlt;
DDCOLORKEY ddckCKSrcOverlay;
DDCOLORKEY ddckCKSrcBlt;
DDPIXELFORMAT ddpfPixelFormat;
DDSCAPS ddsCaps;
} DDSURFACEDESC, FAR* LPDDSURFACEDESC;
メンバ
- dwSize
- バイト単位の構造体のサイズ。このメンバは、構造体を使用する前に初期化しなくてはならない。
- dwFlags
- オプション制御フラグ。以下のフラグのうち、1 つ以上の値を取る。
- DDSD_ALL
- 入力メンバはすべて有効である。
- DDSD_ALPHABITDEPTH
- dwAlphaBitDepth メンバは有効である。
- DDSD_BACKBUFFERCOUNT
- dwBackBufferCount メンバは有効である。
- DDSD_CAPS
- ddsCaps メンバは有効である。
- DDSD_CKDESTBLT
- ddckCKDestBlt メンバは有効である。
- DDSD_CKDESTOVERLAY
- ddckCKDestOverlay メンバは有効である。
- DDSD_CKSRCBLT
- ddckCKSrcBlt メンバは有効である。
- DDSD_CKSRCOVERLAY
- ddckCKSrcOverlay メンバは有効である。
- DDSD_HEIGHT
- dwHeight メンバは有効である。
- DDSD_LINEARSIZE
- dwLinearSize メンバは有効である。
- DDSD_LPSURFACE
- lpSurface メンバは有効である。
- DDSD_MIPMAPCOUNT
- dwMipMapCount メンバは有効である。
- DDSD_PITCH
- lPitch メンバは有効である。
- DDSD_PIXELFORMAT
- ddpfPixelFormat メンバは有効である。
- DDSD_REFRESHRATE
- dwRefreshRate メンバは有効である。
- DDSD_WIDTH
- dwWidth メンバは有効である。
- DDSD_ZBUFFERBITDEPTH
- dwZBufferBitDepth メンバは有効である。
- dwHeight、dwWidth
- ピクセル単位で作成しようとするサーフェスのディメンジョン。
- lPitch
- 次のラインの開始までのバイト単位の距離。IDirectDrawSurface7::GetSurfaceDesc メソッドを使用する場合、これは戻り値となる。既存のメモリからサーフェスを作成する場合、または IDirectDrawSurface7::SetSurfaceDesc メソッドを呼び出す場合、これは入力値となる。この入力値は DWORD の倍数でなければならない。
- dwLinearSize
- バッファのサイズ。現時点では、圧縮されたテクスチャ サーフェスのためだけに返される。
- dwBackBufferCount
- バック バッファの数。
- dwMipMapCount
- ミップマップ レベルの数。
- dwZBufferBitDepth
- Z バッファの深度。このメンバは、DirectX 6.0 以降のバージョンのために取得される。IDirect3D7::EnumZBufferFormats を使用して、サポートされる深度バッファ フォーマットの情報を取得する。
- dwRefreshRate
- リフレッシュ レート (ディスプレイ モードを記述する場合に使用)。この値が 0 の場合、アダプタ デフォルトを示す。
- dwAlphaBitDepth
- アルファ バッファの深度。
- dwReserved
- 将来的な使用のために確保されている。
- lpSurface
- 関連付けられたサーフェス メモリのアドレス。IDirectDrawSurface7::Lock を呼び出すと、呼び出しが戻った後、このメンバはサーフェス メモリへの有効なポインタを含む。既存のメモリからサーフェスを作成する場合、または IDirectDrawSurface7::SetSurfaceDesc メソッドを使用する場合、このメンバは入力値となる。この入力値とは、呼び出し側アプリケーションによって割り当てられたシステム メモリのアドレスである。アプリケーションがサーフェス メモリの割り当てや管理のために DirectDraw を必要とする場合、このメンバを設定できない。
- ddckCKDestOverlay
- オーバーレイ サーフェスの転送先カラー キーを記述する DDCOLORKEY 構造体。
- ddckCKDestBlt
- ブリット処理の転送先カラー キーを記述する DDCOLORKEY 構造体。
- ddckCKSrcOverlay
- オーバーレイ サーフェスの転送元カラー キーを記述する DDCOLORKEY 構造体。
- ddckCKSrcBlt
- ブリット処理の転送元カラー キーを記述する DDCOLORKEY 構造体。
- ddpfPixelFormat
- サーフェスのピクセル フォーマットを記述する DDPIXELFORMAT 構造体。
- ddsCaps
- サーフェスの能力を含む DDSCAPS 構造体。
注意
この構造体は DDSURFACEDESC2 構造体と類似しているが、DDSCAPS2 構造体ではなく ddsCaps メンバとして DDSCAPS 構造体を含んでいる。DDSURFACEDESC2 とは異なり、この構造体は dwZBufferBitDepth メンバを含む。
Windows NT/2000 : Windows NT 4.0 Service Pack 3 またはそれ以降が必要。
Windows 95/98 : Windows 95 以降が必要。Windows 95 用に再配布可能な形で使用可能。
ヘッダー : ddraw.h で宣言。