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


Функция DrvTextOut (winddi.h)

Функция DrvTextOut — это точка входа из GDI, которая вызывает для драйвера отрисовку набора глифов в указанных позициях.

Синтаксис

BOOL DrvTextOut(
  SURFOBJ  *pso,
  STROBJ   *pstro,
  FONTOBJ  *pfo,
  CLIPOBJ  *pco,
  RECTL    *prclExtra,
  RECTL    *prclOpaque,
  BRUSHOBJ *pboFore,
  BRUSHOBJ *pboOpaque,
  POINTL   *pptlOrg,
  MIX      mix
);

Параметры

pso

Указатель на структуру SURFOBJ , описывающую поверхность, на которой выполняется запись.

pstro

Указатель на структуру STROBJ , которая определяет отрисовываемые глифы и позиции для их размещения.

pfo

Указатель на структуру FONTOBJ , из которой извлекаются сведения о шрифте и его глифах.

pco

Указатель на структуру CLIPOBJ , которая определяет обрезную область, через которую должна выполняться вся отрисовка. Драйвер не может влиять ни на какие пиксели за пределами области клипа.

prclExtra

Указатель на структуру RECTL. GDI всегда задает этому параметру значение NULL в вызовах этой функции. Драйвер должен игнорировать его.

prclOpaque

Указатель на структуру RECTL , представляющую один непрозрачный прямоугольник. Этот прямоугольник является эксклюзивным в нижнем правом углу. Пиксели внутри этого прямоугольника (те, которые не являются передним планом и не обрезаны) должны отображаться с помощью непрозрачной кисти. Этот прямоугольник всегда ограничивает нарисованный текст. Если этот параметр имеет значение NULL, отрисовка непрозрачных пикселей не требуется.

pboFore

Указатель на структуру BRUSHOBJ , представляющую объект кисти, используемый для пикселей переднего плана. Эта кисть всегда будет кистью сплошного цвета.

pboOpaque

Указатель на структуру BRUSHOBJ, представляющую непрозрачные пиксели. Предполагается, что режимы сочетания переднего плана и фона для этой кисти R2_COPYPEN. Если драйвер не задает бит GCAPS_ARBRUSHOPAQUE возможностей в элементе flGraphicsCaps структуры DEVINFO , он всегда будет вызываться с помощью сплошной цветной кисти.

pptlOrg

Указатель на структуру POINTL , которая определяет источник кисти для обеих кистей.

mix

Режим микширования, определяющий операции переднего плана и фонового растра, используемые для кисти, на которую указывает pboFore . Дополнительные сведения о режиме микширования см. в разделе Примечания.

Возвращаемое значение

Возвращаемое значение равно TRUE , если функция выполнена успешно; в противном случае — FALSE.

Комментарии

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

Пиксели переднего плана и непрозрачные пиксели рассматриваются как экран, через который цвет отображается на поверхности. Глифы шрифта сами по себе не имеют цвета.

Входные параметры DrvTextOut определяют набор пикселей глифов, набор дополнительных прямоугольников, непрозрачный прямоугольник и область клипа. За вычисление и отрисовку набора пикселей переднего плана и непрозрачных пикселей отвечает драйвер.

GDI гарантирует, что DrvTextOut и DrvDetextFont никогда не пересекаются; следовательно, драйвер может полагаться на кэшированные сведения при обработке вызова DrvTextOut .

Режим микширования определяет, как входящий шаблон должен смешиваться с данными, которые уже находятся на поверхности устройства. Тип данных MIX состоит из двух значений двоичной растровой операции (ROP2), упакованных в один ULONG. Байт наименьшего порядка определяет растровую операцию переднего плана; следующий байт определяет фоновую растровую операцию. Дополнительные сведения о кодах растровых операций см. в документации по Microsoft Windows SDK.

Это условно обязательная функция.

Требования

   
Целевая платформа Персональный компьютер
Верхняя часть winddi.h (включая Winddi.h)

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

CLIPOBJ

DEVINFO

DrvDefont

FONTOBJ

STROBJ

SURFOBJ