GTK 4.6-Grafik-Toolkit verfügbar

Nach viermonatiger Entwicklungszeit wurde die Veröffentlichung eines plattformübergreifenden Toolkits zur Erstellung einer grafischen Benutzeroberfläche veröffentlicht – GTK 4.6.0. GTK 4 wird im Rahmen eines neuen Entwicklungsprozesses entwickelt, der darauf abzielt, Anwendungsentwicklern mehrere Jahre lang eine stabile und unterstützte API zur Verfügung zu stellen, die verwendet werden kann, ohne befürchten zu müssen, Anwendungen aufgrund von API-Änderungen im nächsten GTK alle sechs Monate neu schreiben zu müssen Zweig.

Zu den bemerkenswertesten Verbesserungen in GTK 4.6 gehören:

  • Die alte OpenGL-basierte Rendering-Engine wurde entfernt und durch die neue NGL-Rendering-Engine ersetzt, die seit GTK 4.2 standardmäßig bereitgestellt wird und eine bessere Leistung bietet. NGL wurde in GL umbenannt. Der Code zum Laden von Texturen wurde neu geschrieben, die Unterstützung für Bildformate und Farbräume wurde verbessert.
  • Der Code zur Berechnung der Elementgrößen und des Widget-Layouts wurde erheblich überarbeitet. Bisher basierten die Eigenschaften GtkWidget::halign und GtkWidget::valign beim Platzieren von Elementen auf der Standard-Widgetgröße, was bei Angabe nur einer Größe im Flächenfüllmodus dazu führen konnte, dass das Element zusätzlichen Platz einnahm. GTK 4.6 führt die Möglichkeit ein, fehlende Größen relativ zueinander zu messen (wenn beispielsweise eine Breite angegeben wird, kann bei der Platzierung die verfügbare Höhe berücksichtigt werden), sodass Widgets dünner sein können, ohne unnötigen Platz zu beanspruchen.
    GTK 4.6-Grafik-Toolkit verfügbar
    GTK 4.6-Grafik-Toolkit verfügbar
  • Das GtkBox-Widget verfügt über die Möglichkeit, die individuelle Größe untergeordneter Elemente zu berechnen. Während zuvor der Speicherplatz gleichmäßig auf die untergeordneten Widgets basierend auf deren Standardgröße verteilt wurde, berücksichtigt GTK 4.6 bei der Ausgabe nun die tatsächliche Größe der untergeordneten Widgets.
  • Das GtkLabel-Widget bietet Unterstützung für den Textumbruch in einer beliebigen Anzahl von Zeilen, sodass Sie schmale Beschriftungen erstellen können, die den verfügbaren vertikalen Platz beanspruchen.
  • Die GtkWindow-Klasse hat die Möglichkeit hinzugefügt, die Mindestgröße an das Seitenverhältnis anzupassen, sodass Sie die Größe des Fensters beliebig ändern können, ohne befürchten zu müssen, dass es zu klein wird. Eigenschaft „Window.titlebar“ hinzugefügt.
  • Es wurde eine neue Warnung zu Größenkonflikten hinzugefügt, wenn das Widget eine falsche Größe zurückgibt. Gtk-CRITICAL **: 00:48:33.319: gtk_widget_measure: Behauptung „for_size >= minimale Gegengröße“ fehlgeschlagen: 23 >= 42
  • Das GtkTextView-Widget unterstützt jetzt rechtsbündige oder zentrierte Tabulatoren. Unterstützung für Textkonvertierung und Überlegungen zur Zeilenhöhe hinzugefügt. Verbesserter Scrollvorgang zum angegebenen Label. Verbesserte Handhabung des Rückgängigmachens von Änderungen. Es wurden Probleme beim Einfügen von Text aus der Zwischenablage und bei der Auswahl, wo die Emoji-Einfügeschnittstelle angezeigt werden soll, behoben.
  • Das GtkMenuButton-Widget bietet die Möglichkeit, eigene untergeordnete Elemente zu definieren.
  • Die Vorkompilierung von Vorlagen wurde in GtkBuilder beschleunigt.
  • Aktivierungssignal zum Aktivieren der GtkComboBox- und GtkDropDown-Widgets hinzugefügt.
  • Dem GtkDropDown-Widget wurde die Eigenschaft „show-arrow“ hinzugefügt, um zu steuern, ob der Pfeil angezeigt wird.
    GTK 4.6-Grafik-Toolkit verfügbar
  • Use-markup-Attribut zu GtkPopoverMenu hinzugefügt, um Pango-Markup im Menütext zu verwenden.
  • Das Stilsystem unterstützt die CSS-Eigenschaften „font-variant-caps“ zur Darstellung kleiner Großbuchstaben und „text-transform“ zur Texttransformation.
  • GtkSymbolicPaintable-Schnittstelle hinzugefügt, um die Farbe von Symbolsymbolen zu steuern.
  • Der Inspektionsoberfläche wurde Unterstützung für die Verfolgung von Drag-and-Drop-Vorgängen hinzugefügt, das aktuelle Eingabemodul wurde angezeigt, ein Inhaltsbetrachter für die Zwischenablage wurde hinzugefügt, ein Diagramm zur Visualisierung von gtk_widget_measure() wurde implementiert und die Möglichkeit, Ereignisse zu protokollieren wurde zur Verfügung gestellt. Unterstützung für den Drag-and-Drop-Modus zum Dienstprogramm gtk4-node-editor hinzugefügt.
  • Für Wayland wurde eine Einstellung implementiert, um den Hochkontrastmodus zu aktivieren. Unterstützung für das Protokoll wl_seat v7 hinzugefügt.
  • Die Einstellung „gtk-hint-font-metrics“ wurde hinzugefügt, um die Textwiedergabe näher an das GTK3-Verhalten heranzuführen.
  • Für X11-basierte Systeme wurde Unterstützung für Touchpad-Steuerungsgesten (bei Verwendung von XInput 2.4) hinzugefügt und das Verhalten beim Ziehen des Fenstertitels verbessert.
  • Die GDK-Bibliothek, die eine Schicht zwischen GTK und dem Grafiksubsystem bereitstellt, verfügt über eine verbesserte Prüfung für OpenGL- und OpenGL ES-Versionen. Unterstützung für den HSL-Farbraum hinzugefügt. Beim Laden von Texturen und der Verarbeitung von Bildformaten sind die Bibliotheken libpng, libjpeg und libtiff direkt beteiligt. Der EGL-Initialisierungscode wurde auf die Frontend-Seite verschoben. Neue APIs 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 „master“-Zweig im Git-Repository wurde in „main“ umbenannt.

Source: opennet.ru

Kommentar hinzufügen