GTK 4.2

Теги

GTK — кроссплатформенная библиотека элементов интерфейса (фреймворк), имеет простой в использовании API, наряду с Qt является одной из двух наиболее популярных на сегодняшний день библиотек для X Window System. 

GTK — свободное ПО, распространяемое на условиях GNU LGPL, позволяющей создавать как свободное, так и проприетарное программное обеспечение с использованием библиотеки. GTK является официальной библиотекой для создания графического интерфейса проекта GNU. GTK 4 развивается в рамках нового процесса разработки, который пытается предоставить разработчикам приложений стабильный и поддерживаемый в течение нескольких лет API, который можно использовать не опасаясь, что каждые полгода придётся переделывать приложения из-за изменения API в очередной ветке GTK. 

GTK+ состоит из двух компонентов: GTK и GDK. Первый содержит набор элементов пользовательского интерфейса, или «виджетов» (таких, как кнопка, список, поле для ввода текста и т. п.) для различных задач. GDK отвечает за вывод на экран и может использовать для этого X Window System, Linux Framebuffer, WinAPI или функции Mac OS X. Начиная с версии 2.8, GDK во многом (но не полностью) заменена на систему отрисовки векторной графики Cairo. 

Изменения в новой версии:

  • Добавлен NGL renderer, новый движок отрисовки через OpenGL, который по умолчанию задействован в Linux, Windows и macOS. NGL renderer обеспечивает более высокую производительность при снижении нагрузки на CPU. Для возвращения старого движка отрисовки следует запустить приложение с переменной окружения GSK_RENDERER=gl.
  • Переделана обработка последовательностей Compose и немых клавиш, изменяющих вид следующего вводимого символа.
  • Реализована возможность использования в форме подпроекта в сборочной системе Meson, что позволяет собирать GTK и все его зависимости в составе сборочного окружения собственного приложения, а также получить все сборочные артефакты для поставки вместе со своим приложением, используя выбранный инструментарий.
  • Улучшена поддержка компиляции для Windows и macOS с использованием родных для данных платформ инструментариев.
  • Переделана документация на API, для формирования которой задействован новый генератор gi-docgen, выдающий более удобное представление информации, включая кнопки для добавления примеров кода в буфер обмена, наглядное представление иерархии предков и интерфейсов каждого класса, список унаследованных свойств, сигналов и методов класса. Интерфейс поддерживает поиск на стороне клиента и автоматически адаптируется к разным размерам экрана. Для документации запущен новый сайт docs.gtk.org, на котором также предложены сопутствующие руководства по интроспекции GObject, Pango и GdkPixbuf.
  • Оптимизирована производительность различных компонентов, начиная с задействованных при отрисовке шейдеров GLSL и заканчивая объектами для людей с ограниченными возможностями.
  • Реализовано субпиксельное позиционирование текста при использовании новых версий библиотеки Cairo.
  • Обеспечена адаптивная компоновка интерфейса для выбора emoji.
  • Улучшена поддержка расширения протокола Wayland для управления вводом.
  • Повышена производительность прокрутки в виджете просмотра текста.
  • Улучшена отрисовка теней во всплывающих виджетах (popover).

GTK+ написан на языке Си, но тем не менее, является объектно-ориентированной.

 

Последние материалы