#include "Graph.h" // открывает доступ к графической библиотеке
int main()
{
using namespace Graph_lib; // наши графические средства
// находятся в пространстве
// имен Graph_lib
Point tl(100,100); // задаем левый верхний угол экрана
Simple_window win(tl,600,400,"Canvas"); // создаем простое окно
Polygon poly; // создаем фигуру (многоугольник)
poly.add(Point(300,200)); // добавляем точку
poly.add(Point(350,100)); // добавляем другую точку
poly.add(Point(400,200)); // добавляем третью точку
poly.set_color(Color::red); // уточняем свойства объекта poly
win.attach (poly); // связываем объект poly с окном
win.wait_for_button(); // передаем управление драйверу
// дисплея
}
Запустив эту программу, мы увидим примерно такую картину.
Пройдемся по строкам программы и посмотрим, как она работает. Сначала подставляем в программу заголовочные файлы нашей библиотеки графического интерфейса.
#include "Simple_window.h" // открывает доступ к оконной библиотеке
#include "Graph.h" // открывает доступ к графической библиотеке
Затем в функции main()
мы сообщаем компьютеру, что средства нашей графической библиотеки находятся в пространстве имен Graph_lib
.
Затем определяем точку, которую будем считать координатой левого верхнего угла нашего окна.
Point tl(100,100); // задаем координаты левого верхнего угла экрана
Затем создаем окно на экране.
Simple_window win(tl,600,400,"Canvas"); // создаем простое окно
Для этого мы используем класс Simple_window
, представляющий окно в нашей библиотеке Graph_lib. Конкретный объект класса Simple_window
носит имя win
; иначе говоря, win
— это переменная класса Simple_window
. Список инициализации объекта win начинается с точки, которая будет использована в качестве левого верхнего угла tl
, за ней следуют числа 600 и 400. Это ширина и высота окна соответственно, измеренные в пикселях. Мы объясним их смысл позднее, а пока лишь укажем, что они позволяют задать прямоугольник с заданными шириной и высотой. Строка Canvas
используется для пометки окна. Если присмотритесь, то увидите слово Canvas
в левом верхнем углу рамки окна.
Далее помещаем в окно некий объект.
Polygon poly; // создаем фигуру (многоугольник)
poly.add(Point(300,200)); // добавляем точку
poly.add(Point(350,100)); // добавляем другую точку
poly.add(Point(400,200)); // добавляем третью точку
Мы определяем многоугольник poly, а затем добавляем к нему точки. В нашей графической библиотеке объекты класса Polygon
создаются пустыми, мы можем добавить в них любое количество точек, какое пожелаем. Поскольку мы добавили три точки, то получили треугольник. Точки представляют собой простые пары чисел, задающих горизонтальные и вертикальные координаты x и y в окне.
Для того чтобы продемонстрировать такую возможность, мы сделали стороны многоугольника красными.
poly.set_color(Color::red); // уточняем свойства объекта poly
В заключение связываем объект poly
с нашим окном win
.
win.attach(poly); // связываем объект poly с окном
Легко заметить, что на экране пока не происходит вообще ничего. Мы создали окно (точнее, объект класса Simple_window
) и многоугольник (с именем poly
), окрасили многоугольник в красный цвет (Color::red
) и связали его с окном win
, но мы не дали команду отобразить это окно на экране. Это делает последняя строка в программе.
win.wait_for_button(); // передаем управление драйверу дисплея