Представлен GTK+ 3.92.1, экспериментальный выпуск GTK+ 4

Сформирован очередной тестовый выпуск будущего стабильного релиза GTK+ 4. Ветка GTK+ 4 развивается в рамках нового процесса разработки, который пытается предоставить разработчикам приложений стабильный и поддерживаемый в течение нескольких лет API, который можно использовать не опасаясь, что каждые полгода придётся переделывать приложение из-за изменения API в очередной ветке GTK+. До полной стабилизации GTK+ 4, приложения, предлагаемые для пользователей, рекомендуется продолжить собирать с использованием ветки GTK+ 3.22, которая будет поддерживаться три года.

Основные изменения в GTK+ 3.92.1:

  • Прекращение поддержки сборочной системы на базе autotools в пользу инструментария Meson;
  • Поддержка управления шрифтами через CSS-свойство font-variant;

  • В GtkEntry добавлен виджет для выбора Emoji. Также добавлены хинты для ввода Emoji с клавиатуры;
  • Все виджеты портированы на GtkSnapshot;
  • GtkLabel и GtkEntry переведены на использование GSK (GTK Scene Kit), обеспечивающего отрисовку графических сцен через OpenGL и Vulkan;
  • Почти завершена работа над кодом отрисовки через графический API Vulkan. Из нереализованных возможностей осталась только отрисовка размытых теней. Изменена внутренняя логика отрисовки через Vulkan, вместо записи промежуточных результатов в виде поверхностей Сairo задействованы текстуры. Устранены все заглушки для отрисовки текста через Сairo. В GSK для бэкенда Vulkan задействована многофазная отрисовка, реализован кэш глифов для исключения повторной отрисовки глифов, поддержка размытия и возможность профилирования вывода. Добавлены API gsk_text_node_new, gsk_blur_node_new, gsk_cross_fade_node_new и gsk_blend_mode_new;

  • Внесены изменения в обработку ввода: в GdkEvent добавлены новые методы доступа к полям, традиционные сигналы событий ввода (например, ::key-press-event) теперь поступают от контроллера событий, в большинстве внутренних виджетов прекращено использование традиционных сигналов сбытий ввода, GDK_SEAT_CAPABILITY_ALL_POINTING теперь включает события сенсорного экрана;
  • В GtkOverlay реализован режим размытия содержимого за дочерними элементами;
  • Появилась возможность использования штатного диалога выбора файлов в старых выпусках OS X;
  • В GtkPlacesSidebar добавлена поддержка libcloudproviders;
  • Для несвязанных с окнами виджетов теперь допустим размер 0x0;
  • Добавлена поддержка изменения размера мозаично размещённых окон (tiled)
  • В интерфейсе инспектирования расширена информация об узлах отрисовки, добавлены сведения о параметрах gsk и vulkan;

  • Удалены API: gdk_window_new_input, gtk_widget_set_redraw_on_alloc, gtk_widget_get_{border,content,margin}_allocation и gtk_container_propagate_draw.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.