структура 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 (один бит на пиксель) в элементе Format и флаг битового поля TextApi в элементе Flagsструктуры D3DDDIARG_CREATERESOURCE в вызове функции CreateResource драйвера. Поверхность должна быть создана как часть текстуры.
[in] SrcSubResourceIndex
Индекс исходной поверхности в исходном ресурсе.
[in] hDstResource
Дескриптор целевого ресурса, который содержит область назначения. При создании поверхности драйвер отображения пользовательского режима получает значение D3DDDIFMT_A1 (один бит на пиксель) в элементе FormatD3DDDIARG_CREATERESOURCE в вызове CreateResource драйвера. Поверхность должна быть создана как часть текстуры. Возможно, поверхность была создана с флагом битового поля TextApi .
[in] DstSubResourceIndex
Индекс области назначения в целевом ресурсе.
[in] hSrcRectDescsVB
Дескриптор буфера вершин, содержащий массив D3DCOMPOSERECTSRCDESC структур. Каждый элемент в массиве определяет прямоугольник на исходной поверхности. При создании буфера вершин драйвер отображения пользовательского режима получает флаг битового поля TextApi в элементе Flags структуры D3DDDIARG_CREATERESOURCE при вызове функции CreateResource драйвера.
[in] NumRects
Число прямоугольных областей для копирования, то есть количество D3DCOMPOSERECTDSTDESC структур в буфере вершин, определяемых элементом hDstRectDescsVB . Драйверы должны игнорировать вызовы ComposeRects с параметром NumRects , для которого задано значение больше 0xFFFF.
[in] hDstRectDescsVB
Дескриптор буфера вершин, содержащий массив D3DCOMPOSERECTDSTDESC структур. Каждый элемент в массиве определяет место копирования исходного прямоугольника на конечную поверхность. Дополнительные сведения см. в разделе "Примечания". При создании буфера вершин драйвер отображения пользовательского режима получает флаг битового поля TextApi в элементе Flags структуры D3DDDIARG_CREATERESOURCE при вызове функции CreateResource драйвера.
[in] Operation
Значение D3DDDI_COMPOSERECTSOP, описывающее способ создания прямоугольных областей. Этот элемент может иметь одно из следующих значений.
Значение | Значение |
---|---|
D3DDDICOMPOSERECTS_COPY | Скопируйте каждый исходный бит в место назначения. |
D3DDDICOMPOSERECTS_OR | Объедините исходный и целевой биты в операции ИЛИ и скопируйте его в место назначения. |
D3DDDICOMPOSERECTS_AND | Объедините исходный и целевой биты в операции AND и скопируйте его в место назначения. |
D3DDDICOMPOSERECTS_NEG | Объедините отрицательные исходные биты с целевыми битами и скопируйте их в место назначения. [Dest bit & (~ Src bit)] |
[in] XOffset
Смещение, добавляемое к координатам X всех прямоугольных областей назначения. Смещение может быть отрицательным, что может привести к отклонению или обрезке результирующих прямоугольников.
[in] YOffset
Смещение, добавляемое к координатам Y всех прямоугольных областей назначения. Смещение может быть отрицательным, что может привести к отклонению или обрезке результирующих прямоугольников.
Комментарии
Буферы вершин, содержащие инструкции по составлению, создаются с использованием D3DUSAGE_TEXTAPI. В следующем коде определяются структуры, содержащиеся в буферных массивах вершин. Дополнительные сведения об этих структурах см. в документации по пакету SDK для DirectX.
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) |