KĂŒmne kuu möödudes katsevĂ€ljaandest , uus katsetusvĂ€ljaanne tulevase stabiilse versiooni GTK 4. GTK 4 haru areneb uue arendusprotsessi raames, mis pĂŒĂŒdleb selle poole, et pakkuda rakenduste arendajatele stabiilset ja mitme aasta jooksul toetatud API-d, mida saab kasutada ilma hirmuta, et iga kuue kuu tagant tuleb API muudatuste tĂ”ttu rakendust ĂŒmber teha. Enne GTK 4 tĂ€ielikku stabiliseerimist soovitatakse kasutajatele pakutavad rakendused edasi koguda GTK 3.24 haru abil. .
Peamised GTK 3.96-s:
- API-s (GTK Scene Kit), mis vĂ”imaldab joonistada graafikascene OpenGL-i ja Vulkaniga, on tehtud veaotsingu tööd, mille tuvastamine on nĂŒĂŒd lihtsam tĂ€nu uuele silumise tööriistale gtk4-node-editor, mis vĂ”imaldab laadida ja kuvada renderdamise sĂ”lme serialiseeritud formaadis (vĂ”ib salvestada GTK inspektori inpektsiooni reĆŸiimis), samuti vĂ”rrelda renderdamise tulemusi erinevate tagapindade kasutamisel;
- 3D-transformatsioonide vÔimalused on viidud tasemele, mis vÔimaldab luua selliseid animatsiooniefekte nagu pöörlev kuub;
- TĂ€ielikult GDK-tagapind Broadway, mis on mĂ”eldud GTK raamatukogu vĂ€ljundi joonistamiseks veebibrauseris. Vana Broadway rakendus ei vastanud GTK 4 pakutud joonistusmeetoditele (bufferi vĂ€ljundi asemel kasutatakse nĂŒĂŒd joonistus-sĂ”lmede pĂ”hist mudelit, kus vĂ€ljund koostatakse kĂ”rgetasemeliste operatsioonide puuna, mida GPU töötleb tĂ”husalt OpenGL-i ja Vulkaniga).
Uus Broadway variant teisendab joonistamise sÔlmed DOM-sÔlmedeks CSS-i stiilidega, et nÀidata liideseid brauseris. Iga uus ekraani seisund töödeldakse kui DOM-puu muutust eelmise seisundi suhtes, mis vÔimaldab vÀhendada kaugkliendile edastatava andmehulga suurust. 3D-transformatsioonid ja graafilised efektid rakendatakse CSS-i omaduse transform abil; - GDK-s jÀtkub API-de rakendamine, mis on vÀlja töötatud arvestades Wayland protokolli kasutamist, ning X11-le tuginevate API-de puhastamine vÔi nende liikumine eraldi X11 tagapinda. Edusamme on tehtud lapsepindade ja globaalsete koordinaatide kasutamise vÀhendamisel. GDK-st on eemaldatud GDK_SURFACE_SUBSURFACE tugi;
- Koodirefaktoreerimine, mis on seotud Drag-and-Drop toimingutega, on jÀtkuvalt kÀimas; sealhulgas on ettepanekud eraldi GdkDrag ja GdkDrop objektide kohta.
- SĂŒndmuste töötlemine on lihtsustatud, nĂŒĂŒd kasutatakse neid ainult sisendiks. ĂlejÀÀnud sĂŒndmused on asendatud eraldi signaalidega, nĂ€iteks on vĂ€lja kirjutatud GdkSurface::render signaal vĂ€ljundisĂŒndmuste asemel, GdkSurface::size-changed signaal seadistussĂŒndmuste asemel, GdkSurface::mapped signaal vastavussĂŒndmuste asemel ning GdkSurface::event signaal gdk_event_handler_set() asemel.
- GDK Waylandi tagaplaanile on lisatud portaalliidese tugi GtkSettings seadete juurde pÀÀsemiseks. Sisendi meetodite töötlemiseks on ettepanek protokolli text-input-unstable-v3 laienduse toe osas.
- Vidinate arendamiseks on esitatud uus objekt GtkLayoutManager, mis rakendab elementide paigutushalduse sĂŒsteemi sĂ”ltuvalt nĂ€htava ala suurusest. GtkLayoutManager asendab GTK konteinerite, nagu GtkBox ja GtkGrid, alamomadusi. Pakutakse mitmeid valmis paigutusjuhte: GtkBinLayout lihtsatele konteineritele, mis sisaldavad ĂŒhte alamkomponenti; GtkBoxLayout lineaarsete alamkomponentide jaoks; GtkGridLayout alamkomponentide ruudustikku paigutamiseks; GtkFixedLayout vabalt paigutamiseks; GtkCustomLayout traditsiooniliste elementide ĂŒmber tĂ”lkimiseks, mis pĂ”hinevad size_allocate kĂ€sitlejatel.
- GtkAssistant, GtkStack ja GtkNotebook vidinates on lisatud avalikult kÀttesaadavad objektid alamkomponentide lehekujunduseks, kuhu on viidatud paigutust (Layout) mittepuudutavad alamkomponentide omadused. Kuna kÔik olemasolevad alamkomponentide omadused on muudetud tavalisteks omadusteks vÔi viidud leheobjektidesse, on GtkContainerist tÀielikult eemaldatud alamkomponentide omaduste tugi.
- GtkEntry pÔhifunktsionaalsus on viidud uude vidinasse GtkText, mis sisaldab ka tÀiustatud redigeerimisliidest GtkEditable. KÔik olemasolevad andmesisendi alamklassid on muudetud GtkEditable rakendusteks uue GtkText vidina pÔhjal.
- Lisatud on uus GtkPasswordEntry vidin paroolide sisestamiseks.
- GtkWidgets on lisatud vÔimalus pöörata alamkomponente lineaarsete transformatsioonide meetodite abil, mis on mÀÀratud CSS-i vÔi GskTransformi argumentide kaudu gtk_widget_allocate'is. Antud vÔimalust on juba rakendatud GtkFixed vidinas.
- Uued loendite mudelid: GtkMapListModel, GtkSliceListModel, GtkSortListModel, GtkSelectionModel ja GtkSingleSelection. Edasi plaanitakse lisada loendite mudelite toe GtkListView's;
- GtkBuilderisse on lisatud vÔimalus mÀÀrata objektide omadused kohapeal (inline), selle asemel et kasutada identifikaatorite viiteid;
- gtk4-builder-tool'i on lisatud kÀsk GTK 3 liidese failide konverteerimiseks GTK 4-ks;
- Toetamine peamiste teemaformaatide (key theme), vahetatavate menĂŒĂŒde (tabular menu) ja kombineeritud plokkide (combo box) osas on lĂ”petatud. GtkInvisible vidin on eemaldatud.
Allikas: opennet.ru
