Kuue kuu arenduse jĂ€rel on vĂ€lja antud platvormideĂŒlene kasutajaliidese loomise tööriistakomplekt â GTK 4.16.0. GTK 4 areneb pidevalt, et pakkuda rakenduste arendajatele stabiilset ja aastateks toetatud API-d, mida saab kasutada muretsemata selle ĂŒle, et iga kuue kuu tagant tuleb API muudatuste tĂ”ttu rakendusi ĂŒmber teha.
GTK 4.16 kÔige silmapaistvamad tÀiustused on:
- Lisatud on gtk-font-rendering seade, mis pakub paindlikke ja kÔrgema taseme vÔimalusi tekstide joonistamise haldamiseks. Madala taseme fontide seadete kasutamiseks tuleks seada gtk-font-rendering vÀÀrtuseks 'manual'.
- GSK (GTK Scene Kit) raamatukogus, mis pakub graafiliste stseenide renderdamise vĂ”imalusi OpenGL-i ja Vulkan-i kaudu, on vaikimisi renderdamiseks Waylandi-protokollile pĂ”hinevates keskkondades kasutusel renderdamismootor âvulkanâ, mis kasutab otse Vulkan graafika API-d. Muudel juhtudel jĂ€tkub renderdamismootor ânglâ, mis pakub OpenGL-i rakendust, mis töötab Vulkan API peal. Mootori muutmiseks saab kasutada keskkonnamuutujat âGSK_RENDERERâ. Kuna mootoreid âvulkanâ ja ânglâ suheldakse graafikadraiveritega erinevalt, on nende stabiilseks toimimiseks soovitatav kasutada viimast versiooni Mesa 24.2.
- Teiste muudatuste seas GSK raamatukogus:
- On rakendatud optimeerimistehnika âocclusion cullingâ, mis vĂ€listab objektide renderdamise, mis on teiste opakate objektide taga vĂ”i vĂ€ljaspool vaatevĂ€lja.
- Komponeerimise protsessis on tagatud teabe arvestamine vÀrviruumi kohta.
- On parendatud gĐžŃtide ja tekstuuride puhversĂ€ilitamist.
- On rakendatud suuremate tekstuuride plaaditootmise (tiling) tugi, et luua sujuv pind tekstuuri kordamise kaudu.
- On parendatud varjude renderdamist.
- Lisaud on vÔimalik kasutada riistvaralist kiirendust töödeldud tekstuuride töötlemiseks, nÀiteks pööratud sisu ekraanile kuvamiseks.
- Parandatud riistvara kiirenduse mehhanismide kasutamine kwin komposiitoriga sĂŒsteemides.
- Lisatud silumise valik «GDK_DEBUG=linear» lineaarse komposiitreĆŸiimi lubamiseks. Parandatud logimise jĂ€lgimine «GDK_DEBUG=offload» ja «GSK_DEBUG=renderer» valikute kasutamisel.
- Waylandi protokolli ja kwin komposiitori pĂ”hised keskkonnad saavad nĂŒĂŒd kasutada protokolli laiendust (vĂ€rvihalduse) vĂ€rvi juhtimiseks. TĂ”stetud dialooge kuvatakse kasutades Waylandi laiendust xdg-dialog. Kompositsioonis on kasutusel wl_compositor objekti kuues versioon. Riistvaraline kiirendus OpenGL tekstuuride töötlemisel lubab kasutada dmabuf-i.
- Parandused GDK raamatukogus, mis pakub vahetuskiht GTK ja graafikasĂŒsteemi vahel:
- VĂ”imalused vĂ€rviruume haldamiseks on oluliselt laienenud. Toetatakse vĂ€rviruume srgb, srgb-linear, rec2100-pq ja rec2100-linear, ning on tehtud ettevalmistusi HDR-i vĂ€rviruumide toe rakendamiseks. Pakutakse objekti GdkColorState, mis annab teavet vĂ€rvide tĂ”lgendamise kohta, mida saab kasutada ĂŒhe vĂ€rviruumi teisendamiseks teiseks. VĂ€rviruumide teabe objekti loomiseks on lisatud objekt Gdk.CicpParams. Objekti GdkTexture, samuti textuuride loomise, laadimise ja töötlemise objektidesse on lisatud vĂ”imalus kasutada vĂ€rviruume.
- Rakendatud on uus API kursori haldamiseks, mis pÔhineb callback-kÔnudel.
- Rakendatud on vÔimalus teostada MIP-tekstureerimise operatsioone (MipMap, vÀiksemate tekstuuriversioonide loomine, mida kasutatakse objekti kauguse tÔttu kaamerast eemaldamisel) CPU abil.
- VÀrvide teisendamiseks ja MIP-tekstureerimiseks on kasutusele vÔetud niitide grupp (thread pool).
- Lisatud tugi keskkonnamuutujale XDG_ACTIVATION_TOKEN, mis sisaldab aktiveerimistokenit protokollile xdg-activation-v1, mille abil saab ĂŒks rakendus suunata fookuse teisele.
- Lisatud klass GdkMemoryTextureBuilder, mis vÔimaldab luua GdkTexture objekti, kasutades mÀlus hoitavaid andmeid.
- Parandatud kasutajaliidese kohandamise vÔimalusi CSS-i alusel. Lisatud toetus muutujatele ja kohandatud omadustele. Rakendatud CSS-funktsioonid color(), oklab(), color-mix() ja matemaatilised funktsioonid. Tagatud on vÔimalus kasutada vÀrvide absoluutse mÀÀratlemise seadistusi ning mÀÀrata lÀbipaistvuse taset protsentides. Töö kÀigus vÀrvide, piiride, varjude ja tekstiga arvestatakse vÀrviruumi teavet.
- Rendernode-toolâi utiliidile on lisatud kĂ€sklused âextractâ, et laadida andmeid URL-i kaudu ja âimageâ, et manipuleerida tekstuuridega. Rakendatud on vĂ”imalus genereerida faile PDF-vormingus.
- Gtk4-node-editor liidesesse on lisatud toiming âPaste as nodeâ.
- Failide valimise vidinasse GtkFileChooserWidget on lisatud toetus Ctrl-Shift-N klahvikombinatsioonile kaustade loomiseks.
- GtkPopover'i hĂŒpikakna loomise videndis on parendatud suuruse ja positsiooni muutmise kĂ€sitlemine.
- GtkGraphicsOffload videndis, mida kasutatakse sisu, nĂ€iteks video, edastamiseks otse komposiitmanagers'ile, vĂ€ltides GSK renderdamist, on lisatud omadus âblack-backgroundâ musta tausta kuvamiseks.

