Nakon 10 mjeseci od najnovije probne verzije, predstavljeno je izdanje nove verzije GTK 3.96, nova eksperimentalna verzija buduće stabilne verzije GTK 4.
Dok je GTK 4 u razvoju kao dio novog razvojnog procesa koji pokušava osigurati stabilan API nekoliko godina koji se može koristiti bez svakih šest mjeseci, morat ćete ponoviti prijavu zbog promjena API-ja u sljedećoj grani GTK-a.
Glavne nove značajke u GTK 3.96
Dolaskom ovog novog izdanja u službenoj najavi, može se istaknuti nekoliko noviteta među kojima jedan od njih je da je Broadway-ov GDK backkend u potpunosti prepisan za prikaz rezultata GTK biblioteke u prozoru web preglednika.
U prethodnoj primjeni Broadwaya nije bio u skladu s GTK 4 metodama prikazivanja predložen (umjesto slanja u međuspremnik, sada se koristi model zasnovan na čvoru prikazivanja, u kojem je izlaz organiziran u obliku stabla operacija na visokoj razini koje GPU učinkovito obrađuje pomoću OpenGL-a i Vulkana).
Nova verzija Broadwaya pretvara čvorove za crtanje u DOM čvorove sa CSS stilovima za prikaz sučelja u pregledniku. Svako novo stanje zaslona obrađuje se kao promjena u DOM stablu u odnosu na prethodno stanje, smanjujući veličinu podataka prenesenih na udaljeni klijent.
Las 3D transformacije i grafički efekti provode se kroz svojstvo CSS transformacije.
GDK je nastavio s implementacijom API-ja koji su razvijeni s namjerom da se koristi protokol Wayland i izvrši čišćenje API-ja povezanog s X11 ili ih premjesti u zasebnu pozadinu X11.
Nastavilo se s refaktoriziranjem koda povezanog s izvođenjem operacija povlačenja i ispuštanja, uključujući predložene odvojene objekte GdkDrag i GdkDrop.
Mogućnosti 3D transformacije dovedene su do razine koja vam omogućuje stvaranje takvih efekata animacije poput rotirajuće kocke.
U GSK API (GTK Scene Kit), koji pruža grafičke crteže scena putem OpenGL-a i Vulkana, radio je na pogreškama koji su postali lakši zahvaljujući novom alatu za ispravljanje pogrešaka gtk4-node-editor, koji omogućuje učitavanje i prikaz čvora prikaza u seriliziranom formatu (može se spremiti u načinu inspektora GTK), a također i za usporedbu rezultata crtanja kada se koriste različite pozadinske datoteke.
Ostale promjene
Dodaci GtkAssistant, GtkStack i GtkNotebook dodani su javno dostupnim objektima za paginirani izlaz djece, kojem su prenesena podređena svojstva podataka widgeta koji nisu raspoređeni.
Budući da se sva postojeća podređena svojstva pretvaraju u uobičajena svojstva, svojstva izgleda ili premještaju u objekte stranice, podrška za podređena svojstva potpuno je uklonjena iz GtkContainer.
Od ostalih promjena koje se ističu u ovoj verziji:
- Osnovna funkcionalnost GtkEntry premještena je u novi widget GtkText, koji također uključuje napredno sučelje za uređivanje GtkEditable. Sve postojeće potklase za unos podataka pretvaraju se u implementacije GtkEditable na temelju novog widgeta GtkText.
- Dodan je novi widget GtkPasswordEntry za obrasce za unos lozinke.
- Dodani su novi modeli formiranja popisa: GtkMapListModel, GtkSliceListModel, GtkSortListModel, GtkSelectionModel i GtkSingleSelection. U budućnosti planiramo dodati podršku za modele popisa u GtkListView.
- U GtkBuilder dodaje se mogućnost postavljanja svojstava objekta umjesto (inline), umjesto korištenja veza pomoću identifikatora.
- Naredba je dodana u gtk4-builder-tool za pretvaranje UI datoteka iz GTK 3 u GTK 4.
- Ukinuta je podrška za ključne teme (ključna tema), kartice (tablični izbornik) i kombinirane okvire. Uklonjen je widget GtkInvisible.
Napokon, dok se GTK 4 ne stabilizira u potpunosti, preporučuje se da se predložene korisničke aplikacije nastave graditi pomoću GTK 3.24.
izvor: https://blog.gtk.org