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


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

Функция DrvStrokeAndFillPath обводка (контуры) и параллельно заполняет путь.

Синтаксис

BOOL DrvStrokeAndFillPath(
  [in, out]      SURFOBJ   *pso,
  [in, out]      PATHOBJ   *ppo,
  [in]           CLIPOBJ   *pco,
  [in, optional] XFORMOBJ  *pxo,
  [in]           BRUSHOBJ  *pboStroke,
  [in]           LINEATTRS *plineattrs,
  [in]           BRUSHOBJ  *pboFill,
  [in]           POINTL    *pptlBrushOrg,
  [in]           MIX       mixFill,
  [in]           FLONG     flOptions
);

Параметры

[in, out] pso

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

[in, out] ppo

Указатель на структуру PATHOBJ , которая описывает путь для заполнения. Подпрограммы службы PATHOBJ_Xxx предоставляются для перечисления линий, кривых Безье и других данных, составляющих путь.

[in] pco

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

[in, optional] pxo

Указатель на структуру XFORMOBJ , необходимую при рисовании геометрической широкой линии. Он задает преобразование, которое принимает мировые координаты в координаты устройства. Это необходимо, так как путь указан в координатах устройства, но геометрическая широкая линия фактически расширяется в мировых координатах. Можно запросить XFORMOBJ, чтобы узнать, что такое преобразование.

[in] pboStroke

Указатель на структуру BRUSHOBJ , указывающую кисть, используемую при поглаживания пути.

[in] plineattrs

Указатель на структуру LINEATTRS , которая описывает атрибуты отрисовываемой линии.

[in] pboFill

Указатель на структуру BRUSHOBJ, указывающую кисть, используемую при заполнении пути.

[in] pptlBrushOrg

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

[in] mixFill

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

[in] flOptions

Указывает либо FP_WINDINGMODE, что означает, что должна выполняться заливка в режиме обмотки, либо FP_ALTERNATEMODE, то есть должна выполняться чередующаяся заливка. Все остальные флаги следует игнорировать. Дополнительные сведения об этих режимах см. в разделе Режимы заполнения пути.

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

Возвращаемое значение равно TRUE , если драйвер может заполнить путь. В противном случае, если вместо этого GDI должен заполнить путь, возвращается значение FALSE. При возникновении ошибки возвращаемое значение DDI_ERROR и регистрируется код ошибки.

Комментарии

Если для поглаживания используется широкая линия, заполненная область должна быть уменьшена для компенсации.

Драйвер может возвращать значение FALSE , если путь или обрезка слишком сложны для обработки устройством; В этом случае GDI преобразуется в более простой вызов. Например, если драйвер устройства установил флаг GCAPS_BEZIERS в элементе flGraphicsCaps структуры DEVINFO , а затем получает путь с кривыми Безье, он может вернуть значение FALSE; Затем GDI преобразует кривые Безье в линии и снова вызывает DrvStrokeAndFillPath . Если драйвер устройства снова возвращает значение FALSE , GDI еще больше упростит вызов, выполняя вызовы DrvStrokePath и DrvFillPath или DrvBitBlt в зависимости от сочетания и ширины линий, составляющих путь.

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

Требования

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

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

CLIPOBJ

DrvBitBlt

DrvFillPath

DrvStrokePath

LINEATTRS

PATHOBJ

SURFOBJ

XFORMOBJ