Адрес: ул. Б. Очаковская 32 Москва Россия
Наши официальные канал и чат в telegram
Поднимем Devuan на вершину Distrowatch! Просто перейдите по ссылке один раз в день.

Доступен графический тулкит GTK 4.24

Новости собранные из разных RSS источников
Аватара пользователя
root:#
Site Admin
Сообщения: 2335
Зарегистрирован: Вт ноя 08, 2022 3:27 pm
Благодарил (а): 60 раз
Поблагодарили: 28 раз

Доступен графический тулкит GTK 4.24

Сообщение root:# »

Доступен графический тулкит GTK 4.24
После шести месяцев разработки опубликован релиз многоплатформенного тулкита для создания графического интерфейса пользователя - GTK 4.24. GTK 4 развивается в рамках процесса разработки, который пытается предоставить разработчикам приложений стабильный и поддерживаемый в течение нескольких лет API, который можно использовать не опасаясь, что каждые полгода придётся переделывать приложения из-за изменения API в очередной ветке GTK. Среди заметных улучшений в GTK 4.24:
  • Добавлена возможность привязки (snapping) содержимого к границам физических пикселей устройства, что значительно улучшило качество отрисовки при использовании дробного масштабирования на экранах с высокой плотностью пикселей (HiDPI). Для включения выравнивания размещения логических пикселей по границам физических пикселей преложена функция gtk_snapshot_set_snap().
    Изображение
    По умолчанию новый режим не включён из-за появлении дрожания при медленной анимации и прокрутке, обусловленного отрисовкой в привязке к целым пикселями. Из областей применения снапинга отмечается скрытие видимых швов между спрайтами в некоторых играх на экранах с дробным масштабированием, более чёткое отображение изображений из-за попадания пиксель-в-пиксель и задействование методов аппаратного ускорения графики, требующих строгого выравнивания контента по пикселям. Продолжено развитие встроенного движка отрисовки и разбора изображений в формате SVG, а также класса Gtk.Svg, позволяющего обойтись без внешних зависимостей при отрисовке векторных пиктограмм и ресурсов. В новой версии добавлен класс GtkSvgWidget, позволяющий отрисовывать изображения в формате SVG с интерактивными элементами, такими как ‹a› и ‹view›, непосредственно в приложении. Добавлена функция gtk_svg_set_stylesheet() для применения стилей к SVG-элементам. Для оторисовки всех пиктограмм в GTK применён класс GtkSvg. В виджете GtkSpinner задействованы анимированные SVG-изображения. Добавлены новые возможности, такие как фильтры feTurbulence, свойства текста dominant-baseline, baseline-shift, text-decoration, медиа-запросы в CSS и 3D-трансформации. В GSK (GTK Scene Kit) добавлена поддержка отрисовки форматов изображений с 10-битным представлением цветовых каналов. Переработан механизм выделения памяти под кэш. Для исключения отрисовки за пределами видимой области задействованы маски отсечения (clip mask). В виджетах GtkSpinner, GtkStack и GtkRevealer обеспечен учёт системных настроек для сокращения анимированных эффектов. В бэкенде для работы в Wayland-окружениях реализована поддержка Wayland-протокола Text Input 3.2, стандартизирующего взаимодействие между композитным сервером и приложениями при передаче вводимого текста, обработке событий об изменении фокуса ввода и учёте специфики полей ввода (язык, выделение текста, тип контента). Реализована возможность сохранения и восстановления сеансов, используя Wayland-протокол xdg-session-management, который предоставляет возможности для восстановления состояния и позиции окон прерванного сеанса, например, после аварийного завершения композитного сервера или приложения. В финальном релизе GTK 4.24 данная функциональность отключена и запланирована для активации в GTK 4.26. В бэкенде для платформы Android реализована поддержка Android SDK 36 (Android 16). Для синхронизации кадров с вертикальной разверткой (vsync) задействован API Choreographer. Добавлены функции gdk_display_get_prefer_vulkan() и gdk_display_set_prefer_vulkan() для управления включением в графическом бэкенде отрисовки интерфейса через API Vulkan. Добавлена функция gtk_editable_set_input_interceptor() для перехвата ввода. Функция gtk_event_controller_key_forward() переведена в число устаревших. Для класса GtkShortcutTrigger предложены функции gtk_alternative_trigger_newv, gtk_shortcut_trigger_create_with_aliases и gtk_shortcut_trigger_create_for_menu для обработки клавиатурных комбинаций с учётом продублированных клавиш (например, с цифрового блока клавиатуры). В виджете GtkEntry реализовано открытие меню при долгом касании на сенсорном экране. Переработан механизм поиска по мере ввода (type-to-search), который переведён с модели опроса приложением ("pull") на модель передачи событий ("push"). Добавлен класс GtkEnumList для вывода выпадающих списков. Исправлены проблемы с выделением памяти в GtkList, GtkGrid и GtkColumnView. Добавлена поддержка CSS-свойства font-width для указания промежуточной ширины шрифта в процентах. Повышены требования к выпуску библиотеки Pango (необходим как минимум выпуск 1.58).

Источник: https://www.opennet.ru/opennews/art.shtml?num=66259