DD_BLTDATA 構造体 (ddrawint.h)

DD_BLTDATA構造体には、ビット ブロック転送を実行するためのドライバーに関連する情報が含まれています。

構文

typedef struct _DD_BLTDATA {
  PDD_DIRECTDRAW_GLOBAL lpDD;
  PDD_SURFACE_LOCAL     lpDDDestSurface;
  RECTL                 rDest;
  PDD_SURFACE_LOCAL     lpDDSrcSurface;
  RECTL                 rSrc;
  DWORD                 dwFlags;
  DWORD                 dwROPFlags;
  DDBLTFX               bltFX;
  HRESULT               ddRVal;
  VOID                  *Blt;
  BOOL                  IsClipped;
  RECTL                 rOrigDest;
  RECTL                 rOrigSrc;
  DWORD                 dwRectCnt;
  LPRECT                prDestRects;
  DWORD                 dwAFlags;
  DDARGB                ddargbScaleFactors;
} *PDD_BLTDATA, DD_BLTDATA;

メンバー

lpDD

ドライバーのデバイスを記述する DD_DIRECTDRAW_GLOBAL 構造体を指します。

lpDDDestSurface

blit の 対象 となるサーフェスを表すDD_SURFACE_LOCAL構造体を指します。

rDest

lpDDSrcSurface

ソース サーフェスを記述するDD_SURFACE_LOCAL構造体を指します。

rSrc

dwFlags

実行する blit 操作の種類と、ドライバーが使用する必要がある有効なデータを持つ関連する構造体メンバーを指定するフラグのセットを示します。 このメンバーは、次のいずれかのフラグのビットごとの OR です。

フラグ 説明
DDBLT_ASYNC この blit は、受信した順序で FIFO を介して非同期的に実行します。 ハードウェア FIFO に会議室が存在しない場合、ドライバーは呼び出しに失敗し、すぐに戻る必要があります。
DDBLT_COLORFILL DDBLTFX 構造体 (Microsoft DirectDraw SDK のドキュメントで定義) の dwFillColor メンバーを、変換先のサーフェイスの変換先の四角形に塗りつぶす RGB 色として使用します。
DDBLT_DDFX DDBLTFX 構造体 (DirectDraw SDK ドキュメントで定義) の dwDDFX メンバーを使用して、blit に使用する効果を判断します。
DDBLT_DDROPS このフラグはシステムで使用するために予約されており、ドライバーでは無視する必要があります。 ドライバーは、DDBLTFX 構造体の dwDDROPS メンバーも無視する必要があります。
DDBLT_EXTENDED_FLAGS
Microsoft DirectX 9.0 以降のバージョンのみ。
DirectX 8.1 以前のバージョンの意味から dwFlags の特定のフラグを再解釈するようにドライバーを指示するようにランタイムによって設定されます。 ランタイムは、ビットごとの OR を使用して DDBLT_EXTENDED_FLAGS と DDBLT_Xxx フラグを組み合わせて、DDBLT_EXTENDED_Xxx フラグを 作成します。
DDBLT_EXTENDED_LINEAR_CONTENT
Microsoft DirectX 9.0 以降のバージョンのみ。
DDBLT_EXTENDED_FLAGSと0x00000004 ビットのビットごとの OR の組み合わせによって作成されます。
ソース サーフェスに線形色空間内のコンテンツが含まれていることを示します。 ドライバーは、blt の一部としてデスクトップの色空間にガンマ 2.2 補正 (sRGB) を実行できます。
DDBLT_EXTENDED_PRESENTATION_STRETCHFACTOR
Microsoft DirectX 9.0 以降のバージョンのみ。
NT ベースのオペレーティング システムのみ。
DDBLT_EXTENDED_FLAGSと0x00000010 ビットのビットごとの OR の組み合わせによって作成されます。
ランタイムが後で DDBLT_PRESENTATION フラグと DDBLT_LAST_PRESENTATION フラグを使用して、アプリケーションによる Present 呼び出しのために一連の stretch-blit 操作を要求する場合に設定します。
ドライバーが blit の実際のサブ四角形領域を受け取る前に、クリップされていないソースと宛先の四角形領域全体についてドライバーに通知します。 このようにして、ドライバーは、DDBLT_LAST_PRESENTATION フラグが設定された blit までの後続のすべての blit のストレッチ係数を計算して記録できます。 ただし、ドライバーが DDBLT_EXTENDED_PRESENTATION_STRETCHFACTOR フラグが設定された blit を受け取った場合、ドライバーは、これらのクリップされていない四角形領域を使用して実際の blitting を実行することはできません。
ドライバーがDDBLT_LAST_PRESENTATION フラグを設定して最終的な blit を完了した後、後続の blit との干渉を防ぐために、ドライバーは stretch-factor レコードをクリアする必要があります
.
DDBLT_KEYDESTOVERRIDE DDBLTFX 構造体 (DirectDraw SDK のドキュメントで定義) の dckDestColorkey メンバーを、変換先サーフェスのカラー キーとして使用します。 オーバーライドが設定されていない場合、 dckDestColorkey にはカラー キーは含まれません。 ドライバーは、サーフェス自体をテストする必要があります。
DDBLT_KEYSRCOVERRIDE ソース サーフェイスのカラー キーとして、DDBLTFX 構造体 (DirectDraw SDK ドキュメントで定義) の dckSrcColorkey メンバーを使用します。 オーバーライドが設定されていない場合、 dckDestColorkey にはカラー キーは含まれません。 ドライバーは、サーフェス自体をテストする必要があります。
DDBLT_LAST_PRESENTATION
DirectX 8.0 以降のバージョンのみ。
アプリケーションによる Present 呼び出しが原因で、ランタイムが最終的な blit 操作を要求する場合に設定します。
DDBLT_PRESENTATION
DirectX 8.0 以降のバージョンのみ。
アプリケーションによる Present 呼び出しが原因でランタイムが blit 操作を要求する場合に設定します。
DDBLT_ROP この blit のラスター操作には、DDBLTFX 構造体 (DirectDraw SDK ドキュメントで定義) の dwROP メンバーを使用します。 現在、ドライバーに渡される ROP は SRCCOPY のみです。 この ROP は、Win32 API で定義されているのと同じです。 詳細については、Microsoft Windows SDKドキュメントを参照してください。
DDBLT_ROTATIONANGLE このフラグは Windows 2000 以降ではサポートされていないため、ドライバーでは無視する必要があります。
DDBLT_WAIT blitter がビジー状態の場合は、DDERR_WASSTILLDRAWING メッセージをすぐに返さないでください。blit を設定できるまで待機するか、別のエラーが発生するまで待ちます。

