Pas njĂ« periudhĂ« prej gjashtĂ« muajsh zhvillimi, Ă«shtĂ« publikuar lĂ«shimi i toolkit-it shumĂ«platformĂ«s pĂ«r krijimin e ndĂ«rfaqeve grafike â GTK 4.16.0. GTK 4 po zhvillohet brenda njĂ« procesi qĂ« pĂ«rpiqet tĂ« ofrojĂ« zhvilluesve tĂ« aplikacioneve njĂ« API tĂ« qĂ«ndrueshĂ«m dhe tĂ« mbĂ«shtetur pĂ«r disa vjet, qĂ« mund tĂ« pĂ«rdoret pa frikĂ« se çdo gjashtĂ« muaj do tĂ« duhet tĂ« riparojnĂ« aplikacionet pĂ«r shkak tĂ« ndryshimeve nĂ« API nĂ« njĂ« degĂ« tjetĂ«r tĂ« GTK.
Ndër përmirësimet më të dukshme në GTK 4.16:
- ĂshtĂ« shtuar konfigurimi gtk-font-rendering, duke ofruar mundĂ«si fleksibile dhe tĂ« nivelit tĂ« lartĂ« pĂ«r menaxhimin e renditjes sĂ« shkrimeve. PĂ«r tĂ« pĂ«rdorur cilĂ«simet e nivelit tĂ« ulĂ«t tĂ« shkrimeve, duhet tĂ« vendosni parametrin gtk-font-rendering nĂ« vlerĂ«n 'manual'.
- Në bibliotekën GSK (GTK Scene Kit), e cila ofron mundësi për renditjen e skenave grafike përmes OpenGL dhe Vulkan, nga default për renditjen në ambientet bazuar në protokollin Wayland përdoret motor renditje 'vulkan', i cili përdor drejtpërdrejt API-në grafike Vulkan. Në raste të tjera, vazhdon të përdoret motor renditje 'ngl', që ofron një zbatim OpenGL, duke punuar mbi API-në Vulkan. Për të ndryshuar motorin, mund të përdorni variablen e mjedisit 'GSK_RENDERER'. Duke qenë se motorët 'vulkan' dhe 'ngl' ndërveprojnë ndryshe me drejtuesit grafikë, për përdorim të qëndrueshëm me ta, rekomandohet përdorimi i lëshimit më të fundit të Mesa 24.2.
- Ndër përmirësimet e tjera në bibliotekën GSK:
- ĂshtĂ« realizuar teknika e optimizimit 'occlusion culling', duke pĂ«rjashtuar renditjen e objekteve tĂ« fshehura pas objekteve tĂ« tjera opake ose qĂ« ndodhen jashtĂ« fushĂ«s sĂ« shikimit.
- Në procesin e kompozitimit është marrë parasysh informacioni mbi hapësirën e ngjyrave.
- ĂshtĂ« pĂ«rmirĂ«suar ruajtja e gjeometrive dhe teksturave.
- ĂshtĂ« realizuar mbĂ«shtetje pĂ«r vendosjen me pllaka (tiling) tĂ« teksturave tĂ« mĂ«dha pĂ«r tĂ« krijuar njĂ« sipĂ«rfaqe pa ndarje duke ripĂ«rsĂ«ritur teksturat.
- ĂshtĂ« pĂ«rmirĂ«suar renditja e hijeve.
- ĂshtĂ« shtuar mundĂ«sia pĂ«r tĂ« pĂ«rfshirĂ« mjete tĂ« ndihmĂ«s pĂ«r pĂ«rpunimin e teksturave tĂ« transformuara, pĂ«r shembull, pĂ«r tĂ« shfaqur pĂ«rmbajtjen e kthyer nĂ« ekran.
- ĂshtĂ« pĂ«rmirĂ«suar pĂ«rdorimi i mekanizmave tĂ« ndihmĂ«s nĂ« sistemet me menaxher kompozitues kwin.
- ĂshtĂ« shtuar njĂ« opsion diagnostikimi 'GDK_DEBUG=linear' pĂ«r tĂ« aktivizuar modin e kompozitimit linear. ĂshtĂ« pĂ«rmirĂ«suar regjistrimi kur pĂ«rdoren opsionet 'GDK_DEBUG=offload' dhe 'GSK_DEBUG=renderer'.
- NĂ« punĂ«n nĂ« ambientet bazuara nĂ« protokollin Wayland dhe menaxherin kompozitues kwin, Ă«shtĂ« realizuar mundĂ«sia pĂ«r pĂ«rdorimin e zgjerimit tĂ« protokollit (color-management) pĂ«r menaxhimin e ngjyrĂ«s. NĂ« shfaqjen e dialogĂ«ve tĂ« ngjitur Ă«shtĂ« pĂ«rdorur zgjerimi Wayland xdg-dialog. NĂ« kompozitim Ă«shtĂ« angazhuar versioni e gjashtĂ« i objektit wl_compositor. ĂshtĂ« lejuar pĂ«rdorimi i dmabuf nĂ« procesin e ndihmĂ«s pĂ«r pĂ«rpunimin e teksturave pĂ«r OpenGL.
- Përmirësime në bibliotekën GDK, e cila ofron një shtresë midis GTK dhe sistemit grafik:
- JanĂ« zgjeruar ndjeshĂ«m mundĂ«sitĂ« pĂ«r punimin me hapĂ«sirat e ngjyrave. ĂshtĂ« siguruar mbĂ«shtetje pĂ«r hapĂ«sira ngjyrash srgb, srgb-linear, rec2100-pq dhe rec2100-linear, dhe Ă«shtĂ« pĂ«rgatitur pĂ«r tĂ« realizuar mbĂ«shtetje pĂ«r hapĂ«sira ngjyrash pĂ«r HDR. ĂshtĂ« propozuar objekti GdkColorState, qĂ« ofron informacion mbi interpretimin e ngjyrave, i cili mund tĂ« pĂ«rdoret pĂ«r tĂ« konvertuar njĂ« hapĂ«sirĂ« ngjyrash nĂ« njĂ« tjetĂ«r. PĂ«r tĂ« krijuar objekte me informacion pĂ«r hapĂ«sirat ngjyrash Ă«shtĂ« shtuar objekti Gdk.CicpParams. NĂ« objektin GdkTexture, si dhe nĂ« objektet pĂ«r krijimin, ngarkimin dhe konvertimin e teksturave Ă«shtĂ« shtuar mundĂ«sia e pĂ«rdorimit tĂ« hapĂ«sirave ngjyrash.
- ĂshtĂ« realizuar njĂ« API i ri pĂ«r tĂ« punuar me kursorin, i bazuar nĂ« thirrjet e callback.
- ĂshtĂ« realizuar mundĂ«sia pĂ«r tĂ« kryer operacione MIP-teksturimi (MipMap, krijimi i versioneve tĂ« reduktuara tĂ« teksturave, qĂ« pĂ«rdoren kur objekti largohĂ«t nga kamera) me forcat e CPU.
- Për konvertimin e ngjyrave dhe MIP-teksturimin është përdorur një rezervuar i proceseve (thread pool).
- ĂshtĂ« shtuar mbĂ«shtetje pĂ«r variablen e mjedisit XDG_ACTIVATION_TOKEN me njĂ« token aktivizimi pĂ«r protokollin xdg-activation-v1, me tĂ« cilin njĂ« aplikacion mund tĂ« kalojĂ« fokusin te njĂ« tjetĂ«r.
- ĂshtĂ« shtuar klasa GdkMemoryTextureBuilder, duke lejuar krijimin e objekteve me tekstura (GdkTexture) nga tĂ« dhĂ«nat e ruajtura nĂ« memorinĂ« operative.
- JanĂ« zgjeruar mundĂ«sitĂ« pĂ«r krijimin e temave tĂ« dizajnuara me CSS. ĂshtĂ« shtuar mbĂ«shtetje pĂ«r variablat dhe pronat e personalizuara. JanĂ« realizuar funksione CSS color(), oklab(), color-mix(), si dhe funksione matematikore. ĂshtĂ« siguruar mundĂ«sia pĂ«r tĂ« pĂ«rdorur pĂ«rcaktimin e ngjyrave nĂ« mĂ«nyrĂ« relative (ndryshimi i ngjyrave absolute pĂ«rmes funksioneve), po ashtu edhe pĂ«rcaktimi i nivelit tĂ« transparencĂ«s nĂ« pĂ«rqindje. GjatĂ« punĂ«s me ngjyrat, kufijtĂ«, hije dhe tekstin Ă«shtĂ« marrĂ« parasysh informacioni mbi hapĂ«sirat e ngjyrave.
- NĂ« utilitarin rendernode-tool janĂ« shtuar komandat "extract" pĂ«r ngarkimin e tĂ« dhĂ«nave pĂ«rmes URL-sĂ« dhe "image" pĂ«r manipulimin e teksturave. ĂshtĂ« realizuar mundĂ«sia e gjenerimit tĂ« skedarĂ«ve nĂ« formatin PDF.
- NĂ« ndĂ«rfaqen gtk4-node-editor Ă«shtĂ« shtuar operacioni âPaste as nodeâ.
- Në widget-in e zgjedhjes së skedarëve GtkFileChooserWidget është shtuar mbështetje për kombinimin Ctrl-Shift-N për krijimin e katalogëve.
- Në widget-in e krijimit të dritareve të daljes GtkPopover është përmirësuar trajtimi i ndryshimit të madhësisë dhe pozicionit.
- Në widget-in GtkGraphicsOffload, i cili përdoret për dërgimin e drejtpërdrejtë të përmbajtjes, si video, përmes menaxherit të kompozitit duke anashkaluar render-in GSK, është shtuar pronësia "black-background" për output-in e sfondit të zi.

