ProHoster > Blog > internetes hírek > A GTK 3.99.0 megjelenése a GTK 4 tervezett funkcionalitásának befejezését jelentette
A GTK 3.99.0 megjelenése a GTK 4 tervezett funkcionalitásának befejezését jelentette
közzétett a keret végső kísérleti kiadása GTK 3.99.0, amely a GTK 4-hez tervezett összes funkciót megvalósítja. A GTK 4 ágat egy új fejlesztési folyamat részeként fejlesztik, amely megpróbálja az alkalmazásfejlesztők számára stabil és több évre támogatott API-t biztosítani, amelyet anélkül, hogy félnünk kell félévente írjuk át az alkalmazásokat, mert az API-módosításokhoz a következő GTK-ágban. A GTK 4 megjelenését az év vége előtt tervezik.
Elemek elrendezésének módszere megszorítások alapján (kényszerű elrendezés), amelyben a gyermekelemek helyét és méretét a szegélyek távolsága és más elemek mérete alapján határozzák meg.
A Vulkan grafikus API-n alapuló megjelenítő, amely árnyékolókat valósít meg a GTK widgetekben használt sok erőforrás-igényes CSS-elemhez.
integráció GSK (GTK Scene Kit), amely képes grafikus jelenetek megjelenítésére OpenGL és Vulkan segítségével.
A renderelés szervezése átdolgozásra került - a pufferbe történő kimenet helyett a render csomópontokon alapuló modellt alkalmazzák, amelyben a kimenet magas szintű műveletek fa formájában van elrendezve, amelyet a GPU az OpenGL segítségével hatékonyan dolgoz fel. és Vulkan.
alapok a bemeneti fókusz változtatások rugalmas kezeléséhez.
Modernizált eseménykézbesítési modell, amely kiküszöböli az alablakok szükségességét a bemeneti események irányításakor. Az új modell megvalósításának szükségessége az animációs effektusok aktívabb használatához kapcsolódik, amelyek megjelenítését a látható elemek elrendezésének megváltoztatása és ennek megfelelően alablak nélkül kell elvégezni.
A GDK API-t újratervezték, szem előtt tartva a Wayland protokollt és a kapcsolódó koncepciókat. Az X11-re és a Wayland-alapú szolgáltatásokra átkerültek külön backendek.
Az API jelentős tisztítása megtörtént, beleértve a GtkMenu, GtkMenuBar és GtkToolbar osztályok eltávolítását, a GMenu és a felugró menükön alapuló opciók javára.
A GtkTextView és más beviteli widgetek beépített visszavonási veremmel rendelkeznek.
Új GtkNative osztály került hozzáadásra azokhoz a widgetekhez, amelyek saját megjelenítési felülettel rendelkeznek, és az első szinten külön is működhetnek anélkül, hogy a szülő widgetekhez lennének kötve.
Új widgetek kerültek hozzáadásra, köztük a GtkPicture, GtkText, GtkPasswordEntry, GtkListView, GtkGridView, GtkColumnView és egy Emoji kijelző widget.
A widgetek fejlesztéséhez egy új GtkLayoutManager objektumot vezetnek be az elemek elrendezését a látható terület méretétől függően vezérlő rendszer megvalósításával. A GtkLayoutManager lecseréli a gyermektulajdonságokat a GTK-tárolókban, például a GtkBoxban és a GtkGridben.
Az eseménykezelés egyszerűsödött, és már csak bevitelre használható. A fennmaradó eseményeket külön jelek helyettesítik, például a kimeneti események helyett a „GdkSurface::render” jelet javasoljuk, és a konfigurációs események helyett a „GdkSurface::size-changed” kerül felajánlásra.
Új absztrakciós réteg, GdkPaintable került hozzáadásra, amely olyan objektumokat képvisel, amelyek bárhová, bármilyen méretben megrajzolhatók, az elrendezési rétegek rendezése nélkül.
A Broadway háttérprogramot átírták, hogy lehetővé tegye a GTK-könyvtár kimenetének megjelenítését egy webböngésző ablakban.
A Drag-and-Drop műveletek végrehajtásához társított API-t újratervezték, beleértve a javasolt különálló GdkDrag és GdkDrop objektumokat.
Fejlesztések az előző tesztkiadáshoz képest:
A fogyatékkal élők számára készült akadálymentesítési API régi megvalósítását eltávolítottuk, helyette a specifikáció alapján egy új verzió került. ARIA és a GtkAccessible widget.
Hozzáadott támogatás a szerkeszthető címkékhez (GtkEditableLabel).
Új listamodelleket javasoltak a könyvjelzők (GtkBookmarkList), karakterláncok (GtkStringList) és kiválasztási blokkok (GtkBitset) megjelenítésére.
A GtkTreeView widget képes cellákat szerkeszteni.
A görgetés megvalósítása javult a GtkGridView és GtkListView verziókban, hozzáadták az automatikus görgetés és az automatikus bővítés támogatását.
A GtkWidget jelentősen felgyorsítja a különféle műveletek feldolgozását.
A növekményes görgetés és szűrés támogatása hozzáadva a GtkFilterListModelhez és a GtkSortListModelhez.
Az Inspector hozzáadta a listamodellek vizsgálatának támogatását és az objektumok közötti közvetlen navigálás lehetőségét.
A GDK-ban elmentették a görgetési előzményeket, megtisztították a GdkDevice API-t, és leállították az eszközök master és slave szétválasztását.
Új GDK-háttér a macOS számára.
Egy új GDK-megjelenítési háttérrendszer, amely a SZÖG, közbenső rétegek az OpenGL ES hívások OpenGL-re, Direct3D 9/11-re, Desktop GL-re és Vulkan-ra való lefordításához.