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_CREATERESOURCE的 Format 成员中的值。 表面必须创建为纹理的一部分。 图面可能是使用 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) |