Функция PolyDraw


Функция PolyDraw рисует ряд отрезков прямых и кривые Бизье.

Синтаксис

BOOL PolyDraw(
  HDC hdc,               // дескриптор контекста устройства
  CONST POINT *lppt,     // массив точек
  CONST BYTE *lpbTypes,  // идентификаторы линий и кривых
  int cCount             // количество точек
);

Параметры

hdc

[in] Дескриптор контекста устройства.

lppt

[in] Указатель на массив структур POINT, который содержит конечные точки для каждого отрезка прямой и конечные и контрольные точки для каждой кривой Бизье, в логических единицах.

lpbTypes

[in] Указатель на массив, который определяет, как используется каждая точка в массиве lppt. Этот параметр может быть одним из нижеследующих значений.

Тип Предназначение
PT_MOVETO Определяет, что от этой точки начинается непересекающийся рисунок линии. Эта точка становится новой текущей позицией.
PT_LINETO Определяет, что линия должна рисоваться от текущей позиции до этой точки, которая затем становится новой текущей позицией.
PT_BEZIERTO Определяет, что эта точка - контрольная точка или конечная точка для кривой Бизье.

Типы PT_BEZIERTO всегда встречаются  в наборах из трех составляющих. Текущая позиция определяет начальную точку для кривой Бизье. Первые две точки PT_BEZIERTO - контрольные точки, а третья точка PT_BEZIERTO - конечная точка. Конечная точка становится новой текущей позицией. Если нет трех последовательных точек PT_BEZIERTO, все  заканчивается ошибкой.

Типы PT_LINETO или PT_BEZIERTO могут комбинироваться с нижеследующим значением при помощи использования логического оператора ИЛИ ( OR), чтобы указать, что соответствующая точка - последняя точка в рисунке линии и рисунок закрывается.

Значение Предназначение
PT_CLOSEFIGURE Определяет, что рисунок линии автоматически закрывается после того как тип PT_LINETO или PT_BEZIERTO для этой точки заканчивается. Линия рисуется от этой точки до самой последней точки  типа PT_MOVETO или функции MoveToEx.

Это значение комбинируется с типом PT_LINETO для линии или с типом PT_BEZIERTO конечной точки для кривой Бизье, при помощи использования логического оператора ИЛИ (OR).

Текущая позиция устанавливается в конечной точке заключительной линии.

cCount

[in] Определяет общее количество точек в массиве lppt, которое то же самое, что и число байтов в массиве lpbTypes.

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

Если функция завершается успешно, возвращаемое значение - не нуль.

Если функция завершается ошибкой, возвращаемое значение - нуль.

Windows NT/2000/XP: Чтобы получить дополнительную информацию об ошибке, вызовите GetLastError.

Замечания

Функция PolyDraw может использоваться вместо последовательных вызовов в MoveToEx, LineTo, а функции PolyBezierTo, чтобы рисовать непересекающиеся фигуры. Линии и кривые рисуются, используя текущее перо, а фигуры не закрашиваются. Если есть активный путь, запущенный при помощи вызова функции BeginPath, функция PolyDraw добавляет к пути.

Точки, содержащиеся в массиве lppt и в массиве lpbTypes указывают, является ли каждая точка частью операции функций MoveTo, LineTo или PolyBezierTo. Также возможно и закрыть фигуры.

Эта функция обновляет текущую позицию.

Смотри также

Обзор Линии и кривые, Функции, используемые линиями и кривыми BeginPath, EndPath, LineTo, MoveToEx, POINT, PolyBezierTo, PolyLine

Размещение и совместимость PolyDraw   

К Windows XP Да 
л Windows 2000 Professional Да
и Windows NT Workstation Да версии 3.1 и старше
е Windows Me Нет
н Windows 98 Нет
т Windows 95 Нет
 
С Windows Server 2003 Да
е Windows 2000 Server Да
р Windows NT Server Да
в    
е    
р    
Используемая библиотека Gdi32.lib
Используемая DLL -
 Заголовочный файл  
- объявлено в Wingdi.h
 - включено в Windows.h
 Unicode Нет
 Замечания по платформе Не имеется

 

Назад в оглавление
На главную страницу
В оглавление справки

Hosted by uCoz