GTK 3.96, experimentell Verëffentlechung vum GTK 4, publizéiert

10 Méint duerno vun der Vergaangenheet Test Verëffentlechung presentéiert GTK 3.96, eng nei experimentell Verëffentlechung vun der zukünfteg stabiler Verëffentlechung vum GTK 4. D'GTK 4 Branche gëtt als Deel vun engem neien Entwécklungsprozess entwéckelt, deen probéiert Applikatiounentwéckler mat enger stabiler an ënnerstëtzter API fir e puer Joer ze bidden, déi ouni Angscht benotzt kënne ginn vun der Applikatioun all sechs Méint nei ze schreiwen wéinst der API an der nächster GTK Branche z'änneren. Bis GTK 4 komplett stabiliséiert ass, ass et recommandéiert datt Uwendungen, déi de Benotzer ugebuede ginn, weider mat der Branche gebaut ginn GTK 3.24.

Haaptstrooss änneren an GTK 3.96:

  • An der API GSK (GTK Scene Kit), deen d'Rendering vu grapheschen Szenen iwwer OpenGL a Vulkan ubitt, gouf op Feeler geschafft, déi méi einfach ginn ze identifizéieren dank dem neien Debugging-Tool gtk4-Node-Editor, deen Iech erlaabt ze lueden an ze weisen Rendering Node an engem serialiséierte Format (kann am Inspektiounsmodus GTK Inspekter gespäichert ginn), a vergläicht och d'Renderingsresultater wann Dir verschidde Backends benotzt;

    GTK 3.96, experimentell Verëffentlechung vum GTK 4, publizéiert

  • 3D Transformatiounsfäegkeeten goufen op e Niveau bruecht, deen Iech erlaabt Animatiounseffekter wéi e rotéierende Kubus ze kreéieren;

    GTK 3.96, experimentell Verëffentlechung vum GTK 4, publizéiert

  • Komplett ëmgeschriwwen Broadway GDK Backend entwéckelt fir GTK Bibliothéik Output an enger Webbrowserfenster ze maachen. Déi al Broadway Implementatioun passt net an d'Renderingsmethoden, déi am GTK 4 proposéiert goufen (amplaz Ausgang op e Puffer, benotzt se elo e Modell baséiert op Renderknäppchen, wou d'Ausgab a Form vun engem Bam vun High-Level Operatiounen zesummegesat ass, effizient vun der GPU veraarbecht mat OpenGL a Vulkan).
    Déi nei Broadway Optioun konvertéiert Rendernoden an DOM Noden mat CSS Stiler fir d'Interface am Browser ze maachen. All neie Bildschirmzoustand gëtt als Ännerung am DOM-Baum relativ zum fréiere Staat veraarbecht, wat d'Gréisst vun den Daten reduzéiert, déi un de Remote Client iwwerdroen ginn. 3D Transformatiounen a grafesch Effekter ginn duerch d'CSS-Transformeigenschaft ëmgesat;

  • GDK setzt weider APIen ëmzesetzen entworf mam Wayland Protokoll am Kapp, a botzt X11-baséiert APIen op oder réckelt se op eng separat X11 Backend. Et gëtt Fortschrëtter an der Aarbecht fir ewech vun der Notzung vu Kannerflächen a globale Koordinaten ze plënneren. Ënnerstëtzung fir GDK_SURFACE_SUBSURFACE gouf aus GDK geläscht;
  • Refactoring vum Code assoziéiert mat Drag-and-Drop Operatiounen auszeféieren ass weider, dorënner déi proposéiert separat GdkDrag an GdkDrop Objeten;
  • Event Handhabung gouf vereinfacht a gëtt elo nëmme fir Input benotzt. Déi reschtlech Eventer ginn duerch getrennte Signaler ersat, zum Beispill, amplaz vun Ausgangsevenementer, gëtt d'Signal "GdkSurface :: Render" proposéiert, amplaz vun Konfiguratiounsevenementer - "GdkSurface :: Gréisst geännert", amplaz vun Kartéierungsevenementer - "GdkSurface: :mapped", amplaz gdk_event_handler_set() - "GdkSurface::event";
  • De GDK Backend fir Wayland huet Ënnerstëtzung fir e Portal-Interface fir Zougang zu GtkSettings Astellunge bäigefüügt. Fir mat Inputmethoden ze schaffen, ass Ënnerstëtzung fir d'Text-Input-unstable-v3 Protokollverlängerung proposéiert ginn;
  • Fir d'Entwécklung vu Widgets gëtt en neien GtkLayoutManager Objet agefouert mat der Ëmsetzung vun engem System fir de Layout vun Elementer ze kontrolléieren ofhängeg vum Layout vum sichtbare Gebitt. GtkLayoutManager ersetzt Kannereigenschaften an GTK Container wéi GtkBox a GtkGrid. Verschidde fäerdeg Layoutmanager ginn proposéiert: GtkBinLayout fir einfache Behälter mat engem Kand Element, GtkBoxLayout fir linear ausgeriicht Kannerelementer, GtkGridLayout fir Kannerelementer op e Gitter auszegläichen, GtkFixedLayout fir arbiträr Positionéierung vu Kannerelementer, GtkCustomLayout baséiert op translating_CustomLayout Elementer Handler;
  • Ëffentlech zougänglech Objete fir Säit Display vun Kannerelementer goufen op d'GtkAssistant, GtkStack a GtkNotebook Widgets bäigefüügt, op déi déi net-Layout-verbonne Kannereigenschaften vun dëse Widgets transferéiert ginn. Well all existent Kannereigenschaften op regulär Eegeschafte ëmgewandelt goufen, Layouteigenschaften oder op Säitobjekter geplënnert sinn, ass Ënnerstëtzung fir Kannereigenschaften ganz aus GtkContainer geläscht;
  • D'Kär GtkEntry Funktionalitéit gouf op en neie GtkText Widget geplënnert, deen och eng verbessert GtkEditable Editable Interface enthält. All existent Dateninput Ënnerklassen goufen als GtkEditable Implementatiounen nei gemaach op Basis vum neie GtkText Widget;
  • En neie GtkPasswordEntry Widget fir Passwuert-Entrée Formen dobäigesat;
  • GtkWidgets huet d'Fäegkeet bäigefüügt fir Kannerelementer mat linear Transformatiounsmethoden ze transforméieren, déi iwwer CSS oder dem gtk_widget_allocate Argument op GskTransform spezifizéiert sinn. Déi spezifizéiert Feature gëtt schonn am GtkFixed Widget applizéiert;
  • Nei Lëscht Generatioun Modeller goufen dobäi: GtkMapListModel, GtkSliceListModel, GtkSortListModel, GtkSelectionModel an GtkSingleSelection. An Zukunft plangen mir Ënnerstëtzung fir Lëscht Modeller ze GtkListView;
  • GtkBuilder huet d'Fäegkeet bäigefüügt fir Objekteigenschaften lokal (inline) ze setzen, anstatt Linken duerch Identifizéierer ze benotzen;
  • Füügt Kommando op gtk4-Builder-Tool fir UI Dateien vun GTK 3 op GTK 4 ze konvertéieren;
  • Ënnerstëtzung fir Schlësselthemen, Tabularmenüen a Kombinatiounskëschte gouf gestoppt. De GtkInvisible Widget gouf geläscht.

    Source: opennet.ru

Setzt e Commentaire