GTK 3.99.0 väljalaskmine tähistas GTK 4 jaoks kavandatud funktsionaalsuse valmimist

avaldatud raamistiku viimane eksperimentaalne väljalase GTK 3.99.0, mis rakendab kõiki GTK 4 jaoks kavandatud funktsioone. GTK 4 haru arendatakse osana uuest arendusprotsessist, mis püüab pakkuda rakenduste arendajatele mitmeks aastaks stabiilset ja toetatud API-d, mida saab kasutada, kartmata kirjutage rakendusi ümber iga kuue kuu tagant, kuna API muudatused järgmises GTK harus. GTK 4 on kavas välja anda enne aasta lõppu.

Kõigest märkimisväärne muudatusi в GTK 4 võite märkida:

  • Meetod elementide paigutamiseks piirangute alusel (piirangute paigutus), milles alamelementide asukoht ja suurus määratakse äärte kauguse ja muude elementide suuruse alusel.
  • Vulkani graafika API-l põhinev renderdaja, mis rakendab varjutajaid paljudele GTK vidinates kasutatavatele ressursimahukatele CSS-elementidele.
  • Integratsioon GSK (GTK Scene Kit) koos võimalusega renderdada graafilisi stseene OpenGL-i ja Vulkani kaudu.
  • Renderdamise korraldust on muudetud - puhvrisse väljundi asemel kasutatakse nüüd renderdussõlmedel põhinevat mudelit, milles väljund on paigutatud kõrgetasemeliste toimingute puu kujul, mida GPU töötleb tõhusalt OpenGL-i abil ja Vulkan.
  • Tähendab sisendfookuse muutuste paindlikuks käsitlemiseks.
  • Moderniseeritud sündmuste edastamise mudel, mis välistab sisendsündmuste marsruutimisel alamakende vajaduse. Uue mudeli juurutamise vajadus on seotud animatsiooniefektide aktiivsema kasutamisega, mille renderdamine peaks toimuma ilma nähtavate elementide paigutust muutmata ja vastavalt ilma alamaknata.
  • GDK API on ümber kujundatud, pidades silmas Waylandi protokolli ja sellega seotud kontseptsioone. X11 ja Waylandi põhised funktsioonid on üle viidud eraldi taustaprogrammid.
  • API-s on tehtud suurpuhastus, sealhulgas klasside GtkMenu, GtkMenuBar ja GtkToolbar eemaldamine GMenu ja hüpikmenüüdel põhinevate valikute kasuks.
  • GtkTextView ja teistel sisendvidinatel on sisseehitatud tagasivõtmispinn.
  • Lisatud on uus klass GtkNative vidinatele, millel on oma kuvapind ja mis võivad esimesel tasemel töötada eraldi, ilma et need oleksid seotud vanemate vidinatega.
  • Lisatud on uusi vidinaid, sealhulgas GtkPicture, GtkText, GtkPasswordEntry, GtkListView, GtkGridView, GtkColumnView ja emotikonide kuva vidin.
  • Vidinate arendamiseks võetakse kasutusele uus GtkLayoutManager objekt koos nähtava ala suurusest sõltuva elementide paigutuse juhtimise süsteemi juurutamisega. GtkLayoutManager asendab alamomadused GTK konteinerites, nagu GtkBox ja GtkGrid.
  • Sündmuste käsitlemine on lihtsustatud ja seda kasutatakse nüüd ainult sisendiks. Ülejäänud sündmused asendatakse eraldi signaalidega, näiteks väljundsündmuste asemel pakutakse signaali “GdkSurface::render” ja konfiguratsioonisündmuste asemel “GdkSurface::size-changed”.
  • Lisati uus abstraktsioonikiht GdkPaintable, mis esindab objekte, mida saab joonistada ükskõik millises suuruses, ilma et oleks vaja paigutuskihte sorteerida.
  • Broadway taustaprogramm on ümber kirjutatud, et võimaldada GTK teegi väljundit renderdada veebibrauseri aknas.
  • Drag-and-drop-toimingutega seotud API on ümber kujundatud, sealhulgas kavandatud eraldi GdkDrag ja GdkDrop objektid.

Täiustused võrreldes eelmise testväljaandega:

  • Puuetega inimestele mõeldud juurdepääsetavuse API vana juurutamine on eemaldatud, asendatud uue versiooniga, mis põhineb spetsifikatsioonil ARIA ja GtkAccessible vidin.
  • Lisatud on muudetavate siltide tugi (GtkEditableLabel).
  • Järjehoidjate (GtkBookmarkList), stringide (GtkStringList) ja valikuplokkide (GtkBitset) kuvamiseks on välja pakutud uued loendimudelid.
  • GtkTreeView vidinal on võimalus lahtreid redigeerida.
  • GtkGridView ja GtkListView puhul on kerimise rakendamist täiustatud, lisatud on automaatse kerimise ja automaatse laiendamise tugi.
  • GtkWidget kiirendab oluliselt erinevate toimingute töötlemist.
  • GtkFilterListModelile ja GtkSortListModelile on lisatud järkjärgulise kerimise ja filtreerimise tugi.
  • Inspector on lisanud loendimudelite kontrollimise toe ja võimaluse otse objektide vahel navigeerida.
  • GDK-s on kerimise ajalugu salvestatud, GdkDevice API on puhastatud ning seadmete eraldamine ülem- ja alamseadmeteks on peatatud.
  • MacOS-i jaoks on lisatud uus GDK taustaprogramm.
  • Uus GDK renderdamise taustaprogramm, mis põhineb NURK, vahekihid OpenGL ES-i kõnede tõlkimiseks OpenGL-i, Direct3D 9/11, Desktop GL-i ja Vulkani.

Allikas: opennet.ru

Lisa kommentaar