Das grafische Toolkit GTK 4.22 mit eingebautem SVG-Rendering-Engine ist verfügbar.

Nach sechs Monaten Entwicklung wurde die plattformübergreifende Toolkit-Version für die Erstellung von grafischen Benutzeroberflächen - GTK 4.22 veröffentlicht. GTK 4 entwickelt sich im Rahmen eines Entwicklungsprozesses, der versucht, Entwicklern von Anwendungen eine stabile und über mehrere Jahre unterstützte API zu bieten, die sie nutzen können, ohne Angst zu haben, dass sie alle sechs Monate ihre Anwendungen aufgrund von API-Änderungen in einer neuen GTK-Version überarbeiten müssen.

Zu den bemerkenswerten Verbesserungen in GTK 4.22 gehören:

  • Ein integriertes System zur Darstellung und Analyse von SVG-Bildern wurde hinzugefügt, das Animationen unterstützt und die Erstellung von animierten Symbolen, interaktiven Benutzeroberflächenlementen und dynamisch wechselnden Indikatoren, wie Fortschrittsanzeigen, ermöglicht. GtkSvg ist direkt mit der GSK-Bibliothek (GTK Scene Kit) integriert, die Rendering-Funktionen grafischer Szenen über OpenGL und Vulkan bereitstellt. Die zuvor verwendete librsvg-Bibliothek zum Rendering von SVG-Symbolen wurde aus den Abhängigkeiten entfernt.

    Ein Gtk.Svg-Klasse wurde eingeführt, um ohne externe Abhängigkeiten SVG-Symbole und Ressourcen für Anwendungen zu rendern. Die implementierte SVG-Formatierung wurde speziell für GTK entwickelt und besteht erfolgreich 1250 von 1616 Kompatibilitätstests aus dem resvg-Testset (zum Vergleich: Firefox besteht 1385 Tests, librsvg 1168 und QtSvg 591).

  • Ein GtkPopoverBin-Widget wurde hinzugefügt, das das Hinzufügen von Kontextmenüs und Dialogfeldern zu anderen Widgets vereinfacht. GtkPopoverBin kann als Container verwendet werden, um Popup-Funktionalitäten in Widgets zu integrieren, die dies nicht von sich aus unterstützen.
  • Ein neuer Typ von Ausdrücken, GtkTryExpression, wurde eingeführt, der die Definition von Fallback-Operationen erlaubt. GtkTryExpression versucht, jeden Ausdruck aus der Liste auszuführen, bis einer von ihnen erfolgreich ist.
  • Ein neues Format für symbolische Icons, das Animationen und wechselnde Zustände unterstützt (zum Beispiel zur Anzeige von Aktivität), wurde eingeführt. Um die Breite der Icons zu steuern, wurde die CSS-Eigenschaft „-gtk-icon-weight“ hinzugefügt. Eine Demonstrationsanwendung org.gtk.Shaper mit einem Editor für das neue Format symbolischer Icons wurde hinzugefügt.
    Das grafische Toolkit GTK 4.22 mit eingebautem SVG-Rendering-Engine ist verfügbar.
  • Im Backend wurde experimentelle Unterstützung für das Protokoll xx-session-management implementiert, die in Umgebungen basierend auf dem Wayland-Protokoll verwendet werden kann, um den Zustand von Fenstern nach unterbrochenen Sitzungen (wie nach einem unerwarteten Absturz des Compositors) wiederherzustellen. Um dies zu aktivieren, sollte die Umgebungsvariable „GDK_DEBUG=session-mgmt“ gesetzt werden.
  • Im API von GtkApplication wurde die Möglichkeit hinzugefügt, den Zustand zu speichern, unter Verwendung des xx-session-management-Protokolls. In GNOME 50 wird diese Funktionalität zur Speicherung von Sitzungen und zur Wiederherstellung von Fensterpositionen verwendet.
  • Für den Zugriff auf Einstellungen im Backend für Wayland wurde das Portal freedesktop.portal.Settings verwendet.
  • Im API von GtkFileLauncher wurde die Möglichkeit zur Schreibzugriffs auf Dateien implementiert, wenn es innerhalb von flatpak-Paketen verwendet wird.
  • In GSK (GTK Scene Kit) wurde die Unterstützung für Profiling hinzugefügt und die Fähigkeit, Pixel des Originalbildes basierend auf einer „Verschiebungskarte“ (displacement map) zu verschieben, um komplexe grafische Effekte zu erstellen.
  • Ein API GskRenderNodeReplay wurde zur Verarbeitung des Rendering-Knotenhierarchie (Render Node) hinzugefügt.
  • Neue Typen von Rendertrees-Knoten „copy“ und „paste“ wurden hinzugefügt, die es ermöglichen, einen Bereich unter dem aktuellen Element an einen anderen Ort im Szenegraph zu kopieren und einzufügen.
  • Ein neuer Typ von Rendertrees-Knoten „composite“ wurde hinzugefügt, der zusätzliche Compositing-Operationen beim Rendern eines Elements über einen Hintergrund ermöglicht, beispielsweise Überlagerungen unter Verwendung von Masken.
  • In CSS wurde die Eigenschaft „backdrop-filter“ hinzugefügt, um Effekte auf den Hintergrund anzuwenden, wie z. B. Unschärfe.
  • In CSS wurde die Unterstützung für die Einstellung „reduced-motion“ hinzugefügt, die über das Bedürfnis informiert, die Verwendung von Animationen zu minimieren.

Quelle: opennet.ru

Купить надежный хостинг для сайтов с защитой от DDoS, VPS VDS серверы 🔥 Купить надежный хостинг для сайтов с защитой от DDoS, VPS VDS серверы | ProHoster