GTK 3.99.0:n julkaisu merkitsi GTK 4:lle suunniteltujen toimintojen valmistumista

julkaistu kehyksen viimeinen kokeellinen julkaisu GTK 3.99.0, joka toteuttaa kaikki GTK 4:lle suunnitellut ominaisuudet. GTK 4 -haaraa kehitetään osana uutta kehitysprosessia, joka pyrkii tarjoamaan sovelluskehittäjille vakaan ja tuetun API:n useiden vuosien ajan, jota voidaan käyttää ilman pelkoa joutumisesta kirjoita sovellukset uudelleen kuuden kuukauden välein, koska API-muutoksia varten seuraavassa GTK-haarassa. GTK 4 on tarkoitus julkaista ennen vuoden loppua.

Useimmista merkittävä muutoksia в GTK 4 voit huomata:

  • Menetelmä elementtien asettelemiseksi rajoitusten perusteella (rajoitusasettelu), jossa alielementtien sijainti ja koko määritetään etäisyyden reunoihin ja muiden elementtien koon perusteella.
  • Vulkan-grafiikkasovellusliittymään perustuva renderöija, joka toteuttaa varjostimet monille GTK-widgeteissä käytetyille resurssiintensiivisille CSS-elementeille.
  • integraatio GSK (GTK Scene Kit), joka pystyy renderöimään graafisia kohtauksia OpenGL:n ja Vulkanin kautta.
  • Renderöinnin organisaatiota on uudistettu - puskuriin tulostuksen sijaan käytetään nyt renderöintisolmuihin perustuvaa mallia, jossa lähtö on järjestetty korkean tason operaatioiden puun muotoon, jonka GPU käsittelee tehokkaasti OpenGL:n avulla. ja Vulkan.
  • Varat syötteen kohdistuksen muutosten joustavaan käsittelyyn.
  • Modernisoitu tapahtumatoimitusmalli, joka eliminoi aliikkunoiden tarpeen syöttötapahtumia reititettäessä. Tarve ottaa käyttöön uusi malli liittyy animaatiotehosteiden aktiivisempaan käyttöön, jonka renderöinti tulisi tehdä muuttamatta näkyvien elementtien asettelua ja vastaavasti ilman aliikkunaa.
  • GDK API on suunniteltu uudelleen ottaen huomioon Wayland-protokollan ja siihen liittyvät konseptit. X11- ja Wayland-pohjaiset ominaisuudet on siirretty erilliset taustaohjelmat.
  • Sovellusliittymän suuri puhdistus on tehty, mukaan lukien GtkMenu-, GtkMenuBar- ja GtkToolbar-luokat poistettiin GMenun ja ponnahdusvalikoihin perustuvien vaihtoehtojen hyväksi.
  • GtkTextView ja muissa syöttöwidgeteissä on sisäänrakennettu kumoamispino.
  • Lisätty uusi GtkNative-luokka widgeteille, joilla on oma näyttöpinta ja jotka voivat toimia erikseen ensimmäisellä tasolla ilman, että ne on sidottu yläwidgeteihin.
  • Uusia widgetejä on lisätty, mukaan lukien GtkPicture, GtkText, GtkPasswordEntry, GtkListView, GtkGridView, GtkColumnView ja Emoji-näyttöwidget.
  • Widgettien kehittämiseen otetaan käyttöön uusi GtkLayoutManager-objekti, jossa on toteutettu järjestelmä elementtien asettelun ohjaamiseksi näkyvän alueen koosta riippuen. GtkLayoutManager korvaa aliominaisuudet GTK-säiliöissä, kuten GtkBox ja GtkGrid.
  • Tapahtumien käsittelyä on yksinkertaistettu ja sitä käytetään nyt vain syöttöön. Loput tapahtumat korvataan erillisillä signaaleilla, esimerkiksi lähtötapahtumien sijaan ehdotetaan signaalia "GdkSurface::render" ja konfigurointitapahtumien sijasta tarjotaan "GdkSurface::size-changed".
  • Lisätty uusi abstraktiokerros GdkPaintable, joka edustaa objekteja, jotka voidaan piirtää minne tahansa ja missä tahansa koossa ilman, että asettelutasoja tarvitsee lajitella.
  • Broadwayn taustaohjelma on kirjoitettu uudelleen, jotta GTK-kirjaston tulosteet voidaan renderoida verkkoselainikkunassa.
  • Vedä ja pudota -toimintojen suorittamiseen liittyvä API on suunniteltu uudelleen, mukaan lukien ehdotetut erilliset GdkDrag- ja GdkDrop-objektit.

Parannuksia edelliseen testijulkaisuun verrattuna:

  • Esteettömyyssovellusliittymän vanha toteutus vammaisille on poistettu, ja se on korvattu uudella spesifikaatioiden perusteella ARIA ja GtkAccessible-widget.
  • Lisätty tuki muokattaville tarroille (GtkEditableLabel).
  • Uusia luettelomalleja on ehdotettu kirjanmerkkien (GtkBookmarkList), merkkijonojen (GtkStringList) ja valintalohkojen (GtkBitset) näyttämiseen.
  • GtkTreeView-widgetillä on mahdollisuus muokata soluja.
  • Vierityksen toteutusta on parannettu GtkGridView- ja GtkListView-ohjelmissa, lisätty automaattisen vierityksen ja automaattisen laajennuksen tuki.
  • GtkWidget nopeuttaa merkittävästi eri toimien käsittelyä.
  • Lisätty tuki asteittaiselle vieritykselle ja suodatukselle GtkFilterListModeliin ja GtkSortListModeliin.
  • Inspector on lisännyt tuen luettelomallien tarkastamiseen ja mahdollisuuden navigoida suoraan objektien välillä.
  • GDK:ssa vierityshistoria on tallennettu, GdkDevice API on puhdistettu ja laitteiden erottaminen isäntä- ja orjalaitteiksi on lopetettu.
  • Lisätty uusi GDK-taustaosa macOS:lle.
  • Uusi GDK-renderöintitausta, joka perustuu ANGLE, välikerrokset kääntää OpenGL ES -kutsut OpenGL:ksi, Direct3D 9/11:ksi, Desktop GL:ksi ja Vulkaniksi.

Lähde: opennet.ru

Lisää kommentti