Dostępny graficzny zestaw narzędzi GTK 4.6

Po czterech miesiącach pracy opublikowano wydanie wieloplatformowego zestawu narzędzi do tworzenia graficznego interfejsu użytkownika — GTK 4.6.0. GTK 4 rozwija się w ramach nowego procesu tworzenia, który ma na celu zapewnienie programistom aplikacji stabilnego i wspieranego przez wiele lat API, które można używać bez obawy, że co sześć miesięcy trzeba będzie przerabiać aplikacje z powodu zmiany API w kolejnej wersji GTK.

Wśród najbardziej zauważalnych ulepszeń w GTK 4.6:

  • Usunięto stary silnik renderujący oparty na OpenGL, zastąpiony nowym silnikiem NGL, dostarczanym domyślnie od GTK 4.2, który zapewnia wyższą wydajność. NGL został przemianowany na GL. Przepisano kod ładowania tekstur, poprawiono wsparcie dla formatów obrazów i przestrzeni kolorów.
  • Zdecydowanie przebudowano kod związany z obliczaniem rozmiarów elementów i układem widżetów. Wcześniej właściwości GtkWidget::halign i GtkWidget::valign przy umieszczaniu elementów opierały się na domyślnych rozmiarach widżetów, co przy wskazaniu tylko jednego rozmiaru w trybie wypełnienia obszaru mogło prowadzić do zajmowania przez element dodatkowej przestrzeni. W GTK 4.6 wdrożono możliwość względnego pomiaru brakującego rozmiaru (na przykład jeśli podano szerokość, przy umieszczaniu może być brana pod uwagę dostępna wysokość), co pozwala na uczynienie widżetów bardziej smukłymi bez zajmowania zbędnej przestrzeni.
    Dostępny graficzny zestaw narzędzi GTK 4.6
    Dostępny graficzny zestaw narzędzi GTK 4.6
  • W widżecie GtkBox wprowadzono możliwość obliczania indywidualnych rozmiarów elementów podrzędnych. Jeśli wcześniej przestrzeń była równomiernie rozdzielana pomiędzy widżetami podrzędnymi na podstawie ich domyślnych rozmiarów, to w GTK 4.6 przy wyświetlaniu uwzględniono rzeczywisty rozmiar elementów podrzędnych.
  • W widżecie GtkLabel wprowadzono wsparcie dla łamania tekstu na dowolną liczbę wierszy, co pozwala na tworzenie wąskich etykiet zajmujących dostępne pionowe miejsce.
  • Do klasy GtkWindow dodano możliwość dostosowania minimalnego rozmiaru do współczynnika proporcji, co pozwala na dowolne zmienianie rozmiaru okna, nie obawiając się, że będzie zbyt małe. Dodano właściwość „Window.titlebar.”
  • Dodano nowe ostrzeżenie informujące o niespójności rozmiarów w przypadku zwracania widgetu o nieprawidłowym rozmiarze. Gtk-CRITICAL **: 00:48:33.319: gtk_widget_measure: asercja 'for_size >= minimum opposite size' nie powiodła się: 23 >= 42
  • W widżecie GtkTextView dodano obsługę tabulacji, wyrównanej do prawej krawędzi lub do centrum. Dodano wsparcie dla konwersji tekstu i uwzględnienia wysokości wiersza. Udoskonalono operację przewijania do wskazanej etykiety. Udoskonalono obsługę cofania zmian. Rozwiązano problemy podczas wklejania tekstu z schowka oraz z wyborem miejsca do wyświetlenia interfejsu wklejania Emoji.
  • W widżecie GtkMenuButton dodano możliwość definiowania własnych elementów podrzędnych.
  • W GtkBuilder przyspieszono prekompilację szablonów.
  • Dodano sygnał activate do aktywacji widżetów GtkComboBox i GtkDropDown.
  • W widżecie GtkDropDown dodano właściwość show-arrow do kontrolowania wyświetlania strzałki.
    Dostępny graficzny zestaw narzędzi GTK 4.6
  • W GtkPopoverMenu dodano atrybut use-markup do użycia Pango-formatowania w tekście menu.
  • W systemie stylów zaimplementowano wsparcie dla właściwości CSS font-variant-caps do wyświetlania małych wielkich liter i text-transform do transformacji tekstu.
  • Dodano interfejs GtkSymbolicPaintable do zarządzania kolorem symbolicznych ikon.
  • Do interfejsu inspekcji dodano wsparcie dla śledzenia operacji Drag-and-Drop, zapewniono wyświetlanie aktualnego modułu wejściowego, dodano przeglądarkę treści schowka, wdrożono wykres do wizualizacji gtk_widget_measure(), zapewniono możliwość rejestrowania zdarzeń. W narzędziu gtk4-node-editor dodano wsparcie dla trybu Drag-and-Drop.
  • Dla Wayland wdrożono ustawienia do aktywacji trybu wysokiego kontrastu (high-contrast). Dodano wsparcie dla protokołu wl_seat v7.
  • Dodano ustawienie gtk-hint-font-metrics do zbliżenia renderowania tekstu do zachowania GTK3.
  • Dla systemów opartych na X11 dodano wsparcie dla gestów kontrolnych na touchpadach (przy użyciu XInput 2.4) oraz poprawiono zachowanie przeciągania okien za nagłówek.
  • W bibliotece GDK, która zapewnia warstwę między GTK a systemem graficznym, poprawiono sprawdzanie wersji OpenGL i OpenGL ES. Dodano wsparcie dla przestrzeni kolorów HSL. Przy ładowaniu tekstur i przetwarzaniu formatów obrazów bezpośrednio wykorzystywane są biblioteki libpng, libjpeg i libtiff. Kod inicjalizacji EGL przeniesiono na stronę frontendową. Dodano nowe 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 solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster