Die grafische Toolkit-Version GTK 4.16 ist verfügbar.

Nach sechs Monaten Entwicklung wurde die plattformübergreifende Toolkit-Version GTK 4.16.0 zur Erstellung von grafischen Benutzeroberflächen veröffentlicht. GTK 4 wird im Rahmen eines Entwicklungsprozesses weiterentwickelt, der darauf abzielt, Anwendungsentwicklern eine stabile und über mehrere Jahre unterstützte API bereitzustellen, die sie verwenden können, ohne sich sorgen zu müssen, dass sie alle sechs Monate ihre Anwendungen aufgrund von API-Änderungen in einer neuen GTK-Version überarbeiten müssen.

Zu den auffälligsten Verbesserungen in GTK 4.16 gehören:

  • Die Einstellung gtk-font-rendering wurde hinzugefügt, die flexible, hochgradige Möglichkeiten zur Steuerung des Font-Renderings bietet. Um die Low-Level-Schriftarteinstellungen zu verwenden, sollte der Parameter gtk-font-rendering auf 'manual' gesetzt werden.
  • In der GSK-Bibliothek (GTK Scene Kit), die Rendering-Funktionen für grafische Szenen über OpenGL und Vulkan bereitstellt, wird standardmäßig für das Rendering in Umgebungen auf Basis des Wayland-Protokolls die Rendering-Engine «vulkan» verwendet, die direkt die Vulkan-Grafik-API nutzt. In anderen Fällen wird weiterhin die Rendering-Engine «ngl» verwendet, die eine OpenGL-Implementierung bietet, die über die Vulkan-API arbeitet. Um die Engine zu ändern, kann die Umgebungsvariable «GSK_RENDERER» verwendet werden. Da die Engines «vulkan» und «ngl» unterschiedlich mit Grafiktreibern interagieren, wird empfohlen, für eine stabile Nutzung die neueste Version von Mesa 24.2 zu verwenden.
  • Unter den weiteren Änderungen in der GSK-Bibliothek:
    • Die Technik der Optimierung «Occlusion Culling» wurde implementiert, die die Darstellung von Objekten ausschließt, die hinter anderen opaken Objekten verborgen oder außerhalb des Sichtfelds liegen.
    • Im Kompositionsprozess wird die Farbrauminformation berücksichtigt.
    • Die Glyphen- und Textur-Caching wurde verbessert.
    • Die Unterstützung für das Kacheln (tiling) großer Texturen zur Erstellung nahtloser Oberflächen durch Wiederholung der Textur wurde implementiert.
    • Die Schattendarstellung wurde verbessert.
    • Die Möglichkeit der Nutzung von Hardware-Beschleunigung für die Verarbeitung von konvertierten Texturen wurde hinzugefügt, zum Beispiel für die Anzeige rotierender Inhalte auf dem Bildschirm.
    • Die Verwendung von Hardware-Beschleunigungsmechanismen auf Systemen mit dem Composite-Manager KWin wurde verbessert.
    • Eine Debug-Option „GDK_DEBUG=linear“ wurde hinzugefügt, um den Modus für lineares Compositing zu aktivieren. Das Logging wurde bei der Verwendung der Optionen „GDK_DEBUG=offload“ und „GSK_DEBUG=renderer“ verbessert.
  • Für Umgebungen, die auf dem Wayland-Protokoll und dem Composite-Manager KWin basieren, wurde die Möglichkeit zur Nutzung der Protokollerweiterung (color-management) zur Farbverwaltung implementiert. Beim Anzeigen von angehefteten Dialogen wurde die Wayland-Erweiterung xdg-dialog verwendet. Bei der Komposition wurde die sechste Version des Objekts wl_compositor aktiviert. Die Verwendung von dmabuf im Prozess der Hardware-Beschleunigung bei der Verarbeitung von Texturen für OpenGL wurde gestattet.
  • Verbesserungen in der GDK-Bibliothek, die eine Schicht zwischen GTK und der grafischen Subsystem bereitstellt:
    • Die Möglichkeiten zur Arbeit mit Farbräumen wurden erheblich erweitert. Unterstützung für die Farbräume srgb, srgb-linear, rec2100-pq und rec2100-linear wurde implementiert, und die Vorbereitungen zur Unterstützung von Farbräumen für HDR wurden getroffen. Das Objekt GdkColorState wurde vorgeschlagen, das Informationen zur Farbauslegung bereitstellt, die für die Umwandlung eines Farbraums in einen anderen verwendet werden können. Um Objekte mit Farbraum-Informationen zu erstellen, wurde das Objekt Gdk.CicpParams hinzugefügt. Im GdkTexture-Objekt sowie in den Objekten zur Erstellung, zum Laden und zur Umwandlung von Texturen wurde die Möglichkeit zur Verwendung von Farbräumen integriert.
    • Eine neue API zur Arbeit mit dem Cursor wurde basierend auf Callback-Aufrufen implementiert.
    • Die Möglichkeit zur Durchführung von MIP-Texturierung (MipMap, Erstellung von verkleinerten Versionen von Texturen, die beim Entfernen des Objekts von der Kamera verwendet werden) wurde durch die CPU realisiert.
    • Ein Thread-Pool wurde für die Farbkonvertierung und MIP-Texturierung aktiviert.
    • Unterstützung der Umgebungsvariable XDG_ACTIVATION_TOKEN mit einem Aktivierungstoken für das Protokoll xdg-activation-v1 hinzugefügt, wodurch eine Anwendung den Fokus auf eine andere verschieben kann.
    • Die Klasse GdkMemoryTextureBuilder wurde hinzugefügt, die es ermöglicht, Objekte mit Texturen (GdkTexture) aus in RAM gespeicherten Daten zu erstellen.
  • Die Möglichkeiten zur Erstellung von Designs auf Basis von CSS wurden erweitert. Unterstützung für Variablen und benutzerdefinierte Eigenschaften hinzugefügt. Die CSS-Funktionen color(), oklab(), color-mix() sowie mathematische Funktionen wurden implementiert. Es besteht die Möglichkeit, relative Farbdefinitionen (Änderung absoluter Farben durch Funktionen) zu verwenden sowie den Transparenzgrad in Prozent anzugeben. Bei der Arbeit mit Farben, Rahmen, Schatten und Text wird die Information über Farbmodelle berücksichtigt.
  • In das Dienstprogramm rendernode-tool wurden die Befehle „extract“ zum Laden von Daten über eine URL und „image“ zur Manipulation von Texturen hinzugefügt. Die Möglichkeit zur Generierung von Dateien im PDF-Format wurde implementiert.
  • Im Interface gtk4-node-editor wurde die Operation 'Paste as node' hinzugefügt.
  • Im Dateiauswahl-Widget GtkFileChooserWidget wurde die Unterstützung für die Kombination Ctrl-Shift-N zum Erstellen von Verzeichnissen hinzugefügt.
  • Im GtkPopover-Widget wurde die Verarbeitung von Größen- und Positionsänderungen verbessert.
  • Im GtkGraphicsOffload-Widget, das verwendet wird, um Inhalte wie Videos direkt über den Kompositor zu senden und GSK-Rendering zu umgehen, wurde die Eigenschaft 'black-background' für die Ausgabe eines schwarzen Hintergrunds hinzugefügt.
    Die grafische Toolkit-Version GTK 4.16 ist verfügbar.
  • Im GtkGLArea-Widget, das für die Ausgabe mit OpenGL gedacht ist, wurde die Möglichkeit hinzugefügt, Texturen in dmabuf zu erstellen, was es ermöglicht, das GtkGraphicsOffload-Widget für die direkte Ausgabe über den Kompositor zu verwenden. der ServerDie Effizienz der Interaktion mit dem Kompositor wurde erhöht. dem Server durch.
    Die grafische Toolkit-Version GTK 4.16 ist verfügbar.
  • Im GtkTextView-Widget wurde die Unterstützung für die Ausgabe von Text mit Schatten hinzugefügt und die Möglichkeit zur Verwendung von GtkTextBufferCommitNotify-Benachrichtigungen implementiert.
  • Im GtkCheckButton-Widget wurde die Unterstützung für die Gruppenstildefinition von Schaltflächen hinzugefügt.
  • Die Debugging-Funktionen wurden erweitert. Im Inspektor-Interface wurden Informationen zu Farbräumen sowie zur Monitorauflösung hinzugefügt. Die Umgebungsvariable GDK_DEBUG wurde in GDK_DEBUG und GDK_DISABLE unterteilt. Die Modi GDK_DISABLE=color-mgmt und GDK_DISABLE=offload wurden hinzugefügt. Der Modus GTK_DEBUG=css wurde hinzugefügt, um Warnungen bei der Verwendung veralteter CSS-Funktionen auszugeben. Tastenkombinationen Super-r wurden zur Aufzeichnung des Ereignisprotokolls und Super-c zur Erstellung von Screenshots hinzugefügt.
  • Die Anforderungen an Abhängigkeiten und die Build-Umgebung wurden erhöht. Für den Build wird jetzt ein Compiler mit C11-Unterstützung sowie mindestens Version 1.24 von gstreamer, 1.52 von pango und 1.18 von cairo benötigt. Die Unterstützung für veraltete Build-Modi gtk_doc (verwenden Sie documentation), update_screenshots (-> screenshots), demo-profile (-> profile) und demos (-> build-demos) wurde eingestellt.
  • Für macOS 10.15+ wurde eine Schnittstelle zur Farbauswahl von Pixeln auf dem Bildschirm (Color Picker) implementiert.
  • Für Windows wurde der Modus des inkrementellen Renderns mit der WGL-API aktiviert.

Quelle: opennet.ru

Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen 🔥 Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen | ProHoster