GTK 3.96, GTK 4:n kokeellinen julkaisu, julkaistu

10 kuukauden kuluttua menneestä testijulkaisu esitetty GTK 3.96, uusi kokeellinen julkaisu tulevasta GTK 4:n vakaasta julkaisusta. GTK 4 -haaraa kehitetään osana uutta kehitysprosessia, joka yrittää tarjota sovelluskehittäjille vakaan ja tuetun API:n useiden vuosien ajan, jota voidaan käyttää ilman pelkoa siitä, että hakemus on kirjoitettava uudelleen kuuden kuukauden välein, koska API muuttuu seuraavassa GTK-haarassa. Kunnes GTK 4 on täysin vakiintunut, on suositeltavaa, että käyttäjille tarjottavia sovelluksia jatketaan haaran avulla GTK 3.24.

Pääasiallinen muutokset GTK 3.96:ssa:

  • API:ssa GSK (GTK Scene Kit), joka tarjoaa graafisten kohtausten renderöinnin OpenGL:n ja Vulkanin kautta, on tehty töitä virheiden parissa, jotka on tullut helpommin havaittavissa uuden virheenkorjaustyökalun gtk4-node-editorin ansiosta, jonka avulla voit ladata ja näyttää renderöintisolmu sarjoitetussa muodossa (voidaan tallentaa tarkastustilassa GTK-tarkastaja), ja myös vertailla renderöintituloksia käytettäessä eri taustaohjelmia;

    GTK 3.96, GTK 4:n kokeellinen julkaisu, julkaistu

  • 3D-muunnosominaisuudet on saatettu tasolle, jonka avulla voit luoda animaatiotehosteita, kuten pyörivän kuution;

    GTK 3.96, GTK 4:n kokeellinen julkaisu, julkaistu

  • täysin kirjoitettu uudelleen Broadway GDK -taustaohjelma, joka on suunniteltu näyttämään GTK-kirjaston tulosteet verkkoselainikkunassa. Vanha Broadway-toteutus ei sopinut GTK 4:ssä ehdotettuihin renderöintimenetelmiin (puskuriin tuottamisen sijaan se käyttää nyt renderöintisolmuihin perustuvaa mallia, jossa tuotos muodostetaan korkean tason operaatioiden puun muodossa, GPU käsittelee tehokkaasti OpenGL:n ja Vulkanin avulla).
    Uusi Broadway-vaihtoehto muuntaa renderöintisolmut DOM-solmuiksi CSS-tyyleillä käyttöliittymän renderöimiseksi selaimessa. Jokainen uusi näytön tila käsitellään DOM-puun muutoksena edelliseen tilaan verrattuna, mikä pienentää etäasiakkaalle lähetettävien tietojen kokoa. 3D-muunnokset ja graafiset tehosteet toteutetaan CSS-muunnosominaisuuden kautta;

  • GDK jatkaa Wayland-protokollaa ajatellen suunniteltujen sovellusliittymien käyttöönottoa ja X11-pohjaisten API:iden puhdistamista tai niiden siirtämistä erilliseen X11-taustajärjestelmään. Lapsipintojen ja globaalien koordinaattien käytöstä luopuminen on edistynyt. GDK_SURFACE_SUBSURFACE:n tuki on poistettu GDK:sta.
  • Vedä ja pudota -toimintojen suorittamiseen liittyvän koodin uudelleenmuodostusta jatkettiin, mukaan lukien ehdotetut erilliset GdkDrag- ja GdkDrop-objektit;
  • Tapahtumien käsittelyä on yksinkertaistettu ja sitä käytetään nyt vain syöttöön. Loput tapahtumat korvataan erillisillä signaaleilla, esimerkiksi lähtötapahtumien sijasta ehdotetaan signaalia "GdkSurface::render", konfigurointitapahtumien sijaan - "GdkSurface::size-changed", kartoitustapahtumien sijaan - "GdkSurface: :mapped", eikä gdk_event_handler_set() - "GdkSurface::event";
  • Waylandin GDK-taustajärjestelmä on lisännyt tuen portaaliliittymälle GtkSettings-asetusten käyttämiseen. Syöttömenetelmien käyttöä varten on ehdotettu tukea tekstinsyöttö-epävakaille-v3-protokollalaajennukselle.
  • Widgettien kehittämiseen otetaan käyttöön uusi GtkLayoutManager-objekti, jossa on toteutettu järjestelmä elementtien asettelun ohjaamiseksi näkyvän alueen asettelun mukaan. GtkLayoutManager korvaa aliominaisuudet GTK-säiliöissä, kuten GtkBox ja GtkGrid. Useita valmiita asettelunhallintaohjelmia ehdotetaan: GtkBinLayout yksinkertaisille säilöille, joissa on yksi alielementti, GtkBoxLayout lineaarisesti kohdistetuille alielementeille, GtkGridLayout alielementtien tasaamiseen ruudukkoon, GtkFixedLayout alielementtien mielivaltaiseen sijoittamiseen, GtkCustomLayout kokoon perustuva perinteisten elementtien kääntämiseen_locate Käsittelijät;
  • GtkAssistant-, GtkStack- ja GtkNotebook-widgeteihin on lisätty julkisesti saatavilla olevia objekteja alielementtien sivun näyttämistä varten, joihin näiden widgetien ulkoasuun liittyvät aliominaisuudet siirretään. Koska kaikki olemassa olevat aliominaisuudet on muunnettu tavallisiksi ominaisuuksiksi, asetteluominaisuuksiksi tai siirretty sivuobjekteihin, tuki aliominaisuuksille on poistettu kokonaan GtkContainerista.
  • GtkEntryn ydintoiminto on siirretty uuteen GtkText-widgetiin, joka sisältää myös parannetun GtkEditable-muokkausliittymän. Kaikki olemassa olevat tiedonsyötön alaluokat on muutettu GtkEditable-toteutuksiksi uuteen GtkText-widgetiin;
  • Lisätty uusi GtkPasswordEntry-widget salasanansyöttölomakkeille;
  • GtkWidgets on lisännyt mahdollisuuden muuntaa alielementtejä käyttämällä CSS:n kautta määritettyjä lineaarisia muunnosmenetelmiä tai GskTransformin argumenttia gtk_widget_allocate. Määritetty ominaisuus on jo käytössä GtkFixed-widgetissä;
  • Uusia luettelosukupolven malleja on lisätty: GtkMapListModel, GtkSliceListModel, GtkSortListModel, GtkSelectionModel ja GtkSingleSelection. Tulevaisuudessa aiomme lisätä luettelomallien tuen GtkListView:hen;
  • GtkBuilder on lisännyt mahdollisuuden asettaa objektin ominaisuuksia paikallisesti (inline) sen sijaan, että käyttäisi linkkejä tunnisteen mukaan;
  • Lisätty komento gtk4-builder-työkaluun käyttöliittymätiedostojen muuntamiseksi GTK 3:sta GTK 4:ksi;
  • Avainteemojen, taulukkovalikkojen ja yhdistelmäruutujen tuki on lopetettu. GtkInvisible-widget on poistettu.

    Lähde: opennet.ru

Lisää kommentti