Négy hónapos fejlesztés után bejelentették a GTK 4.6.0 új verziójának megjelenését, amelyben 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 kompatibilis API-t biztosítani, amely használható anélkül, hogy félne az API miatt félévente újra kell csinálni az alkalmazásokat. változások a következő GTK-ágban.
A GTK 4.6 új verziójában régi OpenGL renderelő motor eltávolítva, felváltotta az új NGL renderelő motor, amely alapértelmezés szerint a GTK 4.2 óta kerül forgalomba, és jobb teljesítményt nyújt. Az NGL átnevezte GL-re, és átírta a textúrabetöltő kódot, javítva a képformátumok és színterek támogatását.
Az elemek méretének kiszámításához kapcsolódó kód és a widgetek elrendezését jelentősen átdolgozásra került. Korábban a GtkWidget :: halign és a GtkWidget :: valign tulajdonságok az alapértelmezett widgetméretre támaszkodtak az elemek elhelyezésekor, ami csak egy méretet ad meg kitöltési módban, ami miatt az elem további helyet foglalhat el.
A GTK 4.6-ban a relatív hiányzó méret mérésének képessége (például ha a szélesség meg van adva, a rendelkezésre álló magasság figyelembe vehető az elhelyezéskor), így a widgetek karcsúbbakká tehetők anélkül, hogy további helyet foglalnának el.
A widget A GtkBox megvalósítja az egyéni méret kiszámításának képességét a gyerekeké. Míg korábban a területet egyenletesen osztottuk el a gyermek widgetek között az alapértelmezett méretük alapján, a GTK 4.6 számításba veszi a gyermekelemek tényleges méretét a rendereléskor.
A widget A GtkLabel támogatja a szöveg tetszőleges számú soron történő tördelését, amely lehetővé teszi keskeny címkék létrehozását, amelyek elfoglalják a rendelkezésre álló függőleges helyet. A GtkWindow osztályhoz hozzáadták a minimális méretet a képarányhoz igazító lehetőséggel, ami lehetővé teszi az ablak tetszőleges átméretezését anélkül, hogy félnünk kell, hogy túl kicsi lesz.
A widget A GtkTextView támogatja a jobbra vagy középre igazított tabulátorokat. Támogatást adtunk a szöveg átalakításához és a sormagasság számlálásához, a görgetési műveleten túl a megadott címkére javult, a visszavonás kezelése is javult, valamint a szöveg vágólapról történő beillesztésekor és az Emoji-beillesztés helyének kiválasztásánál javítottak a problémák. felület.
A stílusrendszer mostantól támogatja a font-variant-caps CSS-tulajdonságokat a kisbetűk megjelenítéséhez és a szövegátalakítást a szöveg átalakításához. A fogd és vidd műveletek nyomon követésének támogatása hozzáadásra került az óra felületéhez, megjelenik az aktuális beviteli modul, egy tartalomnézegető került a vágólapra, egy diagramot implementáltak a gtk_widget_measure () megjelenítéséhez, és eseménynapló is rendelkezésre áll. Drag and drop támogatással bővült a gtk4-node-editor segédprogram.
A többi változás közül amelyek kiemelkednek:
- A Wayland rendelkezik egy beállítással a nagy kontrasztú mód aktiválására. Támogatás hozzáadva a wl_seat v7 protokollhoz.
- Hozzáadott gtk-hint-font-metrics beállítás a szövegmegjelenítés GTK3 viselkedéséhez való közelítése érdekében.
- A GtkMenuButton widget lehetővé teszi saját gyermekelemek meghatározását.
A GtkBuilderben felgyorsított összeállítás előtti sablonok. - Engedélyezési jel hozzáadva a GtkComboBox és GtkDropDown widgetek engedélyezéséhez.
A show-arrow tulajdonság hozzáadásra került a GtkDropDown widgethez a nyíl megjelenítésének vezérléséhez. - A GtkPopoverMenu hozzáadva a markup attribútumot a Pango jelöléshez a menü szövegében.
- Az X11-alapú rendszerek esetében az érintőpaneleken történő vezérlési gesztusok támogatása (XInput 2.4 használata esetén) és az ablakok cím szerinti húzásának viselkedése is javult.
- Az OpenGL és az OpenGL ES verzióellenőrzést továbbfejlesztették a GDK-ban, amely egy réteget biztosít a GTK és a grafikus alrendszer között.
- Új figyelmeztetés került hozzáadásra, amely méretbeli eltérést jelez, ha a widget rossz méretet ad vissza.
- Hozzáadott támogatás a HSL színtérhez.
- A libpng, libjpeg és libtiff könyvtárak közvetlenül részt vesznek a textúrák betöltésében és a képformátumok feldolgozásában.
- Az EGL indítókód átkerült az interfész oldalára. A Git adattárban a „master” ág át lett nevezve „main”-ra.
Végül, ha érdekel, hogy többet tudjon meg róla, olvassa el a részleteket A következő linken.