D3DDDIARG_COMPOSERECTS structure (d3dumddi.h)
The D3DDDIARG_COMPOSERECTS structure describes the parameters that are used to compose rectangular areas.
Syntax
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;
Members
[in] hSrcResource
A handle to the source resource that contains the source surface. When the surface is created, the user-mode display driver receives the D3DDDIFMT_A1 (one bit per pixel) value in the Format member and the TextApi bit-field flag in the Flags member of the D3DDDIARG_CREATERESOURCE structure in a call to the driver's CreateResource function. The surface must be created as part of a texture.
[in] SrcSubResourceIndex
The index to the source surface within the source resource.
[in] hDstResource
A handle to the destination resource that contains the destination surface. When the surface is created, the user-mode display driver receives the D3DDDIFMT_A1 (one bit per pixel) value in the Format member of D3DDDIARG_CREATERESOURCE in a call to the driver's CreateResource. The surface must be created as part of a texture. The surface might have been created with the TextApi bit-field flag.
[in] DstSubResourceIndex
The index to the destination surface within the destination resource.
[in] hSrcRectDescsVB
A handle to a vertex buffer that contains an array of D3DCOMPOSERECTSRCDESC structures. Each element in the array defines a rectangle on the source surface. When the vertex buffer is created, the user-mode display driver receives the TextApi bit-field flag in the Flags member of the D3DDDIARG_CREATERESOURCE structure in a call to the driver's CreateResource function.
[in] NumRects
The number of rectangular areas to copy, which is the number of D3DCOMPOSERECTDSTDESC structures in the vertex buffer that is identified by the hDstRectDescsVB member. Drivers should ignore calls to ComposeRects with NumRects set to greater than 0xFFFF.
[in] hDstRectDescsVB
A handle to a vertex buffer that contains an array of D3DCOMPOSERECTDSTDESC structures. Each element in the array defines where to copy a source rectangle on the destination surface. For more information, see the following Remarks section. When the vertex buffer is created, the user-mode display driver receives the TextApi bit-field flag in the Flags member of the D3DDDIARG_CREATERESOURCE structure in a call to the driver's CreateResource function.
[in] Operation
A D3DDDI_COMPOSERECTSOP value that describes how to compose the rectangular areas. This member can be one of the following values.
Value | Meaning |
---|---|
D3DDDICOMPOSERECTS_COPY | Copy each source bit to the destination. |
D3DDDICOMPOSERECTS_OR | Combine source and destination bits in an OR operation and copy to the destination. |
D3DDDICOMPOSERECTS_AND | Combine source and destination bits in an AND operation and copy to the destination. |
D3DDDICOMPOSERECTS_NEG | Combine the negative of the source bits with the destination bits and copy to the destination. [Dest bit & (~ Src bit)] |
[in] XOffset
An offset to add to the x-coordinates of all of the destination rectangular areas. The offset can be negative, which might cause the resultant rectangles to be rejected or clipped.
[in] YOffset
An offset to add to the y-coordinates of all of the destination rectangular areas. The offset can be negative, which might cause the resultant rectangles to be rejected or clipped.
Remarks
The vertex buffers that contain the composing instructions are created with D3DUSAGE_TEXTAPI usage. The following code defines the structures that are contained in the vertex buffer arrays. For more information about these structures, see the DirectX SDK documentation.
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
};
Requirements
Requirement | Value |
---|---|
Minimum supported client | Available in Windows Vista and later versions of the Windows operating systems. |
Header | d3dumddi.h (include D3dumddi.h) |