ProHoster > Blogi > netin uutisia > GTK 3.99.0:n julkaisu merkitsi GTK 4:lle suunniteltujen toimintojen valmistumista
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.
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.
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.
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.