Publicēts GTK 3.96, GTK 4 eksperimentālais laidiens

10 mēnešus pēc pagātnes testa izlaidums uzrādīts GTK 3.96, jauns eksperimentāls gaidāmās GTK 4 stabilās laidiena izlaidums. GTK 4 filiāle tiek izstrādāta kā daļa no jauna izstrādes procesa, kura mērķis ir nodrošināt lietojumprogrammu izstrādātājus ar stabilu un atbalstītu API vairākus gadus, ko var izmantot bez bailēm. pieteikums ir jāpārraksta ik pēc sešiem mēnešiem API maiņas dēļ nākamajā GTK filiālē. Kamēr GTK 4 nav pilnībā stabilizēts, lietotājiem piedāvātās lietojumprogrammas ieteicams turpināt veidot, izmantojot filiāli GTK 3.24.

Galvenais izmaiņas GTK 3.96:

  • API GSK (GTK Scene Kit), kas nodrošina grafisko ainu renderēšanu, izmantojot OpenGL un Vulkan, ir strādāts pie kļūdām, kuras ir kļuvis vieglāk identificēt, pateicoties jaunajam atkļūdošanas rīkam gtk4-node-editor, kas ļauj ielādēt un parādīt renderēšanas mezgls serializētā formātā (var saglabāt pārbaudes režīmā GTK inspektors), kā arī salīdzināt renderēšanas rezultātus, izmantojot dažādas aizmugursistēmas;

    Publicēts GTK 3.96, GTK 4 eksperimentālais laidiens

  • 3D transformācijas iespējas ir paaugstinātas līdz līmenim, kas ļauj izveidot animācijas efektus, piemēram, rotējošu kubu;

    Publicēts GTK 3.96, GTK 4 eksperimentālais laidiens

  • Pilnīgi pārrakstīts Brodvejas GDK aizmugursistēma, kas paredzēta GTK bibliotēkas izvadei renderēšanai tīmekļa pārlūkprogrammas logā. Vecā Brodvejas implementācija neiekļāvās GTK 4 piedāvātajās renderēšanas metodēs (tā vietā, lai izvadītu buferī, tagad tiek izmantots modelis, kura pamatā ir renderēšanas mezgli, kur izvade tiek veidota augsta līmeņa operāciju koka veidā, efektīvi apstrādā GPU, izmantojot OpenGL un Vulkan).
    Jaunā Brodvejas opcija pārveido renderēšanas mezglus DOM mezglos ar CSS stiliem interfeisa renderēšanai pārlūkprogrammā. Katrs jaunais ekrāna stāvoklis tiek apstrādāts kā izmaiņas DOM kokā attiecībā pret iepriekšējo stāvokli, kas samazina attālajam klientam pārsūtīto datu apjomu. 3D transformācijas un grafiskie efekti tiek īstenoti, izmantojot CSS transformācijas īpašumu;

  • GDK turpina ieviest API, kas izstrādātas, ņemot vērā Wayland protokolu, un attīra uz X11 balstītas API vai pārvieto tās uz atsevišķu X11 aizmugursistēmu. Ir gūti panākumi darbā, lai atteiktos no bērnu virsmu un globālo koordinātu izmantošanas. GDK_SURFACE_SUBSURFACE atbalsts ir noņemts no GDK;
  • Turpinājās koda, kas saistīts ar vilkšanas un nomešanas darbību veikšanu, pārveidošana, ieskaitot ierosinātos atsevišķus GdkDrag un GdkDrop objektus;
  • Notikumu apstrāde ir vienkāršota un tagad tiek izmantota tikai ievadei. Atlikušie notikumi tiek aizstāti ar atsevišķiem signāliem, piemēram, izvades notikumu vietā tiek piedāvāts signāls “GdkSurface::render”, konfigurācijas notikumu vietā – “GdkSurface::size-changed”, kartēšanas notikumu vietā – “GdkSurface: :mapped”, nevis gdk_event_handler_set() - "GdkSurface::event";
  • Wayland GDK aizmugursistēma ir pievienojusi atbalstu portāla saskarnei, lai piekļūtu GtkSettings iestatījumiem. Lai strādātu ar ievades metodēm, ir ierosināts atbalsts teksta ievades nestabilitātei v3 protokola paplašinājumam;
  • Logrīku izstrādei tiek ieviests jauns GtkLayoutManager objekts ar sistēmas ieviešanu elementu izkārtojuma kontrolei atkarībā no redzamā laukuma izkārtojuma. GtkLayoutManager aizstāj pakārtotos rekvizītus GTK konteineros, piemēram, GtkBox un GtkGrid. Tiek piedāvāti vairāki gatavi izkārtojuma pārvaldnieki: GtkBinLayout vienkāršiem konteineriem ar vienu pakārtoto elementu, GtkBoxLayout lineāri līdzinātiem pakārtotajiem elementiem, GtkGridLayout pakārtoto elementu pielīdzināšanai režģim, GtkFixedLayout pakārtoto elementu patvaļīgai pozicionēšanai, GtkCustomLayout, kas balstās uz izmēru tradicionālo elementu tulkošanai_locate. apdarinātāji;
  • Publiski pieejami objekti bērnu elementu parādīšanai lapā ir pievienoti logrīkiem GtkAssistant, GtkStack un GtkNotebook, uz kuriem tiek pārsūtīti šo logrīku pakārtotie rekvizīti, kas nav saistīti ar izkārtojumu. Tā kā visi esošie pakārtotie rekvizīti ir pārveidoti par parastajiem rekvizītiem, izkārtojuma rekvizītiem vai pārvietoti uz lapas objektiem, GtkContainer pakārtoto rekvizītu atbalsts ir pilnībā noņemts.
  • Galvenā GtkEntry funkcionalitāte ir pārvietota uz jaunu GtkText logrīku, kas ietver arī uzlabotu GtkEditable rediģēšanas saskarni. Visas esošās datu ievades apakšklases ir pārveidotas par GtkEditable implementācijām, pamatojoties uz jauno GtkText logrīku;
  • Pievienots jauns logrīks GtkPasswordEntry paroles ievades veidlapām;
  • GtkWidgets ir pievienojis iespēju pārveidot bērnelementus, izmantojot lineārās transformācijas metodes, kas norādītas, izmantojot CSS vai argumentu gtk_widget_allocate GskTransform. Norādītā funkcija jau ir lietota logrīkā GtkFixed;
  • Ir pievienoti jauni sarakstu paaudzes modeļi: GtkMapListModel, GtkSliceListModel, GtkSortListModel, GtkSelectionModel un GtkSingleSelection. Nākotnē mēs plānojam pievienot GtkListView sarakstu modeļu atbalstu;
  • GtkBuilder ir pievienojis iespēju iestatīt objekta rekvizītus lokāli (inline), nevis izmantot saites pēc identifikatora;
  • Pievienota komanda gtk4-builder-rīkam, lai pārveidotu lietotāja interfeisa failus no GTK 3 uz GTK 4;
  • Galveno motīvu, tabulu izvēlņu un kombinēto lodziņu atbalsts ir pārtraukts. Logrīks GtkInvisible ir noņemts.

    Avots: opennet.ru

Pievieno komentāru