Функция 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) |