- GtkGLArea videndis, mis on mÔeldud OpenGL-i kasutamiseks, on lisatud tekstuuride loomise vÔimalus dmabuf-is, mis vÔimaldab kasutada GtkGraphicsOffload vidinit otse edastamiseks. server. Komposiitmanagersiga suhtlemise efektiivsust on parendatud. serveriga.

- GtkTextView videndis on lisatud t.eksti kuvamise toetamine varjuga ja rakendatud on GtkTextBufferCommitNotify teavituste kasutamise vÔimalus.
- GtkCheckButton videndis on lisatud vÔimalus nuppude grupi stiili mÀÀramiseks.
- Debugimise vĂ”imalused on laienenud. Inspekteerimise liidesesse on lisatud teave vĂ€rviruumide kohta ning ka ekraani eraldusvĂ”ime andmed. Keskkonnamuutuja GDK_DEBUG on jagatud kaheks: GDK_DEBUG ja GDK_DISABLE. Lisatud on reĆŸiimid GDK_DISABLE=color-mgmt ja GDK_DISABLE=offload. GTK_DEBUG=css reĆŸiim kuvab hoiatuseid vananenud CSS-omaduste kasutamisel. Lisatud otseteed Super-r sĂŒndmuste logi salvestamiseks ja Super-c ekraanipildi tegemiseks.
- SĂ”ltuvuste ja koostamiskeskkonna nĂ”uded on tĂ”stetud. Koostamiseks on nĂŒĂŒd vajalik C11 toega kompilaator ning vĂ€hemalt versioonid gstreamer 1.24, pango 1.52 ja cairo 1.18. Vana koostamisreĆŸiimide, nagu gtk_doc (kasutage documentation), update_screenshots (-> screenshots), demo-profile (-> profile) ja demos (-> build-demos), toetus on lĂ”petatud.
- macOS 10.15+ sĂŒsteemidele on rakendatud pikslite vĂ€rvi mÀÀramise liides (color picker).
- Windowsi jaoks on sisse lĂŒlitatud inkrementaalse renderdamise reĆŸiim kasutades API WGL.
Allikas: opennet.ru


