edicion fundore eksperimentale e kornizës , në të cilën janë implementuar të gjitha mundësitë e planifikuara për GTK 4. Dega GTK 4 po zhvillohet brenda një procesi të ri zhvillimi, i cili përpiqet të ofrojë zhvilluesve të aplikacioneve një API të qëndrueshëm dhe të mbështetur për disa vite, që mund të përdoret pa u frikësuar se çdo gjashtë muaj do të duhet të rregullohen aplikacionet për shkak të ndryshimeve në API në degën tjetër GTK. Lëshimi i GTK 4 planifikohet të bëhet deri në fund të vitit.
Nga më në mund të theksohet:
- Metoda e vendosjes së elementeve në bazë të kufizimeve (), ku vendosja dhe madhësia e elementeve të bijë përcaktohet duke u bazuar në distancën nga kufijtë dhe madhësinë e elementeve të tjera.
- Moduli i vizatimit mbi bazën e API Vulkan, ku janë implementuar shigerë për shumë elemente CSS që konsumojnë burime, të aplikuar në widget-e GTK.
- Integrimi (GTK Scene Kit) me mundësi për vizatimin e skenave grafike përmes OpenGL dhe Vulkan.
- Organizimi i vizatimit është rishikuar - në vend të daljes në buffer, tani aplikohet një model i bazuar në nodet e vizatimit (render nodes), ku produkti grumbullohet në formën e një peme operacionesh me nivele të larta, që përpunohen në mënyrë efikase nga GPU përmes OpenGL dhe Vulkan.
- për përpunimin fleksibël të ndryshimeve të fokusit të inputit.
- Modeli i modernizuar i dorëzimit të ngjarjeve, i cili lejon shmangien e subwindow në rregullimin e ngjarjeve të inputit. Nevoja për implementimin e një modeli të ri lidhet me përdorimin më aktiv të efekteve të animacionit, të cilat duhet të vizatohen pa ndryshuar vendosjen e elementeve të dukshme dhe, si pasojë, pa subwindow.
- API GDK është rishikuar duke u mbështetur në përdorimin e protokollit Wayland dhe koncepteve të lidhura me të. Mundësitë e lidhura me X11 dhe Wayland janë transferuar në .
- Një pastrim i madh i API është realizuar, duke përfshirë heqjen e klasave GtkMenu, GtkMenuBar dhe GtkToolbar, përveç të cilave janë propozuar GMenu dhe variante të bazuara në menutë e daljes (popover).
- Në GtkTextView dhe widget-e të tjera të inputit është e integruar një grackë për kthimin e ndryshimeve (undo).
- Klasë e re GtkNative është shtuar për widget-et, të cilat kanë një sipërfaqe të vetme vizatimi dhe që mund të funksionojnë veçmas në nivelin e parë, pa u lidhur me widget-et prind.
- Widget-e të reja janë shtuar, përfshirë GtkPicture, GtkText, GtkPasswordEntry, GtkListView, GtkGridView, GtkColumnView, si dhe një widget për shfaqjen e Emojive.
- Për zhvillimin e widget-eve është paraqitur objekti i ri GtkLayoutManager me zbatimin e sistemit të menaxhimit të disposicionit të elementeve në varësi të madhësisë së zonës së dukshme. GtkLayoutManager zëvendësoi pronat fëmijore në enët GTK, si GtkBox dhe GtkGrid.
- PĂ«rpunimi i ngjarjeve Ă«shtĂ« thjeshtuar, tĂ« cilat tani pĂ«rdoren vetĂ«m pĂ«r hyrje. Ngjarjet e tjera zĂ«vendĂ«sohen me sinjale tĂ« veçanta, pĂ«r shembull, nĂ« vend tĂ« ngjarjeve tĂ« daljes Ă«shtĂ« propozuar sinjali «GdkSurface::render», nĂ« vend tĂ« ngjarjeve tĂ« pĂ«rshtatjes â «GdkSurface::size-changed».
- ĂshtĂ« shtuar njĂ« nivel i ri abstraksioni GdkPaintable, qĂ« paraqet objekte qĂ« mund tĂ« pikturohen kudo me çdo madhĂ«si, pa nevojĂ«n pĂ«r tĂ« kryer renditjen e shtresave tĂ« disposicionit.
- Backend-i Broadway është shkruar përsëri, duke lejuar vizatimin e daljes së bibliotekës GTK në një dritare të shfletuesit web.
- API që lidhet me kryerjen e operacioneve të Drag-and-Drop është riorganizuar, përfshirë objektet e veçanta GdkDrag dhe GdkDrop.
Përmirësime në krahasim me versionin e kaluar prova:
- ĂshtĂ« hequr realizimi i vjetĂ«r i Accessibility API pĂ«r njerĂ«z me aftĂ«si tĂ« kufizuara, pĂ«r tĂ« cilin Ă«shtĂ« propozuar njĂ« variant i ri mbi bazĂ«n e specifikacionit dhe widget-it GtkAccessible.
- ĂshtĂ« shtuar mbĂ«shtetje pĂ«r etiketat e redaktueshme (GtkEditableLabel).
- Janë propozuar modele të reja listash për shfaqjen e shënimeve (GtkBookmarkList), vargjeve (GtkStringList) dhe blloqeve të zgjedhjes (GtkBitset).
- Në widget-in GtkTreeView është realizuar mundësia e redaktimit të qelizave.
- Në GtkGridView dhe GtkListView është përmirësuar zbatimi i rrotullimit, është shtuar mbështetje për rrotullimin automatik dhe për shkeljen automatike.
- Në GtkWidget është përshpejtuar ndjeshëm përpunimi i veprimeve të ndryshme.
- Në GtkFilterListModel dhe GtkSortListModel është shtuar mbështetje për rrotullimin inkremental dhe filtrimin.
- Në Inspector është shtuar mbështetje për inspektimin e modeleve të listës dhe mundësia e navigimit të drejtpërdrejtë midis objekteve.
- Në GDK është siguruar ruajtja e historisë së rrotullimit, është bërë pastrimi i API GdkDevice, është ndaluar ndarja e pajisjeve në master dhe slave.
- ĂshtĂ« shtuar njĂ« backend i ri GDK pĂ«r macOS.
- Për Windows është propozuar një backend i ri GDK për vizatim mbi bazën e , për të translatuar thirrjet OpenGL ES në OpenGL, Direct3D 9/11, Desktop GL dhe Vulkan.
Burimi: opennet.ru
