Доступний графічний тулкіт 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 МБ.

Джерело: opennet.ru

Додати коментар або відгук