Программирование. Принципы и практика использования C++ Исправленное издание, стр. 168
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_windowSimple_windowwinwinSimple_windowtlCanvasCanvasДалее помещаем в окно некий объект.
Polygon poly; // создаем фигуру (многоугольник)poly.add(Point(300,200)); // добавляем точкуpoly.add(Point(350,100)); // добавляем другую точкуpoly.add(Point(400,200)); // добавляем третью точкуМы определяем многоугольник poly, а затем добавляем к нему точки. В нашей графической библиотеке объекты класса
PolygonДля того чтобы продемонстрировать такую возможность, мы сделали стороны многоугольника красными.
poly.set_color(Color::red); // уточняем свойства объекта polyВ заключение связываем объект
polywinwin.attach(poly); // связываем объект poly с окномЛегко заметить, что на экране пока не происходит вообще ничего. Мы создали окно (точнее, объект класса
Simple_windowpolyColor::redwinwin.wait_for_button(); // передаем управление драйверу дисплеяДля того чтобы система графического пользовательского интерфейса отображала объекты на экране, мы передали управление системе. Эту задачу выполняет функция
wait_for_button()Simple_windowЭто позволяет нам увидеть окно прежде, чем программа завершит свою работу и окно исчезнет. Когда вы щелкнете на кнопке, программа прекратит работу, закрыв окно.
Наше окно выглядит так.

Обратите внимание на то, что мы немного схитрили. А где же кнопка Next? Мы встроили ее в классе
Simple_windowSimple_windowWindowВ следующих трех главах мы будем просто использовать кнопку Next для перехода от одного дисплея к другому для отображения информации, связанной с разными этапами некоего процесса (“кадр за кадром”).
Вы настолько привыкли к тому, что вокруг каждого окна операционная система автоматически рисует рамку, что уже не замечаете ее. Рисунки в этой и следующих главах созданы с помощью системы Microsoft Windows, поэтому в правом верхнем углу каждого окна расположены три кнопки. Они могут быть полезными, если ваша программа зашла в тупик (а это в ходе отладки иногда случается), вы можете прекратить ее выполнение, щелкнув на кнопке со знаком ×. Если вы запустите программу в другой операционной системе, рамка изменится. Наш вклад в оформление рамки заключается лишь в создании метки (в данном случае
Canvas12.4. Использование библиотеки графического пользовательского интерфейса
Поскольку нам не хотелось бы тесно привязываться ни к одной из этих библиотек и погружаться в тонкости их устройства, мы выделили набор простых интерфейсных классов, которые можно реализовать с помощью нескольких сотен строк кода и которые можно найти практически в любой библиотеке графического пользовательского интерфейса.