- NĂ« widget-in GtkGLArea, i cili Ă«shtĂ« i destinuar pĂ«r output-in duke pĂ«rdorur OpenGL, Ă«shtĂ« shtuar mundĂ«sia e formimit tĂ« teksturave nĂ« dmabuf, e cila mundĂ«son pĂ«rdorimin e widget-it GtkGraphicsOffload pĂ«r output tĂ« drejtpĂ«rdrejtĂ« pĂ«rmes kompotes. server. ĂshtĂ« rritur efikasiteti i ndĂ«rveprimit me kompĐŸĐ·ĐžŃin. serverin.

- Në widget-in GtkTextView është shtuar mbështetje për output-in e tekstit me hije dhe është realizuar mundësia e përdorimit të njoftimeve GtkTextBufferCommitNotify.
- Në widget-in GtkCheckButton është shtuar mbështetje për përcaktimin grupor të stilit të butonave.
- JanĂ« zgjeruar mundĂ«sitĂ« e debug-ut. NĂ« ndĂ«rfaqen e inspektimit Ă«shtĂ« shtuar informacion mbi hapĂ«sirat e ngjyrave, si dhe tĂ« dhĂ«nat mbi rezolutĂ«n e monitorit. Variabla e mjedisit GDK_DEBUG Ă«shtĂ« ndarĂ« nĂ« GDK_DEBUG dhe GDK_DISABLE. JanĂ« shtuar modulet GDK_DISABLE=color-mgmt dhe GDK_DISABLE=offload. ĂshtĂ« shtuar modulet GTK_DEBUG=css pĂ«r output-in e paralajmĂ«rimeve gjatĂ« pĂ«rdorimit tĂ« karakteristikave CSS tĂ« vjetra. JanĂ« shtuar kombinime tĂ« çelĂ«save Super-r pĂ«r regjistrimin e logut tĂ« ngjarjeve dhe Super-c pĂ«r krijimin e njĂ« screenshot-i.
- JanĂ« rritur kĂ«rkesat pĂ«r varĂ«sitĂ« dhe ambientin e ndĂ«rtimit. Tani pĂ«r ndĂ«rtimin kĂ«rkohet njĂ« kompjuter me mbĂ«shtetje pĂ«r C11 dhe tĂ« paktĂ«n versionin 1.24 tĂ« gstreamer, 1.52 tĂ« pango dhe 1.18 tĂ« cairo. ĂshtĂ« pezulluar mbĂ«shtetje pĂ«r modalitetet e vjetra tĂ« ndĂ«rtimit gtk_doc (duhet tĂ« pĂ«rdoret dokumentacioni), update_screenshots (-> screenshots), demo-profile (-> profile) dhe demos (-> build-demos).
- Për macOS 10.15+ është realizuar ndërfaqja për përcaktimin e ngjyrave të pikselëve në ekran (color picker).
- Për Windows është aktivizuar moda e renditjes inkrementale duke përdorur API WGL.
Burimi: opennet.ru


