Dostępny zestaw narzędzi GTK 4.16

Po sześciu miesiącach prac opublikowano wydanie wieloplatformowego zestawu narzędzi do tworzenia graficznego interfejsu użytkownika — GTK 4.16.0. GTK 4 rozwija się w ramach procesu, który stara się zapewnić programistom aplikacji stabilne i wspierane przez kilka lat API, które można wykorzystać bez obaw, że co pół roku trzeba będzie przekształcać aplikacje z powodu zmiany API w kolejnej gałęzi GTK.

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

  • Dodano opcję gtk-font-rendering, oferującą elastyczne, wysokopoziomowe możliwości zarządzania renderowaniem czcionek. Aby używać niskopoziomowych ustawień czcionek, należy ustawić parametr gtk-font-rendering na wartość 'manual'.
  • W bibliotece GSK (GTK Scene Kit), która zapewnia możliwości renderowania scen graficznych przez OpenGL i Vulkan, domyślnie do renderowania w środowiskach opartych na protokole Wayland wykorzystywany jest silnik renderujący 'vulkan', bezpośrednio korzystający z API graficznego Vulkan. W pozostałych przypadkach nadal używany jest silnik renderujący 'ngl', oferujący implementację OpenGL, działającą na bazie API Vulkan. Aby zmienić silnik, można użyć zmiennej środowiskowej 'GSK_RENDERER'. Ponieważ silniki 'vulkan' i 'ngl' różnie współdziałają z grafikami sterownika, dla stabilnej pracy z nimi zaleca się korzystanie z najnowszej wersji Mesa 24.2.
  • Wśród innych zmian w bibliotece GSK:
    • Wdrożono technikę optymalizacji 'occlusion culling', wykluczającą renderowanie obiektów ukrytych za innymi nieprzezroczystymi obiektami lub znajdującymi się poza polem widzenia.
    • W procesie kompozycji uwzględniono informacje o przestrzeni kolorów.
    • Ulepszono buforowanie glifów i tekstur.
    • Wdrożono wsparcie dla nakładania płytek (tiling) dużych tekstur, aby stworzyć bezszwową powierzchnię przez powtarzanie tekstury.
    • Ulepszono renderowanie cieni.
    • Dodano możliwość wykorzystania sprzętowego przyspieszenia do przetwarzania przekształconych tekstur, na przykład do wyświetlania obrotowych treści na ekranie.
    • Ulepszono wykorzystanie mechanizmów sprzętowego przyspieszenia na systemach z menedżerem kompozycji kwin.
    • Dodano debugowanie opcji «GDK_DEBUG=linear» w celu włączenia trybu liniowego kompozycji. Ulepszono rejestrowanie logów przy użyciu opcji «GDK_DEBUG=offload» i «GSK_DEBUG=renderer».
  • W środowiskach opartych na protokole Wayland i menedżerze kompozycji kwin zrealizowano możliwość korzystania z rozszerzenia protokołu (color-management) do zarządzania kolorem. Przy wyświetlaniu przymocowanych dialogów wykorzystano rozszerzenie Wayland xdg-dialog. W kompozycji użyto szóstą wersję obiektu wl_compositor. Zezwolono na użycie dmabuf w procesie sprzętowego przyspieszania przetwarzania tekstur dla OpenGL.
  • Ulepszenia w bibliotece GDK, która zapewnia warstwę między GTK a systemem graficznym:
    • Znacząco rozszerzono możliwości pracy z przestrzeniami kolorów. Zapewniono wsparcie dla przestrzeni kolorów srgb, srgb-linear, rec2100-pq i rec2100-linear oraz przygotowano się do realizacji wsparcia dla przestrzeni kolorów HDR. Zaproponowano obiekt GdkColorState, który dostarcza informacje o interpretacji kolorów, które można wykorzystać do konwersji jednej przestrzeni kolorów na inną. Do tworzenia obiektów zawierających informacje o przestrzeniach kolorów dodano obiekt Gdk.CicpParams. Do obiektu GdkTexture oraz obiektów tworzenia, ładowania i konwersji tekstur dodano możliwość korzystania z przestrzeni kolorów.
    • Zrealizowano nowe API do pracy z kursorem, oparte na wywołaniach zwrotnych.
    • Zrealizowano możliwość wykonania operacji MIP-tektury (MipMap, tworzenie pomniejszonych wersji tekstur używanych przy oddaleniu obiektu od kamery) za pomocą CPU.
    • Do konwersji kolorów i MIP-tektury wykorzystano pulę wątków (thread pool).
    • Dodano wsparcie dla zmiennej środowiskowej XDG_ACTIVATION_TOKEN z tokenem aktywacyjnym dla protokołu xdg-activation-v1, dzięki czemu jedna aplikacja może przełączyć fokus na inną.
    • Dodano klasę GdkMemoryTextureBuilder, która pozwala tworzyć obiekty z teksturami (GdkTexture) z danych przechowywanych w pamięci operacyjnej.
  • Rozszerzono możliwości dotyczące tworzenia motywów opartych na CSS. Dodano wsparcie dla zmiennych i właściwości użytkownika. Wdrożono funkcje CSS: color(), oklab(), color-mix(), a także funkcje matematyczne. Umożliwiono korzystanie z relatywnego określania kolorów (zmiany absolutnych kolorów za pomocą funkcji) oraz ustawianie poziomu przezroczystości w procentach. Przy pracy z kolorami, ramkami, cieniami i tekstem uwzględniono informacje o przestrzeniach kolorystycznych.
  • Do narzędzia rendernode-tool dodano polecenia „extract” do pobierania danych z URL oraz „image” do manipulacji teksturami. Zrealizowano możliwość generowania plików w formacie PDF.
  • W interfejsie gtk4-node-editor dodano operację ‘Wklej jako węzeł’.
  • W widżecie wyboru plików GtkFileChooserWidget dodano wsparcie dla kombinacji Ctrl-Shift-N do tworzenia katalogów.
  • W widżecie tworzenia okienek kontekstowych GtkPopover poprawiono obsługę zmiany rozmiaru i pozycji.
  • W widżecie GtkGraphicsOffload, używanym do bezpośredniego przesyłania treści, takich jak wideo, przez menedżera kompozycji z pominięciem renderowania GSK, dodano właściwość „black-background” do renderowania czarnego tła.
    Dostępny zestaw narzędzi GTK 4.16
  • W widżecie GtkGLArea, przeznaczonym do renderowania z użyciem OpenGL, dodano możliwość tworzenia tekstur w dmabuf, co pozwala na użycie widżetu GtkGraphicsOffload do bezpośredniego wyjścia. serwerZwiększono efektywność interakcji z kompozytorem. serwerem.
    Dostępny zestaw narzędzi GTK 4.16
  • W widżecie GtkTextView dodano wsparcie dla wyświetlania tekstu z cieniem oraz zrealizowano możliwość korzystania z powiadomień GtkTextBufferCommitNotify.
  • W widżecie GtkCheckButton dodano wsparcie dla grupowego definiowania stylów przycisków.
  • Rozszerzono możliwości debugowania. W interfejsie inspekcji dodano informacje o przestrzeniach kolorystycznych oraz dane o rozdzielczości monitora. Zmienna środowiskowa GDK_DEBUG została podzielona na GDK_DEBUG i GDK_DISABLE. Dodano tryby GDK_DISABLE=color-mgmt i GDK_DISABLE=offload. Dodano tryb GTK_DEBUG=css do wyświetlania ostrzeżeń przy używaniu przestarzałych możliwości CSS. Dodano skróty klawiszowe Super-r do zapisywania logu zdarzeń i Super-c do robienia zrzutu ekranu.
  • Podwyższono wymagania dotyczące zależności i środowiska budowania. Teraz do kompilacji wymagany jest kompilator obsługujący C11 oraz co najmniej wersje gstreamer 1.24, pango 1.52 i cairo 1.18. Wsparcie dla przestarzałych trybów budowania gtk_doc zostało zakończone (należy używać documentation), update_screenshots (-> screenshots), demo-profile (-> profile) i demos (-> build-demos).
  • Dla macOS 10.15+ wprowadzono interfejs do określania koloru pikseli na ekranie (color picker).
  • Dla Windows dodano tryb inkrementalnego renderingu z wykorzystaniem API WGL.

Ź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