Структура XLATEOBJ (winddi.h)
Структура XLATEOBJ используется для преобразования цветовых индексов из одной палитры в другую.
Синтаксис
typedef struct _XLATEOBJ {
ULONG iUniq;
FLONG flXlate;
USHORT iSrcType;
USHORT iDstType;
ULONG cEntries;
ULONG *pulXlate;
} XLATEOBJ;
Члены
iUniq
Идентификатор кэша, позволяющий драйверу распознавать ранее кэшированную структуру XLATEOBJ. Если этот элемент равен нулю, драйвер не должен кэшировать структуру XLATEOBJ.
flXlate
Флаги, указывающие указания о переводе. Этот элемент может быть любым сочетанием следующих значений:
Значение | Значение |
---|---|
XO_DEVICE_ICM | ICM включен на устройстве. Драйвер должен переводить цвет в соответствии с преобразованием цвета, созданным DrvIcmCreateColorTransform. Драйвер должен вызвать XLATEOBJ_hGetColorTransform , чтобы получить дескриптор преобразования цвета. Этот бит является взаимоисключающим из XO_HOST_ICM. |
XO_FROM_CMYK | В результате перевода ICM исходные индексы переводятся в 32-разрядный цветовый формат CMYK . Если этот бит задан, iSrcType, iDstType, cEntries и pulXlate следует игнорировать. |
XO_HOST_ICM | ICM выполняется графическим обработчиком, поэтому цвета в этой таблице цветов корректируются на целевую поверхность. Этот бит задается GDI в качестве сведений для драйвера: драйвер не требует никаких действий. Этот бит является взаимоисключающим из XO_DEVICE_ICM. |
XO_TABLE | Для перевода исходных индексов в целевые индексы предоставляется таблица. |
XO_TO_MONO | Исходные индексы преобразуются в монохромный формат со специальным свойством, которое все индексы сопоставляются с нулевым значением, кроме одного. Драйвер может использовать его для ускорения передачи блоков. |
XO_TRIVIAL | Исходные индексы можно использовать в качестве целевых индексов. |
iSrcType
Является устаревшим. Используйте XLATEOBJ_cGetPalette для запроса исходного формата.
iDstType
Является устаревшим. Используйте XLATEOBJ_cGetPalette для запроса формата назначения.
cEntries
Указывает количество записей в массиве, на который указывает элемент pulXlate . Индексирование в pulXlate со значением больше cEntries приводит к нарушению доступа к памяти.
pulXlate
Указатель на массив записей перевода.
Комментарии
Целевая палитра всегда относится к целевой поверхности какой-то операции рисования. Исходная палитра — это палитра, выбранная приложением, или палитра из другой поверхности.
Структура XLATEOBJ используется для преобразования цветовых индексов, ссылающихся на исходную палитру, в индексы конечной палитры. Результирующий индекс определяет цвет, который максимально точно соответствует исходному цвету.
Требования
Требование | Значение |
---|---|
Заголовок | winddi.h (включая Winddi.h) |