Выпуск графического тулкита GTK 4.2
После трёх месяцеы разработки представлен релиз многоплатформенного тулкита для создания графического интерфейса пользователя — GTK 4.2.0. GTK 4 развивается в рамках нового процесса разработки, который пытается предоставить разработчикам приложений стабильный и поддерживаемый в течение нескольких лет API, который можно использовать не опасаясь, что каждые полгода придётся переделывать приложения из-за изменения API в очередной ветке GTK.
В новом выпуске в основном устранены недочёты и внесены улучшения в API, основанные на отзывах разработчиков, портировавших свои программы на GTK4. Из наиболее заментных улучшений в GTK 4.2 можно отметить:
Добавлен NGL renderer, новый движок отрисовки через OpenGL, который по умолчанию задействован в Linux, Windows и macOS. NGL renderer обеспечивает более высокую производительность при снижении нагрузки на CPU. Для возвращения старого движка отрисовки следует запустить приложение с переменной окружения GSK_RENDERER=gl.
Переделана обработка последовательностей Compose и немых клавиш, изменяющих вид следующего вводимого символа.
Реализована возможность использования GTK в форме подпроекта в сборочной системе Meson, что позволяет собирать GTK и все его зависимости в составе сборочного окружения собственного приложения, а также получить все сборочные артефакты для поставки вместе со своим приложением, используя выбранный инструментарий.
Улучшена поддержка компиляции GTK для Windows и macOS с использованием родных для данных платформ инструментариев.
Переделана документация на API, для формирования которой задействован новый генератор gi-docgen, выдающий более удобное представление информации, включая кнопки для добавления примеров кода в буфер обмена, наглядное представление иерархии предков и интерфейсов каждого класса, список унаследованных свойств, сигналов и методов класса. Интерфейс поддерживает поиск на стороне клиента и автоматически адаптируется к разным размерам экрана. Для документации запущен новый сайт docs.gtk.org, на котором также предложены сопутствующие руководства по интроспекции GObject, Pango и GdkPixbuf.
- Оптимизирована производительность различных компонентов, начиная с задействованных при отрисовке шейдеров GLSL и заканчивая объектами для людей с ограниченными возможностями.
- Реализовано субпиксельное позиционирование текста при использовании новых версий библиотеки Cairo.
- Обеспечена адаптивная компоновка интерфейса для выбора emoji.
Улучшена поддержка расширения протокола Wayland для управления вводом.
- Повышена производительность прокрутки в виджете просмотра текста.
Улучшена отрисовка теней во всплывающих виджетах (popover).
Источник: http://www.opennet.ru/opennews/art.shtml? num=54868
© OpenNet