Скачиваний:
82
Добавлен:
16.07.2022
Размер:
1.8 Mб
Скачать
    1. Функции отрисовки примитивов

Функции отрисовки примитивов предназначены непосредственно для отрисовки примитивов в буфер кадра.

Список функций отрисовки примитивов представлен в таблице 3.2.

Таблица 3.2 – Функции отрисовки примитивов

Объявление функции

Описание

void gfPoint (int32 x, int32 y)

Рисование точки в координатах «x, y»

void gfLine (int32 x1, int32 y1, int32 x2, int32 y2)

Рисование линии от точки «x1, y1» до точки «x2, y2»

void gfPolyline (struct VERTEX const *pv, int32 count)

Рисование ломаной линии по точкам в массиве «pv». Количество точек задаётся параметром «count»

VERTEX – структура, содержащая в себе «x» и «y» координаты

void gfArc (int32 x, int32 y, int32 radius, float32 startAngle, float32 sweepAngle)

Рисование дуги окружности с центром в точке «x, y» и радиусом «radius» от угла «startAngle» до угла «sweepAngle»

void gfBezier (struct VERTEX const *pv, int32 count, int32 edges)

Рисование кривой Безье по точкам в массиве «pv». Количество точек указано в параметре «count», количество рёбер в параметре «edges»

void gfCircle (int32 x, int32 y, int32 radius)

Рисование окружности/круга в центре с координатами «x, y» и радиусом «radius»

void gfPartialCircle (int32 x, int32 y, int32 radius, float32 startAngle, float32 sweepAngle)

Рисование сектора окружности/круга с центром в точке «x, y» и радиусом «radius» от угла «startAngle» до угла «sweepAngle»

void gfRing(int32 x, int32 y, int32 innerRadius, int32 outerRadius)

Рисование кольца в центре с координатами «x, y», внутренним радиусом «innerRadius» и внешним радиусом «outerRadius»

void gfPartialRing (int32 x, int32 y, int32 innerRadius, int32 outerRadius, float32 startAngle, float32 sweepAngle)

Рисование сектора кольца с центром в точке «x, y», внутренним радиусом «innerRadius» и внешним радиусом «outerRadius» от угла «startAngle» до угла «sweepAngle»

void gfRect (int32 x1, int32 y1, int32 x2, int32 y2)

Рисование прямоугольника с диагонально-противоположными вершинами в точках «x1, y1» и «x2, y2»

void gfPolygonFan (struct VERTEX const *pv, int32 count)

Рисование полигона треугольниками с вершинами в элементах массива по схеме (0, 1, 2) – (0, 2, 3) – (0, 3, 4) и т.д. Количество элементов в массиве указано в параметре «count»

void gfPolygonStrip (struct VERTEX const *pv, int32 count)

Рисование полигона треугольниками с вершинами в элементах массива по схеме (0, 1, 2) – (1, 2, 3) – (2, 3, 4) и т.д. Количество элементов в массиве указано в параметре «count»

void gfEllipse(int32 x, int32 y, int32 a, int32 b)

Рисование эллипса с центром в точке «x, y» и длинами осей «a» и «b»

void gfText(int32 x, int32 y, float32 angle, int8 const *text);

Вывод текста в точке «x, y» в соответствии с текущим шрифтом, размером шрифта и выравниванием. Наклон строки задаётся параметром «angle»

void gfSymbol (int32 x, int32 y)

Вывод символа в точку «x, y» в соответствии с текущим символом