Dostępny zestaw narzędzi graficznych GTK 4.6

Po czterech miesiącach rozwoju wydano wieloplatformowy zestaw narzędzi GUI GTK 4.6.0. GTK 4 jest rozwijany w ramach nowego procesu rozwoju, którego celem jest zapewnienie programistom aplikacji stabilnego i obsługiwanego API na kilka lat, z którego mogą korzystać bez konieczności przerabiania swoich aplikacji co sześć miesięcy z powodu zmian API w kolejnej gałęzi GTK.

Do najbardziej znaczących ulepszeń w GTK 4.6 należą:

  • Stary silnik renderujący oparty na OpenGL został usunięty i zastąpiony nowym silnikiem NGL, który jest domyślny od GTK 4.2 i zapewnia lepszą wydajność. NGL został przemianowany na GL. Kod ładowania tekstur został przepisany, a obsługa formatów obrazów i przestrzeni kolorów została ulepszona.
  • Kod związany z obliczaniem rozmiarów elementów i rozmieszczaniem widżetów został znacząco przerobiony. Wcześniej właściwości GtkWidget::halign i GtkWidget::valign były oparte na domyślnym rozmiarze widżetu podczas umieszczania elementów, co przy określeniu tylko jednego rozmiaru w trybie wypełniania mogło prowadzić do zajmowania przez element dodatkowej przestrzeni. W GTK 4.6 zaimplementowano możliwość pomiaru brakującego rozmiaru względem siebie (na przykład, jeśli określono szerokość, dostępna wysokość może zostać uwzględniona podczas umieszczania), co pozwala na tworzenie cieńszych widżetów bez zajmowania dodatkowej przestrzeni.
    Dostępny zestaw narzędzi graficznych GTK 4.6
    Dostępny zestaw narzędzi graficznych GTK 4.6
  • Widżet GtkBox ma możliwość obliczenia indywidualnego rozmiaru elementów podrzędnych. Jeśli wcześniej przestrzeń była rozdzielana równo między widżety podrzędne na podstawie ich domyślnego rozmiaru, to w GTK 4.6 rzeczywisty rozmiar elementów podrzędnych jest brany pod uwagę podczas wyprowadzania.
  • Widżet GtkLabel obsługuje zawijanie tekstu wzdłuż dowolnej liczby wierszy, co pozwala na tworzenie wąskich etykiet zajmujących dostępną przestrzeń w pionie.
  • Klasa GtkWindow ma teraz możliwość dostosowania minimalnego rozmiaru do współczynnika proporcji, co pozwala na dowolną zmianę rozmiaru okna bez obaw, że będzie za małe. Dodano właściwość „Window.titlebar”.
  • Dodano nowe ostrzeżenie informujące o niezgodności rozmiaru, jeśli widżet zwróci nieprawidłowy rozmiar. Gtk-CRITICAL **: 00:48:33.319: gtk_widget_measure: assertion 'for_size >= minimum opposite size' failed: 23 >= 42
  • Widżet GtkTextView obsługuje teraz wyrównane do prawej i wyśrodkowane zakładki. Dodano obsługę transformacji tekstu i świadomości wysokości wiersza. Ulepszone przewijanie do określonej etykiety. Ulepszona obsługa cofania zmian. Naprawiono problemy z wklejaniem tekstu ze schowka i z wyborem miejsca wyświetlania interfejsu wstawiania Emoji.
  • Widżet GtkMenuButton umożliwia definiowanie własnych elementów podrzędnych.
  • Przyspieszono wstępną kompilację szablonów w GtkBuilder.
  • Dodano sygnał aktywacji służący do aktywacji widżetów GtkComboBox i GtkDropDown.
  • Do widżetu GtkDropDown dodano właściwość show-arrow, która kontroluje, czy strzałka jest wyświetlana.
    Dostępny zestaw narzędzi graficznych GTK 4.6
  • Dodano atrybut use-markup do GtkPopoverMenu w celu wykorzystania znaczników Pango w tekście menu.
  • System stylów obsługuje teraz właściwości CSS font-variant-caps służące do wyświetlania małych liter i text-transform służące do przekształcania tekstu.
  • Dodano interfejs GtkSymbolicPaintable do zarządzania kolorami ikon symbolicznych.
  • Interfejs inspekcji obsługuje teraz operacje Drag-and-Drop, wyświetla bieżący moduł wejściowy, dodaje przeglądarkę zawartości schowka, implementuje wykres do wizualizacji gtk_widget_measure() i zapewnia możliwość rejestrowania zdarzeń. Narzędzie gtk4-node-editor obsługuje teraz tryb Drag-and-Drop.
  • W przypadku Wayland zaimplementowano ustawienie umożliwiające aktywację trybu wysokiego kontrastu. Dodano obsługę protokołu wl_seat v7.
  • Dodano ustawienie gtk-hint-font-metrics, aby renderowanie tekstu było bliższe zachowaniu GTK3.
  • W systemach opartych na architekturze X11 dodano obsługę gestów sterowania za pomocą touchpada (przy użyciu XInput 2.4) i ulepszono działanie funkcji przeciągania okien za pasek tytułu.
  • Biblioteka GDK, która zapewnia warstwę między GTK a podsystemem graficznym, ulepszyła sprawdzanie wersji OpenGL i OpenGL ES. Dodano obsługę przestrzeni kolorów HSL. Biblioteki libpng, libjpeg i libtiff są bezpośrednio używane podczas ładowania tekstur i obsługi formatów obrazów. Kod inicjalizacji EGL został przeniesiony do frontendu. Dodano nowe interfejsy API: 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 i gdk_display_create_gl_context.
  • Gałąź „master” w repozytorium Git została przemianowana na „main”.

Źródło: opennet.ru

Kup niezawodny hosting dla stron z ochroną DDoS, serwery VPS VDS 🔥 Kup niezawodny hosting stron internetowych z ochroną DDoS, serwery VPS VDS | ProHoster