GTK 3.96, GTK 4 eksperimentaalne väljalase, avaldatud

10 kuud pärast minevikust testväljaanne esitatakse GTK 3.96, GTK 4 tulevase stabiilse väljalaske uus eksperimentaalne väljalase. GTK 4 haru arendatakse osana uuest arendusprotsessist, mis püüab pakkuda rakenduste arendajatele mitmeks aastaks stabiilset ja toetatud API-d, mida saab ilma hirmuta kasutada. rakendusliidese muutmise tõttu järgmises GTK filiaalis iga kuue kuu tagant. Kuni GTK 4 on täielikult stabiliseerunud, on soovitatav kasutajatele pakutavate rakenduste ehitamist jätkata haru abil GTK 3.24.

Kõik muutused GTK 3.96-s:

  • API-s GSK (GTK Scene Kit), mis pakub graafiliste stseenide renderdamist OpenGL-i ja Vulkani kaudu, on tehtud tööd vigade kallal, mida on tänu uuele silumistööriistale gtk4-node-editor, mis võimaldab laadida ja kuvada renderdussõlm serialiseeritud vormingus (saab salvestada kontrollirežiimis GTK inspektor) ja võrrelda renderdamistulemusi erinevate taustaprogrammide kasutamisel;

    GTK 3.96, GTK 4 eksperimentaalne väljalase, avaldatud

  • 3D-teisendusvõimalused on viidud tasemele, mis võimaldab luua animatsiooniefekte, nagu näiteks pöörlev kuubik;

    GTK 3.96, GTK 4 eksperimentaalne väljalase, avaldatud

  • Täiesti ümber kirjutatud Broadway GDK taustaprogramm, mis on loodud GTK teegi väljundi renderdamiseks veebibrauseri aknas. Vana Broadway teostus ei sobinud GTK 4-s pakutud renderdusmeetoditega (puhvri väljundi asemel kasutab see nüüd renderdussõlmedel põhinevat mudelit, kus väljund koosneb kõrgetasemeliste operatsioonide puust, GPU töötleb tõhusalt OpenGL-i ja Vulkani abil).
    Uus Broadway suvand teisendab renderdussõlmed CSS-stiilidega DOM-sõlmedeks, et renderdada liides brauseris. Iga uut ekraani olekut töödeldakse DOM-puu muutusena võrreldes eelmise olekuga, mis vähendab kaugkliendile edastatavate andmete suurust. 3D-teisendusi ja graafilisi efekte rakendatakse CSS-i teisendusomaduse kaudu;

  • GDK jätkab Waylandi protokolli silmas pidades loodud API-de juurutamist ja X11-põhiste API-de puhastamist või nende teisaldamist eraldi X11 taustaprogrammi. Lapsepindade ja globaalsete koordinaatide kasutamisest loobumise töös on tehtud edusamme. GDK_SURFACE_SUBSURFACE tugi on GDK-st eemaldatud;
  • Jätkus Drag-and-Drop-toimingutega seotud koodi ümbertöötamine, sealhulgas pakutud eraldi GdkDrag ja GdkDrop objektid;
  • 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 välja signaal “GdkSurface::render”, konfiguratsioonisündmuste asemel – “GdkSurface::size-changed”, kaardistamissündmuste asemel – “GdkSurface: :mapped”, gdk_event_handler_set() asemel - "GdkSurface::event";
  • Waylandi GDK taustaprogramm on lisanud toe portaaliliidesele GtkSettingsi sätetele juurdepääsuks. Sisestusmeetoditega töötamiseks on pakutud välja tekst-input-unstable-v3 protokolli laienduse tugi;
  • Vidinate arendamiseks võetakse kasutusele uus GtkLayoutManager objekt koos nähtava ala paigutusest sõltuva elementide paigutuse juhtimise süsteemi juurutamisega. GtkLayoutManager asendab alamomadused GTK konteinerites, nagu GtkBox ja GtkGrid. Pakutakse mitu valmis paigutushaldurit: GtkBinLayout lihtsate konteinerite jaoks, millel on üks alamelement, GtkBoxLayout lineaarselt joondatud alamelementide jaoks, GtkGridLayout alamelementide joondamiseks ruudustikuga, GtkFixedLayout alamelementide suvaliseks positsioneerimiseks, GtkCustomLayout traditsioonilise asukoha tõlkimiseks suurusel_. käitlejad;
  • Vidinatesse GtkAssistant, GtkStack ja GtkNotebook on lisatud avalikult juurdepääsetavad objektid alamelementide lehekülje kuvamiseks, kuhu kantakse nende vidinate paigutusega mitteseotud alamomadused. Kuna kõik olemasolevad alamomadused on teisendatud tavalisteks atribuutideks, paigutuse atribuutideks või teisaldatud leheobjektidesse, on alamatribuutide tugi GtkContainerist täielikult eemaldatud.
  • GtkEntry põhifunktsioonid on viidud uude GtkTexti vidinasse, mis sisaldab ka täiustatud GtkEditable redigeerimisliidest. Kõik olemasolevad andmesisestuse alamklassid on ümber tehtud GtkEditable rakendusteks, mis põhinevad uuel GtkText vidinal;
  • Lisatud uus GtkPasswordEntry vidin parooli sisestamise vormide jaoks;
  • GtkWidgets on lisanud võimaluse teisendada alamelemente CSS-i kaudu määratud lineaarsete teisendusmeetodite või argumendi gtk_widget_allocate abil GskTransformile. Määratud funktsioon on vidinas GtkFixed juba rakendatud;
  • Lisatud on uued loendi põlvkonna mudelid: GtkMapListModel, GtkSliceListModel, GtkSortListModel, GtkSelectionModel ja GtkSingleSelection. Tulevikus plaanime lisada GtkListView'le loendimudelite toe;
  • GtkBuilder on lisanud võimaluse määrata objekti atribuute lokaalselt (inline), selle asemel, et kasutada linke identifikaatori järgi;
  • Lisatud käsk gtk4-builder-tööriistale kasutajaliidese failide teisendamiseks GTK 3-st GTK 4-ks;
  • Põhiteemade, tabelimenüüde ja liitkastide tugi on lõpetatud. Vidin GtkInvisible on eemaldatud.

    Allikas: opennet.ru

Lisa kommentaar