GTK 3.96, liberazione sperimentale di GTK 4, publicata

10 mesi dopu di u passatu liberazione di prova prisentatu GTK 3.96, una nova liberazione sperimentale di a prossima liberazione stabile di GTK 4. U ramu GTK 4 hè sviluppatu cum'è parte di un novu prucessu di sviluppu chì prova di furnisce i sviluppatori di l'applicazioni cù una API stabile è supportata per parechji anni chì pò esse usata senza teme. di avè da riscrive l'applicazione ogni sei mesi per cambià l'API in a prossima filiera GTK. Finu à chì GTK 4 hè cumplettamente stabilizatu, hè cunsigliatu chì l'applicazioni offerte à l'utilizatori cuntinueghjanu à esse custruite cù u ramu. GTK 3.24.

menu cambià in GTK 3.96:

  • In l'API GSK (GTK Scene Kit), chì furnisce a rendering di scene gràfiche via OpenGL è Vulkan, u travagliu hè statu fattu nantu à l'errori, chì sò diventati più faciuli à identificà grazia à u novu strumentu di debugging gtk4-node-editor, chì permette di carricà è visualizà u node di rendering in un formatu serializatu (pò esse salvatu in u modu d'ispezione GTK inspector), è ancu paragunate i risultati di rendering quandu utilizanu backend differenti;

    GTK 3.96, liberazione sperimentale di GTK 4, publicata

  • E capacità di trasfurmazioni 3D sò state purtate à un livellu chì permette di creà effetti d'animazione cum'è un cubu rotanti;

    GTK 3.96, liberazione sperimentale di GTK 4, publicata

  • Cumplicità riscritta U backend di Broadway GDK cuncepitu per rende l'output di a biblioteca GTK in una finestra di u navigatore web. L'antica implementazione di Broadway ùn si adattava micca à i metudi di rendering pruposti in GTK 4 (invece di output à un buffer, avà usa un mudellu basatu nantu à i nodi di rende, induve l'output hè cumpostu in forma di un arbre di operazioni di altu livellu, processatu efficacemente da a GPU cù OpenGL è Vulkan).
    A nova opzione Broadway converte i nodi di render in nodi DOM cù stili CSS per renderà l'interfaccia in u navigatore. Ogni novu statu di schermu hè processatu cum'è un cambiamentu in l'arburu DOM relative à u statu precedente, chì reduce a dimensione di dati trasmessi à u cliente remotu. Trasformazioni 3D è effetti grafici sò implementati attraversu a pruprietà di trasfurmazioni CSS;

  • GDK cuntinueghja à implementà API cuncepiti cù u protokollu Wayland in mente, è pulisce l'API basate in X11 o li move in un backend X11 separatu. Ci hè un prugressu in u travagliu per alluntanassi da l'usu di e superfici di u zitellu è di e coordenate globale. U supportu per GDK_SURFACE_SUBSURFACE hè statu cacciatu da GDK;
  • A refactoring di u codice assuciatu à eseguisce l'operazione Drag-and-Drop cuntinuò, cumprese l'ogetti GdkDrag è GdkDrop separati pruposti;
  • A gestione di l'eventi hè stata simplificata è hè issa aduprata solu per input. L'avvenimenti rimanenti sò rimpiazzati cù signali separati, per esempiu, invece di l'eventi di output, u signale "GdkSurface::render" hè prupostu, invece di l'avvenimenti di cunfigurazione - "GdkSurface::size-changed", invece di mapping events - "GdkSurface: :mapped", invece di gdk_event_handler_set() - "GdkSurface::event";
  • U backend GDK per Wayland hà aghjustatu supportu per una interfaccia di portale per accede à i paràmetri di GtkSettings. Per travaglià cù i metudi di input, u supportu per l'estensione di u protocolu text-input-unstable-v3 hè statu prupostu;
  • Per u sviluppu di widgets, un novu ogettu GtkLayoutManager hè introduttu cù l'implementazione di un sistema per cuntrullà u layout di l'elementi secondu u layout di l'area visibile. GtkLayoutManager rimpiazza e proprietà di i zitelli in cuntenituri GTK cum'è GtkBox è GtkGrid. Diversi gestori di layout pronti sò pruposti: GtkBinLayout per cuntenituri simplici cù un elementu figliolu, GtkBoxLayout per elementi figlioli allineati linearmente, GtkGridLayout per allineà elementi zitelli à una griglia, GtkFixedLayout per u posizionamentu arbitrariu di elementi zitelli, GtkCustomLayout per a traslazzioni di elementi tradiziunali basati nantu à a traduzzione di size__ manipulatori;
  • L'oggetti accessibili publicamente per a visualizazione di a pagina di l'elementi di i zitelli sò stati aghjunti à i widgets GtkAssistant, GtkStack è GtkNotebook, à quale sò trasferiti e proprietà di i zitelli chì ùn sò micca Layout-related di sti widgets. Siccomu tutte e pruprietà di i zitelli esistenti sò state cunvertite in pruprietà regulare, pruprietà di layout, o spustate in l'uggetti di a pagina, u supportu per e proprietà di u zitellu hè stata completamente eliminata da GtkContainer;
  • A funziunalità core GtkEntry hè stata spustata in un novu widget GtkText, chì include ancu una interfaccia di edizione GtkEditable mejorata. Tutte e sottoclassi di input di dati esistenti sò state rifatte cum'è implementazioni GtkEditable basate nantu à u novu widget GtkText;
  • Aggiuntu un novu widget GtkPasswordEntry per e forme d'ingressu di password;
  • GtkWidgets hà aghjustatu a capacità di trasfurmà l'elementi di u zitellu utilizendu metudi di trasfurmazioni lineari specificati via CSS o l'argumentu gtk_widget_allocate à GskTransform. A funzione specifica hè digià appiicata in u widget GtkFixed;
  • Nuvelli mudelli di generazione di lista sò stati aghjuntu: GtkMapListModel, GtkSliceListModel, GtkSortListModel, GtkSelectionModel è GtkSingleSelection. In u futuru avemu pensatu à aghjunghje supportu per i mudelli di lista à GtkListView;
  • GtkBuilder hà aghjustatu a capacità di stabilisce e pruprietà di l'ughjettu in u locu (inline), invece di utilizà ligami per identificatore;
  • Cumanda aghjuntu à gtk4-builder-tool per cunvertisce i fugliali UI da GTK 3 à GTK 4;
  • U supportu per i temi chjave, i menu tabulari è e scatuli combo hè statu interrotta. U widget GtkInvisible hè statu eliminatu.

    Source: opennet.ru

Add a comment