Доступен графический тулкит GTK 4.8
После восьми месяцев разработки опубликован релиз многоплатформенного тулкита для создания графического интерфейса пользователя — GTK 4.8.0. GTK 4 развивается в рамках нового процесса разработки, который пытается предоставить разработчикам приложений стабильный и поддерживаемый в течение нескольких лет API, который можно использовать не опасаясь, что каждые полгода придётся переделывать приложения из-за изменения API в очередной ветке GTK.
Среди наиболее заметных улучшений в GTK 4.8:
Изменён стиль интерфейса выбора цветов (GtkColorChooser).
В интерфейсе выбора шрифтов (GtkFontChooser) улучшена поддержка возможностей формата OpenType.
В CSS-движке оптимизирована перегруппировка элементов, связанных с одним родителем, и разрешено использование нецелых значений при определении размера интервала между букв.
Данные Emoji обновлены до набора CLDR 40 (Unicode 14). Добавлена поддержка новых локалей.
В теме оформления обновлены пиктограммы и повышена разборчивость выделяемых текстовых меток.
В библиотеке GDK, предоставляющей прослойку между GTK и графической подсистемой, оптимизировано преобразование пиксельных форматов. На системах с драйверами NVIDIA задействовано EGL-расширение EGL_KHR_swap_buffers_with_damage.
В библиотеке GSK (GTK Scene Kit), предоставляющей возможности отрисовки графических сцен через OpenGL и Vulkan, реализована поддержка обработки больших видимых областей (viewport-ов). Предложены библиотеки для отрисовки глифов с использованием текстур.
- Для Wayland реализована поддержка протокола «xdg-activation», который позволяет передать фокус между разными поверхностями первого уровня (например, при помощи xdg-activation одно приложение может переключить фокус на другое).
В виджете GtkTextView сокращено число ситуаций, приводящих к повторным перерисовкам, и реализована функция GetCharacterExtents для определения области с глифом, определяющим символ в тексте (функция востребована средствах для людей с ограниченными возможностями).
В классе GtkViewport, применяемом для организации прокрутки в виджетах, включён по умолчанию режим «scroll-to-focus», при котором содержимое автоматически прокручивается для поддержания на виду элемента, на который установлен фокус ввода.
В виджете GtkSearchEntry, показывающем область для ввода поискового запроса, предоставлена возможность настройки задержки между последним нажатием клавиши и отправкой сигнала об изменении содержимого (GtkSearchEntry: search-changed).
В виджет GtkCheckButton добавлена возможность назначения своего дочернего виджета с кнопкой.
В виджет GtkPicture добавлено свойство «content-fit» для адаптации содержимого под заданный размер области.
В виджете GtkColumnView проведена оптимизация производительности прокрутки.
В виджете GtkTreeStore разрешено извлечение древовидных данных из файлов в формате ui.
В класс GtkInscription, отвечающем за показ текста в определённой области, добавлен новый виджет для отображения списков. Добавлено демонстрационное приложение с примером использования GtkInscription.
В виджете GtkTreePopover добавлена поддержка прокрутки.
В виджете GtkLabel добавлена поддержка вкладок и предоставлена возможность активации меток через нажатие на привязанные к метке символы на клавиатуре.
В виджете GtkListView реализована поддержка свойств »:: n-items» и »:: item-type».
В системе ввода предоставлена поддержка обработчиков параметров размерности (GDK_SCROLL_UNIT_WHEEL, GDK_SCROLL_UNIT_SURFACE) прокрутки.
Для платформы macOS добавлена поддержка полноэкранного режима и воспроизведения видео с использованием OpenGL. Улучшено определение мониторов, работа в многомониторных конфигурациях, размещение окон и выбор размера для диалога работы с файлами. Для отрисовки задействованы CALayer и IOSurface. Обеспечен запуск приложений в фоновом режиме.
На платформе Windows улучшено размещение окон на экранах HiDPI, добавлен интерфейс определения цвета, реализована поддержка событий колеса мыши с высоким разрешением, улучшена поддержка тачпадов.
В утилиту gtk4-builder-tool добавлена команда screenshot для создания скриншота, которая задействована при генерации скриншотов для документации.
Обеспечена установки утилиты gtk4-node-editor.
Расширены возможности отладчика. Реализован показ дополнительных данных приложений и разрешён просмотр свойств PangoAttrList при инспектировании. Разрешено инспектирование инспекторов. Добавлена поддержка режима «GTK_DEBUG=invert-text-dir». Вместо переменной окружения GTK_USE_PORTAL предложен режим «GDK_DEBUG=portals». Повышена отзывчивость интерфейса инспектирования.
В бэкенд ffmpeg добавлена поддержка звука.
Лимит памяти в загрузчике изображений JPEG увеличен до 300 МБ.
Источник: http://www.opennet.ru/opennews/art.shtml? num=57741
© OpenNet