Aasta pärast kuue kuu arendust on välja antud platvormidevaheline graafilise kasutajaliidese tööriistade komplekt – GTK 4.22. GTK 4 areneb edasi arendusprotsessis, mis püüab pakkuda rakenduste arendajatele stabiilset ja pikaajalist API-d, mida saab kasutada ilma hirmuta, et iga kuue kuu järel tuleb API muudatuste tõttu rakendusi ümber teha.
GTK 4.22-s on mitmeid silmapaistvaid täiustusi:
- Lisatud on sisseehitatud SVG-piltide joonistamise ja töötlemise süsteem, mis toetab animatsiooni ja võimaldab luua animeeritud ikone, interaktiivseid liideselemente ning dünaamiliselt muutuvate indikaatorite, näiteks progressi indikaatorite loomist. GtkSvg integreerub otse GSK (GTK Scene Kit) teegiga, mis pakub graafikavaate rendivõimalusi läbi OpenGLi ja Vulkan'i. Varem SVG-ikoonide renderdamiseks kasutatud librsvg teek on sõltuvuste hulgast eemaldatud.
SVG-formaadiga töötamiseks on pakutud klass Gtk.Svg, mis võimaldab joonistada vektorkoone ja rakenduste ressursse ilma väliste sõltuvusteta. SVG formaadi implementatsioon on välja töötatud spetsiaalselt GTK jaoks ja on edukalt läbinud 1250 1616 testimist resvg komplektist (võrdluseks: Firefox läbib 1385 testi, librsvg 1168 ja QtSvg 591).
- Lisatud on vidin GtkPopoverBin, mis lihtsustab kontekstimenüüde ja rippdialoogide lisamist teistele vidinatele. GtkPopoverBin võib toimida konteinerina, et integreerida hüpikakna funktsionaalsust vidinatesse, mis ei suuda seda ise teha.
- Lisatud on uus väljendite tüüp GtkTryExpression, mis võimaldab fall-back operatsioonide määratlemist. GtkTryExpression püüab täita iga väljendi loendist, kuni üks neist täidetakse edukalt.
- Kasutusele on võetud uus sümboolsete ikonide formaat, mis toetab animatsiooni ja muutuvaid olekuid (nt aktiivsuse näitamiseks). Ikonite laius haldamiseks on lisatud CSS-omadus "-gtk-icon-weight". Näidistarkvara org.gtk.Shaper on lisatud koos redigeerija teostusega uue sümboolsete ikonide formaadi jaoks.

- Backend'is, mis töötab Waylandi protokollide baasil, on ellu viidud eksperimentaalne tugi xx-session-management protokollile, mida saab kasutada katkestatud sessioonide akende olekute taastamiseks (nt komposiitmanageri kokkuvarisemise järel). Selle lubamiseks tuleb seada keskkonnamuutuja "GDK_DEBUG=session-mgmt".
- API-s GtkApplication on lisatud oleku salvestamise võimalus, kasutades xx-session-management protokolli. GNOME 50-s on see funktsionaalsus rakendatud seansside salvestamiseks ja akende positsioonide taastamiseks.
- Waylandi backend'is on lähenetud seadete ligipääsule freedesktop.portal.Settings portaaliga.
- API-s GtkFileLauncher on realiseeritud ligipääs kirjutusõiguslike failide käsitlemiseks, kui seda kasutatakse flatpak-pakettides.
- GSK (GTK Scene Kit) on lisatud profiilimise toetus ja võimalus nihutada algse pildi pikslit, kasutades "displacement map" kaarti, et luua keerukaid graafilisi efekte.
- Lisatud on API GskRenderNodeReplay, et hallata renderdamise sõlmede puu (Render Node).
- Lisatud on uued renderdamise sõlmed "copy" ja "paste", mis võimaldavad kopeerida ja kleepida ala praeguse elemendi all mõnda muud kohti stseenigraafikus.
- Lisatud on uus renderdamise sõlme tüüp "composite", mis võimaldab kasutada täiendavaid kompositsioonitegevusi elemendi joonistamisel tausta peal, nagu näiteks kahte erinevat tasandit koos maskide kasutamisega.
- CSS-s on lisatud omadus "backdrop-filter" taustal mõjude rakendamiseks, näiteks tausta udustamine.
- CSS-s on lisatud tugi seadistuse "reduced-motion" jaoks, mis teavitab vajadusest vähendada animatsioonide kasutamist.
Allikas: opennet.ru

