GTK 3.96 veröffentlicht, experimentelle Version von GTK 4

Nach 10 Monaten seit der letzten Testversion wurde vorgestellt GTK 3.96, gibt es eine neue experimentelle Version des zukünftigen stabilen Releases GTK 4. Der GTK 4-Zweig wird im Rahmen eines neuen Entwicklungsprozesses weiterentwickelt, der darauf abzielt, Entwicklern eine stabile und über mehrere Jahre unterstützte API zur Verfügung zu stellen, ohne befürchten zu müssen, dass alle sechs Monate die Anwendung wegen API-Änderungen im nächsten GTK-Zweig überarbeitet werden muss. Bis GTK 4 vollständig stabilisiert ist, wird empfohlen, Anwendungen weiterhin mit dem Zweig GTK 3.24.

Haupt eingeführt wurde, die im Januar dieses Jahres in den Kernel übernommen wurde. Es betrifft ausschließlich die Version 5.1 und tritt in den meisten Fällen auf Systemen mit Samsung-SSD-Speichern auf, bei denen zur Verschlüsselung Daten mit dm-crypt/LUKS über device-mapper/LVM verwendet werden. zu erstellen. In GTK 3.96:

  • In der API GSK (GTK Scene Kit), das die Darstellung von Grafik-Szenen über OpenGL und Vulkan ermöglicht, wurden Fehler behoben, was durch das neue Debugging-Tool gtk4-node-editor erleichtert wurde, das es ermöglicht, einen Rendering-Knoten im serialisierten Format zu laden und anzuzeigen (kann im GTK-Inspektor im Inspektionsmodus gespeichert werden), sowie die Ergebnisses der Darstellung beim Einsatz verschiedener Backends zu vergleichen;

    GTK 3.96 veröffentlicht, experimentelle Version von GTK 4
  • Die Möglichkeiten der 3D-Transformationen wurden auf ein Niveau angehoben, das die Erstellung von Animationseffekten, wie z.B. einem rotierenden Würfel, ermöglicht;

    GTK 3.96 veröffentlicht, experimentelle Version von GTK 4
  • Vollständig wurde neu geschrieben Der GDK-Backend Broadway ist für die Darstellung der GTK-Bibliotheksausgabe in einem Webbrowser konzipiert. Die vorherige Implementierung von Broadway entsprach nicht den in GTK 4 vorgeschlagenen Rendering-Methoden (anstatt der Ausgabe in einen Puffer wird jetzt ein auf Rendering-Knoten basierendes Modell verwendet, bei dem die Ausgabe in einer Baumstruktur von hochrangigen Operationen organisiert wird, die effizient von der GPU über OpenGL und Vulkan verarbeitet werden).
    Die neue Version von Broadway wandelt Rendering-Knoten in DOM-Knoten mit CSS-Stilen um, um die Benutzeroberfläche im Browser darzustellen. Jedes neue Bildschirmzustand wird als Änderung des DOM-Baums im Vergleich zum vorherigen Zustand behandelt, was die Größe der an den Remote-Client übertragenen Daten reduziert. 3D-Transformationen und grafische Effekte werden über die CSS-Eigenschaft transform umgesetzt.
  • Im GDK wird die Implementierung von APIs, die mit Blick auf die Nutzung des Wayland-Protokolls entwickelt wurden, fortgesetzt und eine Bereinigung der API, die an X11 gebunden sind, durchgeführt oder sie werden in einen separaten X11-Backend verschoben. Es wird ein Fortschritt beim Rückzug von Kind-Oberflächen und globalen Koordinaten festgestellt. Die Unterstützung für GDK_SURFACE_SUBSURFACE wurde aus GDK entfernt.
  • Die Umstrukturierung des Codes, der mit Drag-and-Drop-Operationen verbunden ist, wurde fortgesetzt. Dabei wurden separate Objekte für GdkDrag und GdkDrop vorgeschlagen;
  • Die Ereignisverarbeitung wurde vereinfacht. Diese werden jetzt nur noch für die Eingabe verwendet. Andere Ereignisse wurden durch separate Signale ersetzt, wie zum Beispiel anstelle von Ausgabesignalen das Signal „GdkSurface::render“, anstelle von Anpassungsereignissen „GdkSurface::size-changed“, anstelle von Abgleichereignissen „GdkSurface::mapped“, anstelle von gdk_event_handler_set() „GdkSurface::event“;
  • Im GDK-Backend für Wayland wurde die Unterstützung für das Portal-Interface hinzugefügt, um auf die Einstellungen von GtkSettings zuzugreifen. Für die Eingabemethoden wurde die Unterstützung für die Erweiterung des Protokolls text-input-unstable-v3 vorgeschlagen;
  • Für die Entwicklung von Widgets steht ein neues Objekt GtkLayoutManager zur Verfügung, das ein System zur Verwaltung der Anordnung von Elementen je nach Sichtbereich implementiert. GtkLayoutManager ersetzt die Kindereigenschaften in GTK-Containern wie GtkBox und GtkGrid. Es wurden mehrere fertige Layout-Manager vorgeschlagen: GtkBinLayout für einfache Container mit einem einzigen Kind-Element, GtkBoxLayout für linear ausgerichtete Kind-Elemente, GtkGridLayout für die Anordnung von Kind-Elementen in einem Raster, GtkFixedLayout für die willkürliche Positionierung von Kind-Elementen und GtkCustomLayout zur Übertragung traditioneller Elemente auf Basis von size_allocate-Handlern;
  • Bei den Widgets GtkAssistant, GtkStack und GtkNotebook wurden öffentlich zugängliche Objekte für die seitenweise Ausgabe von Kind-Elementen hinzugefügt, wobei die layout-unabhängigen Kindereigenschaften der genannten Widgets übertragen wurden. Da alle vorhandenen Kindereigenschaften in normale Eigenschaften umgewandelt wurden, wurden die Layout-Eigenschaften entweder in die seitenweisen Objekte verschoben oder aus GtkContainer vollständig entfernt.
  • Die grundlegende Funktionalität von GtkEntry wurde in das neue Widget GtkText verschoben, das auch eine erweiterte Bearbeitungsschnittstelle, GtkEditable, umfasst. Alle bestehenden Unterklassen für die Eingabe wurden in Implementierungen von GtkEditable auf Basis des neuen GtkText-Widgets umgestaltet;
  • Ein neues Widget, GtkPasswordEntry, für Eingabeformulare von Passwörtern wurde hinzugefügt;
  • In GtkWidgets wurde die Möglichkeit hinzugefügt, untergeordnete Elemente mithilfe von linearer Transformation über CSS oder das Argument gtk_widget_allocate in GskTransform zu transformieren. Diese Funktion wurde bereits im Widget GtkFixed implementiert;
  • Neue Listenerstellungsmodelle wurden hinzugefügt: GtkMapListModel, GtkSliceListModel, GtkSortListModel, GtkSelectionModel und GtkSingleSelection. Zukünftig ist die Unterstützung von Listenmodellen in GtkListView geplant;
  • In GtkBuilder wurde die Möglichkeit hinzugefügt, Objekt-Eigenschaften vor Ort (inline) festzulegen, anstatt Identifikatorreferenzen zu verwenden;
  • In gtk4-builder-tool wurde ein Befehl zum Konvertieren von UI-Dateien von GTK 3 in GTK 4 hinzugefügt;
  • Die Unterstützung für Schlüsselthemen (key theme), tabellarische Menüs (tabular menu) und Kombinationsfelder (combo box) wurde eingestellt. Das Widget GtkInvisible wurde entfernt.

    Quelle: opennet.ru

Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server 🔥 Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server | ProHoster