GTK 4.0 bietet Verbesserungen für grafische Oberflächen, Datenübertragung und mehr

Vor ein paar Tagen Die Veröffentlichung der neuen Version von GTK 4.0 wurde angekündigt. Version, die mehrere Monate in der Entwicklung war und zum neuen stabilen Zweig des Projekts wird. Diese neue Version bietet sehr interessante Funktionen, von denen wir die Verbesserungen bei der Medienwiedergabe hervorheben können.

GTK ist eine Reihe von Softwarebibliotheken zum Erstellen grafischer OberflächenGTK wurde ursprünglich für die Anforderungen der GIMP-Bildverarbeitungssoftware entwickelt. Derzeit beschränkt sich der Umfang nicht mehr nur auf GIMP, sondern wird in anderen Projekten verwendet. Zum Beispiel GTK ist das Herzstück der GNU-Netzwerkobjektmodellumgebung (GNOME), kann aber auch zum Schreiben von Anwendungen für andere Linux-Umgebungen sowie von Anwendungen für Microsoft Windows und Apple MacOS verwendet werden.

„GTK 4.0 ist das Ergebnis der harten Arbeit eines kleinen Teams engagierter Entwickler. Wir werden einen separaten Artikel haben, in dem die Statistiken behandelt werden. Die kurze Zusammenfassung lautet jedoch, dass wir seit November 3.89.1, Version 2016, über 18,000 Commits hinzugefügt und über 20 Entwicklungsversionen erstellt haben.

„Herzlichen Glückwunsch und ein großes Dankeschön an alle, die an diesen Bemühungen teilgenommen haben, insbesondere an Benjamin, Emmanuele, Timm, Carlos, Jonas und Christian! «

Über die neue Version von GTK 4.0

GTK 4.0 führt neue Widgets und Änderungen an vorhandenen Elementen ein. Integrierte Unterstützung für die Medienwiedergabe, Verbesserungen bei der GPU-Beschleunigung, z neue Vulkan-Rendering-Engine und bessere Kompatibilität mit macOS. Wir können auch Verbesserungen bei der Datenübertragung, neu gestaltete Shader, GPU-beschleunigtes Scrollen, Verbesserungen beim OpenGL-Rendering über den Vulkan-Job hinaus, Wiederherstellung des Jobs in HTMl5 Broadway, bessere Windows-Unterstützung usw. feststellen.

Schauen wir uns einige Punkte etwas genauer an.

Medienmanagement in GT4

  • Mit GTK 4 können GTK-Anwendungen Animationen einfacher anzeigen. sei es programmatische Animation, Webm-Archiv oder Live-Übertragung.
  • GTK 4 bringt eine neue API namens GdkPaintable mit, die von den Bemühungen von CSS Houdini inspiriert wurde. Es ist sehr flexibel (alles, was Sie zeichnen können, kann ein GdkPaintable sein). Die Größe des Inhalts kann geändert werden (wie bei svg) oder im Laufe der Zeit geändert werden (wie bei webm).
  • Wenn Sie speziellere Anforderungen haben, kann alles, was in einem GtkSnapshot erfasst werden kann, mit gtk_snapshot_to_paintable () in eine Zeichnung konvertiert werden. Wenn Sie ein benutzerdefiniertes Widget erstellen, das ein Objekt zum Malen zeichnen möchte, ist dies sehr einfach. Rufen Sie einfach gdk_paintable_snapshot () auf.
  • Sie können die Multimedia-Steuerung über das GtkVideo-Widget durchführen.

Datenübertragung in GTK4

Traditionelle Methoden zur Datenübertragung Vom Benutzer zwischen Desktopanwendungen initiiert sind die Zwischenablage oder Drag & Drop. GTK + unterstützt diese Methoden, aber bis GTK3 waren die APIs im Toolkit für diese Art der Datenübertragung fein getarnte Kopien der entsprechenden X11-APIs. Dies ist nicht allzu überraschend, da die gesamte GDK-API in X11 modelliert wurde. Leider enthält die Implementierung Ergebnisse wie inkrementelle Übertragungen und Konvertierungen von Zeichenfolgenformaten.

Für GTK4 entschied sich das Team, diesen Ansatz aufzugeben, sich für eine Modernisierung entscheiden. Dies ist das Konzept des neuen Ansatzes:

„Wenn die Daten, die Ihre Anwendung senden möchte, keine Zeichenfolge sind, handelt es sich wahrscheinlich um ein Objekt wie GFile, GdkTexture oder GdkRGBA. Die empfangsseitige Anwendung verwendet möglicherweise nicht GTK oder GLib und kennt daher diese Typen nicht. Und selbst wenn Sie dies tun, gibt es keine Möglichkeit, Objekte in einem Stück von einem Prozess zu einem anderen zu verschieben.

„In der Datenübertragung wird ein Dateideskriptor von der Quellanwendung und der Zielanwendung gesendet, indem ein Bytestrom gelesen wird. Die Protokolle für die Zwischenablage und DND verwenden MIME-Typen wie Text / URL-Liste, Bild / PNG oder Anwendung / X-Farbe, um das Format des Byte-Streams zu identifizieren.

Das Senden eines Objekts umfasst das Aushandeln eines zweiseitig kompatiblen Datenformats, das Serialisieren des Objekts auf der Quellenseite in einen Bytestrom dieses Formats, das Übertragen der Daten und das Deserialisieren des Objekts auf der Zielseite. «

Zusätzlich GTK4 wird mit neuen APIs geliefert.

„Die erste API, die wir zur Behandlung dieser Typen einführen, ist das GdkContentFormats-Objekt. Es kann eine Liste von Formaten enthalten, die GTypes oder Mime sein können. Wir verwenden GdkContentFormats-Objekte, um die Formate zu beschreiben, in denen eine Anwendung Daten anbieten kann, sowie die Formate, in denen eine Anwendung Daten empfangen kann. “

Quelle: https://blog.gtk.org/


Hinterlasse einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert mit *

*

*

  1. Verantwortlich für die Daten: Miguel Ángel Gatón
  2. Zweck der Daten: Kontrolle von SPAM, Kommentarverwaltung.
  3. Legitimation: Ihre Zustimmung
  4. Übermittlung der Daten: Die Daten werden nur durch gesetzliche Verpflichtung an Dritte weitergegeben.
  5. Datenspeicherung: Von Occentus Networks (EU) gehostete Datenbank
  6. Rechte: Sie können Ihre Informationen jederzeit einschränken, wiederherstellen und löschen.