PĂ€rast kuut kuud arendust on vĂ€lja antud mitme platvormi kasutajaliidese loomise tööriistakomplekt â GTK 4.16.0. GTK 4 areneb arendusprotsessis, mille eesmĂ€rk on pakkuda rakenduste arendajatele stabiilset ja mitme aasta jooksul toetatud API-d, mida saab kasutada ilma hirmuta, et iga kuue kuu jĂ€rel tuleb API muutuste tĂ”ttu rakendusi ĂŒmber teha.
GTK 4.16 silmapaistvamad tÀiustused:
- Lisatud on gtk-font-rendering seadistus, mis pakub paindlikke kÔrgema taseme vÔimalusi fondi joonistamise juhtimiseks. Madalama taseme fondiseadete kasutamiseks tuleks mÀÀrata gtk-font-rendering vÀÀrtuseks 'manual'.
- GSK (GTK Scene Kit) raamatukogus, mis pakub graafika stseenide joonistamise vÔimalusi OpenGL ja Vulkan kaudu, on vaikimisi Waylandi protokolli baasil keskkondades joonistamiseks kasutusel joonistusmootor 'vulkan', mis kasutab otse Vulkani graafika API-d. Muudel juhtudel jÀtkatakse joonistusmoonte 'ngl' kasutamist, mis pakub OpenGL-ile rakendust, mis töötab Vulkani API kohal. Mootori muutmiseks saab kasutada keskkonnamuutujat 'GSK_RENDERER'. Kuna mootorid 'vulkan' ja 'ngl' suhtlevad graafikadraiveritega erinevalt, soovitatakse nende stabiilseks tööks kasutusele vÔtta viimane Mesa 24.2 vÀljaanne.
- Teised muutused GSK raamatukogus:
- Teostatud on 'occlusion culling' optimeerimistehnika, mis vĂ€listab objektide joonistamise, mis on varjatud teiste mitteĂŒlekantavate objektide taga vĂ”i asuvad vĂ€ljaspool nĂ€htavat piirkonda.
- Komponeerimise protsessis on arvesse vÔetud vÀrviruumi teavet.
- Parandatud on glĂŒĂŒfide ja tekstuuride vahemĂ€lu haldust.
- Teostatud on suurte tekstuuride plaadistatava overlay (tiling) toe rakendamine, et luua sujuv pind tekstuuri kordamise teel.
- Parandatud on varjude joonistamist.
- Lisatud on vÔimalus kaasata riistvarakiirendust muudetud tekstuuride töötlemiseks, nÀiteks pööratud sisu kuvamiseks ekraanil.
- Parandatud on riistvarakiirenduse mehhanismide kasutamine sĂŒsteemides, kus on komposiitjuht kwin.
- Lisatud silumisvalik "GDK_DEBUG=linear", et aktiveerida lineaarse koostamise reĆŸiim. Parandatud logimist, kui kasutatakse valikuid "GDK_DEBUG=offload" ja "GSK_DEBUG=renderer".
- Waylandi protokollil ja kwin-i koostemanagel pĂ”hinevates keskkondades on nĂŒĂŒd vĂ”imalik kasutada protokolli laiendust (color-management) vĂ€rvide haldamiseks. Kinnitusteenuste dialoogide seadistamisel kasutatakse Waylandi laiendust xdg-dialog. Koostamisel on kasutusel wl_compositor objekti kuues versioon. Avatud on dmabuf'i kasutamine tekstuuride töötlemise riistvaralise kiirusetĂ”stmise protsessis OpenGL-i jaoks.
- Parandused GDK teegis, mis pakub kihti GTK ja graafikasĂŒsteemi vahel:
- Oluliselt on laiendatud vĂ€rviruumi haldamise vĂ”imalusi. Toetatud on vĂ€rviruumid srgb, srgb-linear, rec2100-pq ja rec2100-linear, ning valmistatud ette HDR-i toetavate vĂ€rviruumide rakendamiseks. Esitatud on objekt GdkColorState, mis annab teavet vĂ€rvide tĂ”lgendamise kohta, mida saab kasutada ĂŒhe vĂ€rviruumi teisendamiseks teiseks. VĂ€rviruumi teabe objekti loomise jaoks on lisatud objekt Gdk.CicpParams. GdkTexture objektis ja tekstuuride loomise, laadimise ja teisendamise objektides on nĂŒĂŒd vĂ”imalus kasutada vĂ€rviruume.
- KÀivitati uus API kursorite haldamiseks, mis pÔhineb tagasikutsumise (callback) funktsioonidel.
- Tehtud on vÔimalik MIP-tekstureerimise toimingute lÀbiviimiseks (MipMap, vÀiksemate tekstuuride loomine, mida kasutatakse objekti kauguse tÔttu) CPU kaudu.
- VĂ€rvide ja MIP-tekstureerimise teisendamiseks on aktiveeritud niitide puhver (thread pool).
- Lisatud on keskkonnamuutuja XDG_ACTIVATION_TOKEN toetus, mis sisaldab aktiveerimistokenit xdg-activation-v1 protokolli jaoks, mille abil saab ĂŒks rakendus keskenduda teisele.
- Lisatud klass GdkMemoryTextureBuilder, mis vÔimaldab luua tekstuuride objekte (GdkTexture) andmetest, mis on salvestatud operatiivmÀ geheugen.
- KohandamisvÔimalusi CSS-pÔhiste teemade loomisel on laiendatud. Lisatud on muutuja- ja kasutajaomaduste tugi. Rakendatud on CSS-funktsioonid color(), oklab(), color-mix() ning matemaatilised funktsioonid. Pakutakse vÔimalust kasutada vÀrvide suhtelist mÀÀratlemist (absoluutsete vÀrvide muutmine funktsioonide kaudu) ning mÀÀrata lÀbipaistvuse taset protsentides. Töö kÀigus vÀrvide, piiride, varjude ja tekstiga arvestatakse vÀrviruumi teavet.
- Rendernode-tool utiliiti on lisatud kÀsud «extract» andmete laadimiseks URL-ist ja «image» tekstuuride manipuleerimiseks. Lisatud on vÔimalus genereerida PDF-formaadis faile.
- Gtk4-node-editori liidesesse on lisatud toiming âPaste as nodeâ.
- Failivaliku vidinasse GtkFileChooserWidget on lisatud klahvikombinatsiooni Ctrl-Shift-N tugi kataloogide loomiseks.
- Konteinerite loomise vidinas GtkPopover on parandatud suuruse ja positsiooni muutmise töötlemist.
- Vidinas GtkGraphicsOffload, mida kasutatakse sisu, nÀiteks video, otsekomposiitide haldamiseks, on lisatud omadus «black-background» musta tausta kuvamiseks.

