Модуль GraphABC
МодульGraphABC
представляет собой простую
графическую библиотеку и предназначен для создания несобытийных графических и
анимационных программ в процедурном и частично в объектном стиле. Рисование
осуществляется в специальном графическом окне,
возможность рисования в нескольких окнах отсутствует. Кроме этого, в модуле
GraphABC
определены простейшие события мыши
и клавиатуры, позволяющие создавать элементарные событийные приложения. Основная
сфера использования модуля GraphABC
-
обучение.Модуль GraphABC
основан на графической
библиотеке GDI+, но запоминает текущие перо, кисть и
шрифт, что позволяет не передавать их в качестве параметров при вызове
графических примитивов. К свойствам пера, кисти и шрифта
можно получать доступ как в процедурном, так и в объектном стиле. Например, для
доступа к цвету текущего пера используется процедура SetPenColor(c)
и функция PenColor
, а также
свойство Pen.Color
.
В модуле GraphABC
можно управлять самим графическим окном и компонентом
GraphABCControl
, на котором осуществляется рисование. По
умолчанию компонент
GraphABCControl
занимает всю клиентскую часть
графического окна, однако, на графическое окно можно добавить элементы
управления, уменьшив область, занимаемую графическим компонентом (например, так
сделано в модулях Robot и Drawman).
Для работы с рисунками используется класс
Picture
, позволяющий рисовать на себе те же графические
примитивы, что и на экране.
Режим блокировки рисования на экране (LockDrawing
) позволяет осуществлять
прорисовку лишь во внеэкранном буфере, после чего с помощью метода
Redraw
восстанавливать все графическое окно. Данный метод
используется для ускорения анимации и создания анимации без мерцания.
В модуле GraphABC
определен ряд констант, типов, процедур, функций
и классов для рисования в графическом окне.
Они подразделяются на следующие группы:
Графические примитивы Функции для работы с цветом
Цветовые константы
Действия с пером: процедуры и функции
Действия с пером: объект Pen
Стиль пера
Действия с кистью: процедуры и функции
Действия с кистью: объект Brush
Стили кисти
Стили штриховки кисти
Действия со шрифтом: процедуры и функции
Действия со шрифтом: объект Font
Стили шрифта
Действия с рисунками: класс Picture
Действия с графическим окном: процедуры и функции
Действия с графическим окном: объект Window
Действия с системой координат: процедуры и функции
Действия с системой координат: объект Coordinate
Блокировка рисования и ускорение анимации
Режимы рисования
События GraphABC
Виртуальные коды клавиш
Перенаправление ввода-вывода