D3DDDIARG_COMPOSERECTS構造体 (d3dumddi.h)

D3DDDIARG_COMPOSERECTS構造体は、四角形の領域を構成するために使用されるパラメーターを記述します。

構文

typedef struct _D3DDDIARG_COMPOSERECTS {
  [in] HANDLE                hSrcResource;
  [in] UINT                  SrcSubResourceIndex;
  [in] HANDLE                hDstResource;
  [in] UINT                  DstSubResourceIndex;
  [in] HANDLE                hSrcRectDescsVB;
  [in] UINT                  NumRects;
  [in] HANDLE                hDstRectDescsVB;
  [in] D3DDDI_COMPOSERECTSOP Operation;
  [in] INT                   XOffset;
  [in] INT                   YOffset;
} D3DDDIARG_COMPOSERECTS;

メンバー

[in] hSrcResource

ソース サーフェスを含むソース リソースへのハンドル。 サーフェスが作成されると、ユーザー モードディスプレイ ドライバーは、Format メンバーのD3DDDIFMT_A1 (ピクセルあたり 1 ビット) の値を受け取り、ドライバーの CreateResource 関数の呼び出しでD3DDDIARG_CREATERESOURCE構造体の Flags メンバーの TextApi ビット フィールド フラグを受け取ります。 サーフェスはテクスチャの一部として作成する必要があります。

[in] SrcSubResourceIndex

ソース リソース内のソース サーフェスへのインデックス。

[in] hDstResource

変換先のサーフェスを含むターゲット リソースへのハンドル。 サーフェスが作成されると、ユーザー モードディスプレイ ドライバーは、ドライバーの CreateResource の呼び出しで D3DDDIARG_CREATERESOURCE の Format メンバーのD3DDDIFMT_A1 (ピクセルあたり 1 ビット) の値を受け取ります。 サーフェスはテクスチャの一部として作成する必要があります。 TextApi ビット フィールド フラグを使用してサーフェスが作成されている可能性があります。

[in] DstSubResourceIndex

変換先リソース内の変換先サーフェスへのインデックス。

[in] hSrcRectDescsVB

D3DCOMPOSERECTSRCDESC構造体の配列を含む頂点バッファーへのハンドル。 配列内の各要素は、ソースサーフェス上に四角形を定義します。 頂点バッファーが作成されると、ユーザー モードディスプレイ ドライバーは、ドライバーの CreateResource 関数の呼び出しで、D3DDDIARG_CREATERESOURCE構造体の Flags メンバーで TextApi ビット フィールド フラグを受け取ります。

[in] NumRects

コピーする四角形の領域の数。 これは、hDstRectDescsVB メンバーによって識別される頂点バッファー内のD3DCOMPOSERECTDSTDESC構造体の数です。 ドライバーは、 NumRects が 0xFFFF より大きいに設定されている ComposeRects の呼び出しを無視する必要があります。

[in] hDstRectDescsVB

D3DCOMPOSERECTDSTDESC構造体の配列を含む頂点バッファーへのハンドル。 配列内の各要素は、コピー先サーフェス上のソース四角形をコピーする場所を定義します。 詳細については、「解説」を参照してください。 頂点バッファーが作成されると、ユーザー モードディスプレイ ドライバーは、ドライバーの CreateResource 関数の呼び出しで、D3DDDIARG_CREATERESOURCE構造体の Flags メンバーで TextApi ビット フィールド フラグを受け取ります。

[in] Operation

四角形の領域を構成する方法を説明するD3DDDI_COMPOSERECTSOP値。 このメンバーには、次のいずれかの値を指定できます。

Value 意味
D3DDDICOMPOSERECTS_COPY 各ソース ビットをコピー先にコピーします。
D3DDDICOMPOSERECTS_OR OR 操作でソース ビットと変換先ビットを結合し、コピー先にコピーします。
D3DDDICOMPOSERECTS_AND AND 操作でソース ビットと変換先ビットを結合し、コピー先にコピーします。
D3DDDICOMPOSERECTS_NEG ソース ビットの負の部分と宛先ビットを結合し、コピー先にコピーします。 [Dest bit & (~ Src ビット)]

[in] XOffset

すべてのターゲット四角形領域の x 座標に追加するオフセット。 オフセットに負の値を指定すると、結果として得られる四角形が拒否またはクリップされる可能性があります。

[in] YOffset

すべての移動先の四角形領域の y 座標に追加するオフセット。 オフセットに負の値を指定すると、結果として得られる四角形が拒否またはクリップされる可能性があります。

注釈

作成命令を含む頂点バッファーは、D3DUSAGE_TEXTAPI使用して作成されます。 次のコードでは、頂点バッファー配列に含まれる構造体を定義します。 これらの構造の詳細については、DirectX SDK のドキュメントを参照してください。

struct D3DCOMPOSERECTSRCDESC {
USHORT X, Y;          // Coordinates of top-left corner
USHORT width, height; // Width and height of the glyph in bits
};

struct D3DCOMPOSERECTDSTDESC {
USHORT RectDescIndex; // Index of one of the D3DCOMPOSERECTSRCDESC structures in the vertex buffer represented by hSrcRectDescsVB
USHORT reserved;      // Use to align the struct and fields to good boundaries
SHORT X, Y;            // Position in bits in the destination surface
};

要件

要件
サポートされている最小のクライアント Windows Vista 以降のバージョンの Windows オペレーティング システムで使用できます。
Header d3dumddi.h (D3dumddi.h を含む)

こちらもご覧ください

ComposeRects

Rect