Po ôsmich mesiacoch vývoja bolo zverejnené vydanie multiplatformového súboru nástrojov na vytváranie grafického používateľského rozhrania – GTK 4.8.0. GTK 4 sa vyvíja ako súčasť nového vývojového procesu, ktorý sa pokúša poskytnúť vývojárom aplikácií stabilné a podporované API na niekoľko rokov, ktoré možno používať bez obáv z nutnosti každých šesť mesiacov prepisovať aplikácie kvôli zmenám API v nasledujúcom GTK. pobočka.
Niektoré z najvýznamnejších vylepšení v GTK 4.8 zahŕňajú:
- Štýl rozhrania pre výber farieb bol zmenený (GtkColorChooser).
- Rozhranie výberu písma (GtkFontChooser) má vylepšenú podporu pre možnosti formátu OpenType.
- CSS engine optimalizoval preskupovanie prvkov spojených s rovnakým rodičom a umožňuje použitie neceločíselných hodnôt pri určovaní veľkosti medzier medzi písmenami.
- Údaje emodži boli aktualizované na CLDR 40 (Unicode 14). Pridaná podpora pre nové miestne nastavenia.
- Téma aktualizovala ikony a zlepšila čitateľnosť zvýraznených textových štítkov.
- Knižnica GDK, ktorá poskytuje vrstvu medzi GTK a grafickým subsystémom, optimalizovala konverziu pixelových formátov. Na systémoch s ovládačmi NVIDIA je povolené rozšírenie EGL EGL_KHR_swap_buffers_with_damage.
- Knižnica GSK (GTK Scene Kit), ktorá poskytuje možnosť vykresľovania grafických scén cez OpenGL a Vulkan, podporuje spracovanie veľkých viditeľných plôch (výrezov). Navrhujú sa knižnice na vykresľovanie glyfov pomocou textúr.
- Wayland podporuje protokol „xdg-activation“, ktorý vám umožňuje prenášať zameranie medzi rôznymi povrchmi prvej úrovne (napríklad pomocou aktivácie xdg môže jedna aplikácia prepínať zameranie na inú).
- Widget GtkTextView znižuje počet situácií, ktoré vedú k opakovanému prekresľovaniu, a implementuje funkciu GetCharacterExtents na určenie oblasti s glyfom, ktorý definuje znak v texte (funkcia, ktorá je populárna v nástrojoch pre ľudí so zdravotným postihnutím).
- Trieda GtkViewport, ktorá sa používa na organizáciu posúvania v miniaplikáciách, má štandardne povolený režim „scroll-to-focus“, v ktorom sa obsah automaticky posúva, aby sa zachoval prvok, ktorý má zobrazený vstup.
- Widget GtkSearchEntry, ktorý zobrazuje oblasť pre zadanie vyhľadávacieho dopytu, poskytuje možnosť nakonfigurovať oneskorenie medzi posledným stlačením klávesu a odoslaním signálu o zmene obsahu (GtkSearchEntry::search-changed).
- Widget GtkCheckButton má teraz možnosť priradiť vlastný podradený widget s tlačidlom.
- Do miniaplikácie GtkPicture bola pridaná vlastnosť „content-fit“ na prispôsobenie obsahu danej veľkosti oblasti.
- Výkon rolovania bol optimalizovaný v miniaplikácii GtkColumnView.
- Widget GtkTreeStore umožňuje extrakciu stromových údajov zo súborov vo formáte ui.
- Do triedy GtkInscription pribudol nový widget na zobrazovanie zoznamov, ktorý má na starosti zobrazovanie textu v konkrétnej oblasti. Pridaná demo aplikácia s príkladom použitia GtkInscription.
- Do miniaplikácie GtkTreePopover bola pridaná podpora posúvania.
- Widget GtkLabel pridal podporu pre karty a možnosť aktivovať štítky kliknutím na symboly priradené k štítku na klávesnici.
- Widget GtkListView teraz podporuje vlastnosti "::n-items" a "::item-type".
- Vstupný systém poskytuje podporu pre manipulátory parametrov rolovania dimenzie (GDK_SCROLL_UNIT_WHEEL, GDK_SCROLL_UNIT_SURFACE).
- Pre platformu macOS pribudla podpora režimu celej obrazovky a prehrávania videa pomocou OpenGL. Vylepšená detekcia monitora, práca v konfiguráciách s viacerými monitormi, umiestnenie okna a výber veľkosti pre dialógové okno súboru. Na vykresľovanie sa používajú CALayer a IOSurface. Aplikácie je možné spúšťať na pozadí.
- Na platforme Windows sa zlepšilo umiestňovanie okien na obrazovkách HiDPI, pribudlo rozhranie na detekciu farieb, implementovala sa podpora udalostí kolieska myši s vysokým rozlíšením a zlepšila sa podpora touchpadu.
- Do nástroja gtk4-builder-tool bol pridaný príkaz screenshot na vytvorenie snímky obrazovky, ktorá sa používa pri generovaní snímok obrazovky pre dokumentáciu.
- Poskytuje sa inštalácia pomôcky gtk4-node-editor.
- Možnosti ladiaceho nástroja boli rozšírené. Implementované zobrazenie dodatočných údajov aplikácie a povolené prezeranie vlastností PangoAttrList počas kontroly. Kontroly zo strany inšpektorov sú povolené. Pridaná podpora pre režim „GTK_DEBUG=invert-text-dir“. Namiesto premennej prostredia GTK_USE_PORTAL sa navrhuje režim „GDK_DEBUG=portals“. Vylepšená odozva kontrolného rozhrania.
- Do backendu ffmpeg bola pridaná podpora zvuku.
- Limit pamäte v programe na sťahovanie obrázkov JPEG sa zvýšil na 300 MB.
Zdroj: opennet.ru