Pas quatre muaj zhvillimi, Ă«shtĂ« publikuar lĂ«shimi i toolkit-it shumĂ«platformik pĂ«r krijimin e ndĂ«rfaqeve grafike tĂ« pĂ«rdoruesit â GTK 4.6.0. GTK 4 po zhvillohet nĂ« kuadĂ«r tĂ« njĂ« procesi tĂ« ri zhvillimi, i cili synon t'u ofrojĂ« zhvilluesve tĂ« aplikacioneve njĂ« API qĂ« Ă«shtĂ« stabil dhe i mbĂ«shtetur pĂ«r disa vjet, duke e pĂ«rdorur atĂ« pa frikĂ«n se çdo gjashtĂ« muaj duhet tĂ« rishkruajnĂ« aplikacionet pĂ«r shkak tĂ« ndryshimit tĂ« API nĂ« degĂ«n e ardhshme tĂ« GTK.
Disa nga përmirësimet më të dukshme në GTK 4.6:
- Mënyra e vjetër e vizatimit të bazuar në OpenGL është hequr, ndërsa ka ardhur një motor i ri NGL, i cili është i disponueshëm si standard që nga GTK 4.2 dhe siguron performancë më të lartë. NGL është ribërë si GL. Kodi për ngarkimin e teksturave është tërësisht i ri, duke përmirësuar mbështetje për formatet e imazheve dhe hapësirat e ngjyrave.
- Kodi i lidhur me llogaritjen e madhësive të elementeve dhe kompozimin e widgeteve është riaftësuar në masë të madhe. Më parë, pronat GtkWidget::halign dhe GtkWidget::valign në vendosjen e elementeve mbështeteshin në madhësinë e widgeteve sipas parazgjedhjes, gjë që, kur vetëm një madhësi përcaktohej në modalitetin e mbushjes së hapësirës, mund të shkaktonte që elementi të zinte hapësirë të mëtejshme. Në GTK 4.6, është implementuar mundësia e matjes relative të madhësisë së munguar (p.sh., nëse përcaktohet gjerësia, gjatë vendosjes mund të merret parasysh lartësia e disponueshme), e cila lejon që widgetet të bëhen më të hollë pa zënë hapësirë të tepërt.


- Në widgetin GtkBox është implementuar mundësia e llogaritjes së madhësisë individuale të elementeve të fëmijëve. Nëse më parë hapësira ndaheshin barabartë mes widgeteve të fëmijëve në bazë të madhësisë së tyre sipas parazgjedhjes, tani në GTK 4.6, gjatë daljes, merret parasysh madhësia reale e elementeve të fëmijëve.
- Në widgetin GtkLabel është implementuar mbështetje për thyerjen e tekstit në një numër arbitrar rreshtash, e cila lejon krijimin e etiketave të ngushta që zënë hapësirën vertikale të disponueshme.
- NĂ« klasĂ«n GtkWindow Ă«shtĂ« shtuar mundĂ«sia pĂ«r tĂ« rregulluar madhĂ«sinĂ« minimale nĂ« raportin e aspektit, duke lejuar ndryshimin e madhĂ«sisĂ« sĂ« dritares pa frikĂ«n se ajo do tĂ« bĂ«het shumĂ« e vogĂ«l. ĂshtĂ« shtuar pronĂ«sia "Window.titlebar".
- ĂshtĂ« shtuar njĂ« paralajmĂ«rim i ri, i cili informon pĂ«r mos pĂ«rputhjen e madhĂ«sive nĂ« rast se widget-i kthen njĂ« madhĂ«si tĂ« gabuar. Gtk-CRITICAL **: 00:48:33.319: gtk_widget_measure: pretendimi âfor_size >= minimum opposite sizeâ dĂ«shtoi: 23 >= 42
- NĂ« widget-in GtkTextView Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r tabulimin, tĂ« rregulluar nĂ« tĂ« djathtĂ« ose nĂ« qendĂ«r. ĂshtĂ« shtuar mbĂ«shtetje pĂ«r transformimin e tekstit dhe llogaritjen e lartĂ« tĂ« rreshtit. ĂshtĂ« pĂ«rmirĂ«suar operacioni i rrokjes deri nĂ« etiketĂ«n e caktuar. ĂshtĂ« pĂ«rmirĂ«suar pĂ«rpunimi i rikthimeve tĂ« ndryshimeve. JanĂ« zgjidhur problemet gjatĂ« ngjitjes sĂ« tekstit nga clipboard-i dhe me zgjedhjen e vendit pĂ«r tĂ« treguar ndĂ«rfaqen e ngjitjes sĂ« Emoji.
- Në widget-in GtkMenuButton është ofruar mundësia për të përcaktuar elementë të tij të brendshëm.
- Në GtkBuilder është përshpejtuar paracompilimi i shabllonëve.
- ĂshtĂ« shtuar sinjali activate pĂ«r aktivizimin e widget-eve GtkComboBox dhe GtkDropDown.
- NĂ« widget-in GtkDropDown Ă«shtĂ« shtuar pronĂ«sia show-arrow pĂ«r kontrollin e shfaqjes sĂ« ŃŃŃДлĐșĐ”.

- Në GtkPopoverMenu është shtuar atributi use-markup për përdorimin e markup Pango në tekstin e menusë.
- Në sistemin e stileve është implementuar mbështetje për pronat CSS font-variant-caps për të treguar shkronjat e vogla të mëdha dhe text-transform për transformimin e tekstit.
- ĂshtĂ« shtuar ndĂ«rfaqja GtkSymbolicPaintable pĂ«r tĂ« menaxhuar ngjyrĂ«n e ikonave simbolike.
- Në ndërfaqen e inspektimit është shtuar mbështetje për gjurmimin e operacioneve Drag-and-Drop, është siguruar shfaqja e modulit aktual të input-it, është shtuar një shikues i përmbajtjes së kopjes, është realizuar një grafik për vizualizimin e gtk_widget_measure(), është siguruar mundësia e regjistrimit të ngjarjeve. Në utilitarin gtk4-node-editor është shtuar mbështetje për modin Drag-and-Drop.
- PĂ«r Wayland Ă«shtĂ« realizuar njĂ« konfigurim pĂ«r aktivizimin e modit me kontrast tĂ« lartĂ« (high-contrast). ĂshtĂ« shtuar mbĂ«shtetje pĂ«r protokollin wl_seat v7.
- ĂshtĂ« shtuar konfigurimi gtk-hint-font-metrics pĂ«r tĂ« afruar renditjen e tekstit me sjelljen e GTK3.
- Për sistemet e bazuara në X11 është shtuar mbështetje për gjestet kontrolluese në touchpad (në përdorimin e XInput 2.4) dhe është përmirësuar sjellja e tërheqjes së dritareve përmes titullit.
- Në bibliotekën GDK, e cila ofron një shtresë ndërmjet GTK dhe sistemit grafik, është përmirësuar kontrolli i versioneve të OpenGL dhe OpenGL ES. është shtuar mbështetje për hapësirën e ngjyrave HSL. Gjatë ngarkimit të teksteve dhe përpunimit të formateve të imazheve angazhohen drejtpërdrejt bibliotekat libpng, libjpeg dhe libtiff. Kodi për inicializimin EGL është transferuar në anën e frontend-it. Janë shtuar API të reja: 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 dhe gdk_display_create_gl_context.
- Dega «master» në depozitën Git është rinovuar në «main».
Burimi: opennet.ru



