Когда у нас есть оболочка CLI, текстовый редактор и оконный менеджер, мы можем создавать новые окна с приложениями с графическим интерфейсом. Операционная система предоставляет API для доступа к собственному инструментарию виджетов, а также существуют библиотеки, обеспечивающие межплатформенный доступ к функциям пользовательского интерфейса.

Часто можно увидеть, как разработчики игр создают свои собственные движки пользовательского интерфейса, и можно увидеть, как под капотом создаются библиотеки. Они используют объектно-ориентированное программирование и родительский класс виджетов, который представляет собой просто прямоугольник. Различные системы имеют разные соглашения об именах, такие как формы, панели или элементы div. Могут быть получены другие виджеты, такие как: метка, кнопка, ввод текста, представление списка, изображение, представление прокрутки, селектор включения / выключения, селектор диапазона и селектор раскрывающегося списка.

Вам также нужен объект для основного приложения, в котором хранится список виджетов и выполняется рендеринг и цикл обработки событий. Чтобы получить относительные единицы, вам нужен размер окна.

Следующим шагом будет чтение XML-файла с виджетами и свойствами. Расширенная библиотека обеспечивает поддержку графики и анимации, утилиты, доступ к оборудованию и работу в сети.

Нажмите здесь, чтобы перейти к части 1
Нажмите здесь, чтобы перейти к части 3