- Vidinas GtkGLArea, mis on mÔeldud OpenGL-i kasutamiseks, on lisatud tugi tekstuuride moodustamiseks dmabuf formaadis, mis vÔimaldab kasutada vidinat GtkGraphicsOffload otse vÀljundiks. server. TÔhustatud on komposiitidega suhtlemise efektiivsust. serverilt.

- Vidinas GtkTextView on lisatud tugi teksti kuvamiseks varjuga ning rakendatud on GtkTextBufferCommitNotify teate kasutamise vÔimalus.
- Vidinas GtkCheckButton on lisatud gruppide stiilide mÀÀramise tugi.
- Debugimise vĂ”imalusi on laiendatud. Inspectimise liideses on lisatud teavet vĂ€rviruumide ja monitori resolutsiooni kohta. Keskkonnamuutuja GDK_DEBUG on jagatud GDK_DEBUG-iks ja GDK_DISABLE-iks. Lisatud on reĆŸiimid GDK_DISABLE=color-mgmt ja GDK_DISABLE=offload. GTK_DEBUG=css reĆŸiim on lisatud, et kuvada hoiatusi vananenud CSS-funktsioonide kasutamise korral. Lisatud on klahvikombinatsioonid Super-r sĂŒndmuste logi salvestamiseks ja Super-c ekraanipildi loomiseks.
- NĂ”uded sĂ”ltuvustele ja ehituskeskkonnale on tĂ”usnud. Tuleb kasutada C11 toetava kompilaatori, samuti on vajalikud vĂ€hemalt versioonid gstreamer 1.24, pango 1.52 ja cairo 1.18. Vanade ehitusreĆŸiimide (gtk_doc, documentation, update_screenshots (-> screenshots), demo-profile (-> profile) ja demos (-> build-demos)) tugi on lĂ”petatud.
- macOS 10.15+ jaoks on rakendatud pikslite vÀrvi mÀÀramise liidest (color picker).
- Windowsi jaoks on aktiveeritud inkrementaalse renderdamise reĆŸiim WGL API abil.
Allikas: opennet.ru


