Функция EngTextOut (winddi.h)
Функция EngTextOut заставляет GDI отображать набор глифов в указанных позициях.
Синтаксис
ENGAPI BOOL EngTextOut(
SURFOBJ *pso,
STROBJ *pstro,
FONTOBJ *pfo,
CLIPOBJ *pco,
RECTL *prclExtra,
RECTL *prclOpaque,
BRUSHOBJ *pboFore,
BRUSHOBJ *pboOpaque,
POINTL *pptlOrg,
[in] MIX mix
);
Параметры
pso
Указатель на структуру SURFOBJ , описывающую поверхность, на которой выполняется запись.
pstro
Указатель на структуру STROBJ , которая определяет отрисовываемые глифы и позиции, в которых они должны быть размещены.
pfo
Указатель на структуру FONTOBJ , которая используется для получения сведений о шрифте и его глифах.
pco
Указатель на структуру CLIPOBJ , которая определяет область клипа, через которую необходимо выполнить отрисовку. Никакие пиксели не могут быть затронуты за пределами этой области клипа.
prclExtra
Указатель на структуру RECTL . Этот параметр всегда должен иметь значение NULL.
prclOpaque
Указатель на структуру RECTL, которая идентифицирует один непрозрачный прямоугольник, который является эксклюзивным в нижнем правом углу. Пиксели внутри этого прямоугольника (те, которые не являются передним планом и не обрезаны) должны отображаться с помощью непрозрачной кисти. Этот прямоугольник всегда ограничивает отрисовываемый текст. Если этот параметр имеет значение NULL, отрисовка непрозрачных пикселей не требуется.
pboFore
Указатель на структуру BRUSHOBJ , представляющую объект кисти, используемый для пикселей переднего плана. Эта кисть всегда будет кистью сплошного цвета.
pboOpaque
Указатель на структуру BRUSHOBJ, представляющую объект кисти для непрозрачных пикселей. Предполагается, что режимы сочетания переднего плана и фона для этой кисти R2_COPYPEN. Если драйвер не задает бит GCAPS_ARBRUSHOPAQUE возможностей в элементе flGraphicsCaps структуры DEVINFO , он всегда будет вызываться с помощью сплошной цветной кисти.
pptlOrg
Указатель на структуру POINTL , которая определяет источник кисти для обеих кистей. Если при вызове EngTextOut для этого параметра задано значение 0, некоторые драйверы принтеров могут неправильно печатать цветные изображения. Дополнительные сведения см. в разделе Примечания.
[in] mix
Указывает операции переднего плана и фоновые растровые операции (режимы сочетания) для pboFore.
Возвращаемое значение
Если функция выполнена успешно, возвращаемое значение равно TRUE . В противном случае имеет значение FALSE и регистрируется код ошибки.
Комментарии
Драйвер должен вызывать EngTextOut , если он подключил DrvTextOut и не может отрисовыть глифы.
Если параметру pptlOrg этой функции присвоено значение 0, некоторые драйверы принтеров неправильно печатают цветные изображения в Microsoft Windows Server 2003 (японская версия). Значение параметра pptlOrg равно 0, значение указателя NULL , интерпретируется как означать, что источник кисти не определен. Чтобы избежать этой проблемы, инициализируйте pptlOrg адресом структуры POINTL, члены которой имеют значение (0,0), перед вызовом EngTextOut.
Передний план и непрозрачные пиксели рассматриваются как экран, через который цвет кисти на поверхности. Глифы шрифта сами по себе не имеют цвета.
Входные параметры EngTextOut определяют набор пикселей глифа, набор дополнительных прямоугольников, непрозрачный прямоугольник и область клипа. Драйвер должен вычислить, а затем отобразить набор пикселей переднего плана и непрозрачных пикселей.
Смешанный режим определяет, как входящий шаблон должен быть смешан с данными, уже размещенными на поверхности устройства. Тип данных MIX состоит из двух значений ROP2, упакованных в один ULONG. Байт низкого порядка определяет растровую операцию переднего плана; следующий байт определяет фоновую операцию растра. Дополнительные сведения о кодах растровых операций см. в документации по Microsoft Windows SDK.
Требования
Минимальная версия клиента | Доступно в Windows 2000 и более поздних версиях операционных систем Windows. |
Целевая платформа | Универсальное |
Верхняя часть | winddi.h (включая Winddi.h) |
Библиотека | Win32k.lib |
DLL | Win32k.sys |