структура 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)

См. также раздел

ComposeRects

RECT