Dostępny zestaw narzędzi graficznych GTK 4.6

Po czterech miesiącach prac opublikowano wieloplatformowy zestaw narzędzi do tworzenia graficznego interfejsu użytkownika - GTK 4.6.0. GTK 4 jest opracowywane w ramach nowego procesu rozwojowego, który ma na celu zapewnienie twórcom aplikacji stabilnego i wspieranego API na kilka lat, z którego można korzystać bez obawy konieczności przepisywania aplikacji co sześć miesięcy ze względu na zmiany API w następnym GTK oddział.

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 renderującym NGL, dostarczanym domyślnie od GTK 4.2, który zapewnia lepszą wydajność. NGL przemianowano na GL. Przepisano kod ładowania tekstur, poprawiono obsługę formatów obrazów i przestrzeni kolorów.
  • Znacząco przerobiono kod związany z obliczaniem rozmiarów elementów i układu widżetu. Poprzednio właściwości GtkWidget::halign i GtkWidget::valign opierały się na domyślnym rozmiarze widgetu podczas umieszczania elementów, co w przypadku określenia tylko jednego rozmiaru w trybie wypełniania obszaru mogło spowodować zajęcie przez element dodatkowej przestrzeni. GTK 4.6 wprowadza możliwość pomiaru brakujących rozmiarów względem siebie (na przykład, jeśli określona jest szerokość, rozmieszczenie może uwzględniać dostępną wysokość), dzięki czemu widżety mogą być cieńsze bez zajmowania niepotrzebnego miejsca.
    Dostępny zestaw narzędzi graficznych GTK 4.6
    Dostępny zestaw narzędzi graficznych GTK 4.6
  • Widżet GtkBox posiada możliwość obliczenia indywidualnego rozmiaru elementów potomnych. Podczas gdy wcześniej przestrzeń była równomiernie rozdzielana pomiędzy widżety podrzędne w oparciu o ich domyślny rozmiar, GTK 4.6 uwzględnia teraz rzeczywisty rozmiar widżetów podrzędnych podczas tworzenia wyników.
  • Widget GtkLabel obsługuje zawijanie tekstu w dowolnej liczbie linii, co pozwala na tworzenie wąskich etykiet zajmujących dostępną przestrzeń pionową.
  • Klasa GtkWindow dodała możliwość dostosowania minimalnej wielkości do proporcji, co pozwala na dowolną zmianę rozmiaru okna bez obawy, że będzie za małe. Dodano właściwość „Window.titlebar”.
  • Dodano nowe ostrzeżenie o niedopasowaniu rozmiaru, jeśli widżet zwróci nieprawidłowy rozmiar. Gtk-CRITICAL **: 00:48:33.319: gtk_widget_measure: asercja „for_size >= minimalny rozmiar przeciwny” nie powiodła się: 23 >= 42
  • Widżet GtkTextView obsługuje teraz karty wyrównane do prawej lub do środka. Dodano obsługę konwersji tekstu i kwestii wysokości linii. Poprawione przewijanie do określonej operacji na etykiecie. Poprawiona obsługa cofania zmian. Rozwiązano problemy podczas wklejania tekstu ze schowka i wybierania miejsca wyświetlania interfejsu wklejania emoji.
  • Widżet GtkMenuButton umożliwia definiowanie własnych elementów podrzędnych.
  • Prekompilacja szablonu została przyspieszona w GtkBuilder.
  • Dodano sygnał aktywujący do aktywacji widżetów GtkComboBox i GtkDropDown.
  • Do widżetu GtkDropDown dodano właściwość show-arrow, aby kontrolować wyświetlanie strzałki.
    Dostępny zestaw narzędzi graficznych GTK 4.6
  • Dodano atrybut znacznika użycia do GtkPopoverMenu, aby używać znaczników Pango w tekście menu.
  • System stylów obsługuje właściwości CSS Font-variant-caps do wyświetlania małych wielkich liter i transformacji tekstu do przekształcania tekstu.
  • Dodano interfejs GtkSymbolicPaintable do kontrolowania koloru ikon symboli.
  • Do interfejsu inspekcji dodano obsługę śledzenia operacji „przeciągnij i upuść”, pokazano bieżący moduł wejściowy, dodano przeglądarkę zawartości schowka, zaimplementowano wykres do wizualizacji gtk_widget_measure() oraz możliwość rejestrowania zdarzeń dostarczono. Dodano obsługę trybu „przeciągnij i upuść” do narzędzia edytora gtk4-node.
  • W przypadku Waylanda zaimplementowano ustawienie umożliwiające aktywację trybu wysokiego kontrastu. Dodano obsługę protokołu wl_seat v7.
  • Dodano ustawienie gtk-hint-font-metrics, aby przybliżyć renderowanie tekstu do zachowania GTK3.
  • W przypadku systemów opartych na X11 dodano obsługę gestów sterujących touchpadem (podczas korzystania z XInput 2.4) i ulepszono zachowanie przeciągania tytułu okna.
  • Biblioteka GDK, która zapewnia warstwę pomiędzy GTK a podsystemem graficznym, usprawniła sprawdzanie wersji OpenGL i OpenGL ES. Dodano obsługę przestrzeni kolorów HSL. Podczas ładowania tekstur i przetwarzania formatów obrazów bezpośrednio zaangażowane są biblioteki libpng, libjpeg i libtiff. Kod inicjujący EGL został przeniesiony 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.
  • Nazwa gałęzi „master” w repozytorium Git została zmieniona na „main”.

Źródło: opennet.ru

Dodaj komentarz