Der grafische Toolkit GTK 4.6 ist verfügbar

Nach viermonatiger Entwicklungszeit wurde die plattformübergreifende Toolkit-Version für die Erstellung von Benutzeroberflächen – GTK 4.6.0 – veröffentlicht. GTK 4 entwickelt sich im Rahmen eines neuen Entwicklungsprozesses, der darauf abzielt, den Anwendungsentwicklern eine stabile und über mehrere Jahre unterstützte API zur Verfügung zu stellen, ohne dass sie befürchten müssen, ihre Anwendungen alle sechs Monate aufgrund von API-Änderungen in einer neuen GTK-Version anpassen zu müssen.

Zu den bemerkenswertesten Verbesserungen in GTK 4.6 gehören:

  • Die alte OpenGL-basierte Rendering-Engine wurde entfernt und durch die neue NGL-Engine ersetzt, die seit GTK 4.2 standardmäßig bereitgestellt wird und die Leistung erheblich verbessert. NGL wurde in GL umbenannt. Der Code zum Laden von Texturen wurde neu geschrieben, und die Unterstützung für Bildformate und Farbprofile wurde verbessert.
  • Der Code, der mit der Berechnung der Größen von Elementen und der Anordnung von Widgets verbunden ist, wurde erheblich überarbeitet. Früher basierten die Eigenschaften GtkWidget::halign und GtkWidget::valign beim Anordnen von Elementen auf der Standardgröße der Widgets, was dazu führen konnte, dass bei Angabe nur einer Größe im Modus zur Flächenfüllung, das Element zusätzlichen Raum einnahm. In GTK 4.6 wurde die Möglichkeit der relativen Messung der fehlenden Größe implementiert (z. B. wenn eine Breite festgelegt ist, kann bei der Anordnung die verfügbare Höhe berücksichtigt werden), was es ermöglicht, die Widgets schlanker zu gestalten, ohne zusätzlichen Raum einzunehmen.
    Der grafische Toolkit GTK 4.6 ist verfügbar
    Der grafische Toolkit GTK 4.6 ist verfügbar
  • Im GtkBox-Widget wurde die Fähigkeit zur Berechnung individueller Größen der Kind-Widgets umgesetzt. Wenn früher der Platz gleichmäßig zwischen den Kind-Widgets basierend auf deren Standardgröße verteilt wurde, berücksichtigt GTK 4.6 bei der Anzeige die tatsächliche Größe der Kind-Elemente.
  • Im GtkLabel-Widget wurde die Unterstützung für den Textumbruch auf beliebig viele Zeilen implementiert, was es ermöglicht, schmalere Labels zu erstellen, die den verfügbaren vertikalen Raum einnehmen.
  • In die Klasse GtkWindow wurde die Möglichkeit integriert, die minimale Größe an das Seitenverhältnis anzupassen, wodurch die Fenstergröße beliebig geändert werden kann, ohne dass die Gefahr besteht, dass es zu klein wird. Die Eigenschaft „Window.titlebar“ wurde hinzugefügt.
  • Eine neue Warnung wurde hinzugefügt, die über Größenunterschiede informiert, wenn das Widget eine falsche Größe zurückgibt. Gtk-CRITICAL **: 00:48:33.319: gtk_widget_measure: Assertion ‚for_size >= minimum opposite size‘ fehlgeschlagen: 23 >= 42
  • Im GtkTextView-Widget wurde Unterstützung für Tabulatoren hinzugefügt, die rechtsbündig oder zentriert ausgerichtet sind. Unterstützung für die Textumwandlung und Berücksichtigung der Zeilenhöhe wurde hinzugefügt. Die Scrolloperation zu einer angegebenen Marke wurde verbessert. Die Rückgängig-Funktion wurde verbessert. Probleme beim Einfügen von Text aus der Zwischenablage und bei der Auswahl des Ortes zur Anzeige des Emoji-Einfügeinterfaces wurden behoben.
  • Im GtkMenuButton-Widget wurde die Möglichkeit hinzugefügt, eigene untergeordnete Elemente zu definieren.
  • In GtkBuilder wurde die Vorkompilierung von Vorlagen beschleunigt.
  • Ein aktivierendes Signal wurde für die Widgets GtkComboBox und GtkDropDown hinzugefügt.
  • Im GtkDropDown-Widget wurde die Eigenschaft show-arrow hinzugefügt, um die Anzeige des Pfeils zu steuern.
    Der grafische Toolkit GTK 4.6 ist verfügbar
  • Im GtkPopoverMenu wurde das Attribut use-markup hinzugefügt, um Pango-Markup im Menütext zu verwenden.
  • Im Stylesystem wurde die Unterstützung für die CSS-Eigenschaften font-variant-caps zur Anzeige von kleinen Großbuchstaben und text-transform zur Texttransformation implementiert.
  • Das GtkSymbolicPaintable-Interface wurde hinzugefügt, um die Farbe symbolischer Icons zu steuern.
  • Im Inspektor-Interface wurde die Unterstützung für das Tracking von Drag-and-Drop-Operationen hinzugefügt. Es zeigt das aktuelle Eingabemodul an, hat einen Clipboard-Viewer implementiert, ein Diagramm zur Visualisierung von gtk_widget_measure() bereitgestellt und ermöglicht das Protokollieren von Ereignissen. Das Tool gtk4-node-editor unterstützt jetzt den Drag-and-Drop-Modus.
  • Für Wayland wurde eine Einstellung zur Aktivierung des Hochkontrastmodus (high-contrast) implementiert. Unterstützung für das Protokoll wl_seat v7 wurde hinzugefügt.
  • Die Einstellung gtk-hint-font-metrics wurde hinzugefügt, um die Textdarstellung in Richtung GTK3-Verhalten zu bringen.
  • Für X11-basierte Systeme wurde die Unterstützung für Gestensteuerung auf Touchpads (bei Verwendung von XInput 2.4) hinzugefügt und das Verhalten beim Ziehen von Fenstern über die Titelleiste verbessert.
  • In der GDK-Bibliothek, die eine Schnittstelle zwischen GTK und dem Grafiksystem bereitstellt, wurde die Überprüfung der OpenGL- und OpenGL ES-Versionen verbessert. Unterstützung für den HSL-Farbraum wurde hinzugefügt. Beim Laden von Texturen und der Verarbeitung von Bildformaten kommen die Bibliotheken libpng, libjpeg und libtiff direkt zum Einsatz. Der EGL-Initialisierungscode wurde in den Frontend-Bereich verschoben. Neue APIs wurden hinzugefügt: gdk_texture_new_from_bytes, gdk_texture_new_from_filename, gdk_texture_download_float, gdk_texture_save_to_png_bytes, gdk_texture_save_to_tiff, gdk_texture_save_to_tiff_bytes und gdk_display_create_gl_context.
  • Der Branch „master“ im Git-Repository wurde in „main“ umbenannt.

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