Поделиться через


Функция 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 и не может отрисовыть глифы.

Примечание Драйвер не может подключиться к EngTextOut, если он подключил DrvTextOut для управляемой устройством поверхности.
 
Входные параметры для EngTextOut определяют два набора пикселей: передний и непрозрачный. Драйвер должен отрисовывать поверхность, чтобы результат был идентичен процессу, в котором непрозрачные пиксели сначала отображаются с помощью непрозрачной кисти, а затем пиксели переднего плана отрисовываются с помощью кисти переднего плана. Каждая из этих операций ограничена отсечениями.

Если параметру 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

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

CLIPOBJ

DEVINFO

DrvTextOut

FONTOBJ

STROBJ

SURFOBJ