PĂ€rast nelja kuu arendust on avaldatud mitmeplatvormiline tööriistakomplekt graafiliste kasutajaliideste loomiseks â GTK 4.6.0. GTK 4 areneb uue arendusprotsessi raames, mille eesmĂ€rk on pakkuda rakenduste arendajatele stabiilset ja aastate jooksul toetatud API-d, mida saab kasutada mureta, et iga kuue kuu tagant peab rakendusi API muutuste tĂ”ttu uuesti tegema.
GTK 4.6 kÔige silmapaistvamad tÀiustused on:
- Vanast OpenGL-i renderdamismootorist on loobutud, asendades selle uue NGL-mootoriga, mis on alates GTK 4.2 vaikimisi kaasas ja pakub paremat jĂ”udlust. NGL on saanud nimeks GL. Tekstuuride laadimise kood on ĂŒmber kirjutatud, pildiformaatide ja vĂ€rviruumide tugi on paranenud.
- Oluliselt on ĂŒmber kirjutatud kodu, mis on seotud elementide suuruste arvutamise ja vidinate paigutamisega. Varasemalt toetusid omadused GtkWidget::halign ja GtkWidget::valign elementide paigutamisel vidinate vaike suurusele, mis, kui mÀÀrati ainult ĂŒks suurus tĂ€ite reĆŸiimis, vĂ”is pĂ”hjustada elemendi lisaruumi kasutamist. GTK 4.6-s on rakendatud vĂ”imalus mÔÔta puuduvat suurust suhteliste mÔÔtmete alusel (nt kui laius on mÀÀratud, vĂ”ib paigutamisel arvesse vĂ”tta saadaval olevat kĂ”rgust), mis vĂ”imaldab vidinate muuta kitsamaks ilma tarbetut ruumi kasutamata.


- GtkBoxi vidinas on rakendatud vĂ”imalus arvutada laste elementide individuaalsed suurused. Kui varem jaotati ruum vĂ”rdselt laste vidinate vahel vastavalt nende vaike suurusele, siis GTK 4.6 vĂ€ljastamisel arvestatakse nĂŒĂŒd laste elementide tegelikku suurust.
- GtkLabeli vidinas on rakendatud toe andmine teksti murtmiseks suvalisse ridade arvu, mis vÔimaldab luua kitsaid silte, mis vÔtavad vÀhemalt piisava vertikaalse ruumi.
- GtkWindow klassile on lisatud vĂ”imalus kohandada minimaalne suurus kĂŒlgde raakts proportsioonide suhtega, mis vĂ”imaldab akna suurust vabalt muuta, muretsemata, et see on liiga vĂ€ike. Lisatud on omadus âWindow.titlebarâ.
- Lisatud uus hoiatus, mis teavitab mÔÔtude mittevastavusest, kui vidin tagastab vale suuruse. Gtk-CRITICAL **: 00:48:33.319: gtk_widget_measure: vÀide 'for_size >= minimum opposite size' ebaÔnnestus: 23 >= 42
- GtkTextView vidin toetab parempoolset vĂ”i keskel joondatud tabulatsioone. Lisatud toimetamise ja rea kĂ”rguse töötlemise tugi. Parandatud kerimist mÀÀratud markerini. Parandatud muutmise tĂŒhistamise töötlemine. Lahendatud probleemid, mis tekkisid teksti kleepimisel lĂ”ikelaualt ja emotikonide kleepimise kasutajaliidese kuvamisel.
- GtkMenuButton vidinas on nĂŒĂŒd vĂ”imalik mÀÀrata oma alamelemente.
- GtkBuilderis on kiirendatud mallide eelkompileerimist.
- Lisatud aktiveerimise signaal GtkComboBoxi ja GtkDropDown vidinate aktiveerimiseks.
- GtkDropDown vidinasse on lisatud show-arrow omadus, et juhtida noole kuvamist.

- GtkPopoverMenu'sse on lisatud use-markup atribuut, et kasutada Pango-mĂ€rgistust menĂŒĂŒtekstis.
- StiilsĂŒsteemis on rakendatud CSS omaduste font-variant-caps toimetamine vĂ€ikeste suurte tĂ€htede kuvamiseks ja text-transform tekstimuutmiseks.
- Lisatud GtkSymbolicPaintable liides, et hallata sĂŒmboolsete ikoonide vĂ€rve.
- Uurimistöö liidesele on lisatud tugi lohistamis- ja droppimise tegevuste jĂ€lgimiseks, sujuva sisendi mooduli kuvamiseks, lĂ”ikelauasisu vaatlejale, gtk_widget_measure() visualiseerimiseks ja sĂŒndmuste logimise vĂ”imalusele. gtk4-node-editor utiliidile on lisatud toimetamise vĂ€li.
- Waylandi jaoks on implementeeritud kĂ”rge kontrastsuse (high-contrast) reĆŸiimi aktiveerimise seadistus. Lisatud tugi wl_seat v7 protokollile.
- Lisatud gtk-hint-font-metrics seadistus, et teksti joonistamine oleks lÀhemal GTK3 kÀitumisele.
- X11-pĂ”histes sĂŒsteemides on lisatud puudutuste juhtimise tugi puuteplaatidel (XInput 2.4 kasutamisel) ja akende pealkirjade lohistamise kĂ€itumise parandamine.
- GDK raamatukogus, mis pakub kihti GTK ja graafikasĂŒsteemi vahel, on parandatud OpenGL ja OpenGL ES versioonide kontrolli. On lisatud HSL vĂ€rviruumi tugi. Tekstuuride laadimisel ja pildiformaatide töötlemisel kasutatakse otse libpng, libjpeg ja libtiff teeke. EGL initsialiseerimise kood on viidud frontend'i poole. On lisatud 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-repositooriumi 'master' haru on ĂŒmber nimetatud 'main'.
Allikas: opennet.ru



