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

包含源图面的源资源的句柄。 创建图面时,用户模式显示驱动程序接收D3DDDIFMT_A1 (每像素一位) 值,在调用驱动程序的 CreateResource 函数时,D3DDDIARG_CREATERESOURCE结构的Flags 成员中的 TextApi 位字段标志。 表面必须创建为纹理的一部分。

[in] SrcSubResourceIndex

源资源中源图面的索引。

[in] hDstResource

包含目标图面的目标资源的句柄。 创建图面时,用户模式显示驱动程序在调用驱动程序的 CreateResource 时,接收D3DDDIFMT_A1 (每像素一位) D3DDDIARG_CREATERESOURCEFormat 成员中的值。 表面必须创建为纹理的一部分。 图面可能是使用 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值。 此成员可以是以下值之一。

含义
D3DDDICOMPOSERECTS_COPY 将每个源位复制到目标。
D3DDDICOMPOSERECTS_OR 在 OR 操作中合并源位和目标位,并复制到目标。
D3DDDICOMPOSERECTS_AND 在 AND 操作中合并源位和目标位,并复制到目标。
D3DDDICOMPOSERECTS_NEG 将源位的负数与目标位合并,并复制到目标位。 [Dest bit & (~ Src bit) ]

[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 操作系统中可用。
标头 d3dumddi.h (包括 D3dumddi.h)

另请参阅

ComposeRects

矩形