Pärast nelja kuu arendust on välja antud platvormidevaheline tööriistakomplekt graafilise kasutajaliidese loomiseks — GTK 4.6.0. GTK 4 areneb uue arendusprotsessi raames, mille eesmärk on pakkuda rakenduste arendajatele stabiilset ja mitme aasta jooksul toetatud API-d, mida saab kasutada, ilma et oleks kartust, et iga kuue kuu tagant tuleb rakendusi API muutuste tõttu ümber kirjutada.
GTK 4.6 kõige märgatavamate täiustuste seas:
- Eemaldatud on vana OpenGL-põhine joonistusmootor, millele on asenduseks tulnud uus NGL-mootor, mis on alates GTK 4.2 vaikimisi kaasas ja tagab kõrgema jõudluse. NGL on ümber nimetatud GL-iks. Tekstuuride laadimise kood on ümber kirjutatud, pildi formaatide ja värviruumide tugi on paranenud.
- Kood on märgatavalt ümber tehtud, et arvutada elementide suurusi ja paigutada vidinaid. Varem tuginesid omadused GtkWidget::halign ja GtkWidget::valign elementide paigutamisel vidinate vaike suurusele, mis ühe suuruse näitamise korral täiteala režiimis võis põhjustada vidina liialdava ruumi kasutamise. GTK 4.6-s on toodud sisse võimalus mõõta puuduvat suurust suhteliselt (näiteks kui laius on määratud, arvestatakse paigutamisel saadavalolevat kõrgust), mis võimaldab vidinate juures peenemaid luua ilma liigse ruumi kasutamiseta.


- Vidinas GtkBox on rakendatud võimalus arvutada laste elementide individuaalne suurus. Kui varem jaotati ruum võrdselt laste vidinate vahel nende vaike suuruse alusel, siis GTK 4.6-s on väljundis arvesse võetud laste elementide tegelikku suurust.
- Vidinas GtkLabel on rakendatud toe loomise funktsioon teksti üleviimisele suvalisse ritta, mis võimaldab luua kitsaid silte, mis kasutavad saadavalolevat vertikaalset ruumi.
- GtkWindow klassi on lisatud minimaalsete suuruste kohandamise võimalus küljesuhte suhtega, mis võimaldab akna suurust vabalt muuta, muretsemata, et see oleks liiga väike. Lisatud on omadus „Window.titlebar”.
- Uus hoiatus on lisatud, et teavitada suuruse sobimatuks muutumisest, kui vidin tagastab vale suuruse. Gtk-CRITICAL **: 00:48:33.319: gtk_widget_measure: assertion ‘for_size >= minimum opposite size’ failed: 23 >= 42
- GtkTextView vidinas on lisatud toetust tabulatsioonile, mis on parempoolsetesse või keskele joondatud. Lisatud on tekstimuundmise tugi ja rida kõrguse arvestamine. Parendatud on kerimise toimingut määratud märgini. Muudatused on tühistamise käitlemist parendatud. Lahendatud on probleemid tekstide liimimisel lõikepuhvrist ja emojide sisestamise liidese kuvamise koha valikuga.
- GtkMenuButton vidinas on võimalus määrata oma lapsi.
- GtkBuilderis on mallide eelcompileerimist kiirendatud.
- Lisatud on activate signaal GtkComboBox ja GtkDropDown vidinate aktiveerimiseks.
- GtkDropDown vidinas on lisatud omadus show-arrow, et hallata noole näitamise võimalust.

- GtkPopoverMenu-sse on lisatud atribuudi use-markup tugi Pango vorminduse kasutamiseks menüü tekstis.
- Stiilsüsteemis on rakendatud CSS omaduste font-variant-caps tugi peenete suurte tähtede kuvamiseks ja text-transform teksti muutmiseks.
- Lisa GtkSymbolicPaintable liides sümboolsete ikoonide värvi haldamiseks.
- Inspektorliidesesse on lisatud Drag-and-Drop operatsioonide jälgimise tugi, hetke sisestusseadmestiku näitamine, lõikepuhvri sisu vaatamine, gtk_widget_measure() visualiseerimise graafiku rakendamine, sündmuste logimise võimaldamine. gtk4-node-editor utiliiti on lisatud Drag-and-Drop režiimi tugi.
- Waylandi jaoks on rakendatud seadistust kõrge kontrastsuse režiimi aktiveerimiseks. Lisatud tugi wl_seat protokollile v7.
- Lisatud gtk-hint-font-metrics seade teksti joonistamise käitumise lähedale viimiseks GTK3-le.
- X11-põhistes süsteemides on lisatud puuteplaatide juhtimise žestide tugi (XInput 2.4 kasutamisel) ja akende pealkirjade lohistamise käitumise parandamine.
- GDK raamatukogus, mis pakub liidest GTK ja graafikasüsteemi vahel, on parendatud OpenGL ja OpenGL ES versioonide kontrollimist. Lisatud on HSL värviruumi tugi. Tekstuuride laadimisel ja pildi formaatide töötlemisel kasutatakse otse raamatukogusid libpng, libjpeg ja libtiff. EGL algsest koodist on nüüd frontendi poole üle viidud. Uued API-d: gdk_texture_new_from_bytes, gdk_texture_new_from_filename, gdk_texture_download_float, gdk_texture_save_to_png_bytes, gdk_texture_save_to_tiff, gdk_texture_save_to_tiff_bytes ja gdk_display_create_gl_context.
- Git-i hoidlas on haru "master" ümber nimetatud "main".
Allikas: opennet.ru



