GTK 3.99.0 väljaanne tähistab funktsionaalsuse valmidust, mis on planeeritud GTK 4 jaoks

Avaldatud lõplik katseversioon raamistikust GTK 3.99.0, kus on ellu viidud kõik võimalused, mis on planeeritud GTK 4 jaoks. GTK 4 haru areneb uut tüüpi arendamisprotsessis, mis püüab pakkuda rakenduste arendajatele stabiilset ja aastate jooksul toetatud API-d, mida saab kasutada ilma hirmuta, et iga kuue kuu järel tuleb rakendusi API muutuste tõttu ümber teha uue GTK haru tõttu. GTK 4 väljalaskmine on kavandatud käesoleva aasta lõpuks.

Kõige olulisemad muudatused ja GTK 4 võib välja tuua:

  • Piirangute põhine elementide paigutusmeetod (constraint layout), kus tütarelementide asukoht ja suurus määratakse vastavalt kaugusele piiridest ja teiste elementide suurusele.
  • Vulkanil põhinev joonistusmoodul, kus on rakendatud shaderid paljude ressursside nõudvate CSS-elementide jaoks, mis on kasutusel GTK vidinates.
  • Integreerimine GSK (GTK Scene Kit) koos graafiliste stseenide joonistamise võimalustega OpenGL-i ja Vulkaniga.
  • Joonistamise korraldamine on läbi vaadatud — senise pufferi asemel on nüüd rakendatud joonistusnõlva (render nodes) mudel, kus väljund koostatakse kõrgetasemelistest operatsioonidest, mida GPU töötleb efektiivselt OpenGL-i ja Vulkaniga.
  • Tööriistad sisendi fookuse paindlikuks käsitlemiseks.
  • Uuendatud sündmuste edastamise mudel, mis võimaldab käituda ilma subwindow'ita sisendi sündmuste suunamisel. Uue mudeli rakendamise vajadus tuleneb animatsiooni efektide aktiivsemast kasutamisest, mille joonistamine peab toimuma ilma nähtavate elementide paigutuse muutmiseta ja seega ilma subwindow'ita.
  • GDK API on ümber töötatud, võttes arvesse Waylandi protokolli ja sellega seotud kontseptsioone. X11 ja Waylandi seotud funktsioonid on viidud eraldi taustaprogrammidesse.
  • API-l on toimunud mahukas puhastus, sealhulgas klasse GtkMenu, GtkMenuBar ja GtkToolbar on eemaldatud, nende asemele on pakutud GMenu ja variandid, mis põhinevad hüpikmenudel (popover).
  • GtkTextView's ja teistes sisendi vidinates on integreeritud muudatuste tagasivõtmise (undo) virna.
  • Uus klass GtkNative on lisatud vidinatele, millel on oma kuva ja mis suudavad töötada eraldi esimesel tasandil, ilma vanemvidinate sidumiseta.
  • Lisatud uued vidinad, sealhulgas GtkPicture, GtkText, GtkPasswordEntry, GtkListView, GtkGridView, GtkColumnView ja emoji kuvamiseks mõeldud vidin.
  • Vidinate arendamiseks on esitatud uus objekt GtkLayoutManager, mis rakendab elementide paigutuse juhtimise süsteemi sõltuvalt nähtava ala suurusest. GtkLayoutManager asendab GTK konteinerite nagu GtkBox ja GtkGrid lapse omadusi.
  • Sündmuste töötlemine on lihtsustatud, nüüd kasutatakse neid ainult sisendi jaoks. Ülejäänud sündmused on asendatud eraldi signaalidega, näiteks väljundisündmuste asemel pakutakse signaali „GdkSurface::render”, seadistussündmuste asemel – „GdkSurface::size-changed”.
  • Lisatud uus abstraktsioonikiht GdkPaintable, mis esindab objekte, mida saab joonistada igas kohas ja igas suuruses, ilma et oleks vaja sorteerida paigutuse kihte.
  • Broadway taustarakendus on ümber kirjutatud, võimaldades GTK raamatukogu väljundi joonistamist veebilehitsejas.
  • Drag-and-Drop operatsioonidega seotud API on ümber töötatud, sealhulgas on pakutud eraldi objekte GdkDrag ja GdkDrop.

Parandused võrreldes eelmise testversiooniga:

  • Vanem Acessibility API rakendus on eemaldatud, selle asemel on pakutud uus variant, mis põhineb ARIA ja GtkAccessible vidin.
  • Toetatud on redigeeritavad sildid (GtkEditableLabel).
  • Uued loetelu mudelid on pakutud järjehoidjate (GtkBookmarkList), stringide (GtkStringList) ja valikuplokkide (GtkBitset) kuvamiseks.
  • GtkTreeView vidinas on rakendatud rakkude redigeerimise võimalus.
  • GtkGridView ja GtkListView rakendamisel on parandatud kerimist, lisatud automaatkerimise ja automaatse avamise tugi.
  • GtkWidgetis on erinevate tegevuste töötlemine oluliselt kiirem.
  • GtkFilterListModel ja GtkSortListModelis on lisatud inkrementaalse kerimise ja filtreerimise tugi.
  • Inspektoris on lisatud loetelu mudelite inspektsiooni tugi ja võimalus otse objektide vahel navigeerida.
  • GDK-s on tagatud kerimiste ajaloo salvestamine, GdkDevice API on puhastatud, seadmestikku ei jagata enam master- ja slave-kategooriatesse.
  • Lisatud uus GDK taustarakendus macOS jaoks.
  • Windowsile on pakutud uus GDK-joonistus taustarakendus, mis põhineb , OpenGL ES-i kutsete edastamiseks OpenGL-i, Direct3D 9/11, Desktop GL-i ja Vulkan'i kaudu., kihil OpenGL ES kutsungite üleminekute OpenGL, Direct3D 9/11, Desktop GL ja Vulkanile.

Allikas: opennet.ru

Osta usaldusväärne veebimajutus DDoS-kaitsega veebisaitidele, VPS VDS serverid 🔥 Osta usaldusväärne veebimajutus DDoS-kaitsega veebisaitidele, VPS VDS serverid - ProHoster