dwROPFlags

Windows 2000 以降では使用されず、ドライバーでは無視する必要があります。

bltFX

#########

#######

ddRVal

ドライバーが DdBlt コールバックの戻り値を書き込む場所を指定します。 DD_OKのリターン コードは成功を示します。 詳細については、「 DirectDraw の戻り値」を参照してください。

Blt

DirectDraw API で使用され、ドライバーで入力しないでください。

IsClipped

これがクリップされた blit であるかどうかを示します。 Windows 2000 以降では、このメンバーは常に FALSE であり、blit がクリップされていないことを示します。

rOrigDest

Windows 2000 以降では使用されません。 クリップされていない変換先の四角形を定義する RECTL 構造体を指定します。 このメンバーは、 IsClippedTRUE の場合にのみ有効です。

rOrigSrc

Windows 2000 以降では使用されません。 クリップされていないソース四角形を定義する RECTL 構造体を指定します。 このメンバーは、 IsClippedTRUE の場合にのみ有効です。

dwRectCnt

Windows 2000 以降では使用されません。prDestRects がポイントする変換先の四角形の数を指定します。 このメンバーは、 IsClippedTRUE の場合にのみ有効です。

prDestRects

Windows 2000 以降では使用されません。 変換先の四角形を記述する RECTL 構造体の配列を指します。 このメンバーは、 IsClippedTRUE の場合にのみ有効です。

dwAFlags

未使用であり、ドライバーによって無視される必要があります。

ddargbScaleFactors

ARGB スケーリング係数 (AlphaBlt)

注釈

DDBLT_PRESENTATIONフラグとDDBLT_LAST_PRESENTATION フラグの詳細については、「 プレゼンテーション」を参照してください。

要件

要件
Header ddrawint.h (Winddi.h を含む)

こちらもご覧ください

DdBlt