Dostępny zestaw narzędzi graficznych GTK 4.8

Po ośmiu miesiącach prac programistycznych opublikowano wersję wieloplatformowego zestawu narzędzi do tworzenia interfejsów graficznych — GTK 4.8.0. GTK 4 rozwija się w ramach nowego procesu tworzenia, który ma na celu dostarczenie programistom aplikacji stabilnego i wspieranego przez wiele lat API, którego można używać bez obaw, że co pół roku trzeba będzie przerabiać aplikacje z powodu zmiany API w kolejnej wersji GTK.

Wśród najbardziej zauważalnych usprawnień w GTK 4.8:

  • Zmieniono styl interfejsu wyboru kolorów (GtkColorChooser).
  • W interfejsie wyboru czcionek (GtkFontChooser) poprawiono wsparcie dla funkcji formatu OpenType.
  • W silniku CSS zoptymalizowano regrouping elementów powiązanych z jednym rodzicem i zezwolono na użycie wartości niecałkowitych przy określaniu wielkości odstępu między literami.
  • Dane Emoji zaktualizowano do zestawu CLDR 40 (Unicode 14). Dodano wsparcie dla nowych lokalizacji.
  • W motywie graficznym zaktualizowano ikony i poprawiono czytelność zaznaczonych etykiet tekstowych.
  • W bibliotece GDK, która zapewnia warstwę między GTK a systemem graficznym, zoptymalizowano konwersję formatów pikselowych. W systemach z sterownikami NVIDIA aktywowane jest rozszerzenie EGL — EGL_KHR_swap_buffers_with_damage.
  • W bibliotece GSK (GTK Scene Kit), która zapewnia możliwości renderowania scen graficznych poprzez OpenGL i Vulkan, wdrożono wsparcie dla przetwarzania dużych widocznych obszarów (viewport-ów). Zaproponowano biblioteki do renderowania glifów z użyciem tekstur.
  • Dla Wayland zaimplementowano wsparcie dla protokołu „xdg-activation”, który umożliwia przenoszenie fokusu między różnymi powierzchniami pierwszego poziomu (na przykład za pomocą xdg-activation jedna aplikacja może przenieść fokus na drugą).
  • W widżecie GtkTextView zmniejszono liczbę sytuacji prowadzących do ponownych przerysowań oraz wdrożono funkcję GetCharacterExtents do określenia obszaru z glifem, który definiuje znak w tekście (funkcja ta jest użyteczna w narzędziach dla osób z ograniczeniami).
  • W klasie GtkViewport, stosowanej do organizowania przewijania w widżetach, domyślnie włączony jest tryb „scroll-to-focus”, w którym zawartość automatycznie przewija się, aby utrzymać w widoku element, na którym znajduje się fokus wprowadzania.
  • W widżecie GtkSearchEntry, który wyświetla obszar do wprowadzania zapytania wyszukiwania, wprowadzono możliwość ustawienia opóźnienia między ostatnim naciśnięciem klawisza a wysłaniem sygnału o zmianie zawartości (GtkSearchEntry::search-changed).
  • W widżecie GtkCheckButton dodano możliwość przypisania własnego widżetu podrzędnego z przyciskiem.
  • W widżecie GtkPicture dodano właściwość „content-fit”, aby dostosować zawartość do określonego rozmiaru obszaru.
  • W widżecie GtkColumnView przeprowadzono optymalizację wydajności przewijania.
  • W widżecie GtkTreeStore zezwolono na pobieranie danych drzewiastych z plików w formacie ui.
  • W klasie GtkInscription, odpowiedzialnej za wyświetlanie tekstu w określonym obszarze, dodano nowy widżet do wyświetlania list. Dodano aplikację demonstracyjną z przykładem użycia GtkInscription.
  • W widżecie GtkTreePopover dodano wsparcie dla przewijania.
  • W widżecie GtkLabel dodano wsparcie dla tabulatorów i umożliwiono aktywację etykiet przez naciśnięcie przypisanych do etykiety symboli na klawiaturze.
  • W widżecie GtkListView zaimplementowano wsparcie dla właściwości „::n-items” i „::item-type”.
  • W systemie wejścia wprowadzono wsparcie dla obsługi parametrów rozmiarów (GDK_SCROLL_UNIT_WHEEL, GDK_SCROLL_UNIT_SURFACE) przewijania.
  • Dla platformy macOS dodano wsparcie dla trybu pełnoekranowego i odtwarzania wideo z użyciem OpenGL. Ulepszono wykrywanie monitorów, pracę w konfiguracjach wielomonitorowych, rozmieszczanie okien oraz wybór rozmiaru dla okna dialogowego pracy z plikami. Do renderowania wykorzystano CALayer i IOSurface. Zapewniono uruchamianie aplikacji w tle.
  • Na platformie Windows poprawiono rozmieszczanie okien na ekranach HiDPI, dodano interfejs określania koloru, zrealizowano wsparcie dla zdarzeń przewijania z wysoką rozdzielczością, poprawiono wsparcie dla touchpadów.
  • Do narzędzia gtk4-builder-tool dodano polecenie screenshot do tworzenia zrzutów ekranu, które wykorzystuje się podczas generowania zrzutów ekranu dla dokumentacji.
  • Zapewniono instalację narzędzia gtk4-node-editor.
  • Rozszerzone możliwości debuggera. Zaimplementowano wyświetlanie dodatkowych danych aplikacji oraz umożliwiono przeglądanie właściwości PangoAttrList podczas inspekcji. Umożliwiono inspekcję inspektorów. Dodano wsparcie dla trybu „GTK_DEBUG=invert-text-dir”. Zamiast zmiennej środowiskowej GTK_USE_PORTAL zaproponowano tryb „GDK_DEBUG=portals”. Zwiększono responsywność interfejsu inspekcji.
  • Do backendu ffmpeg dodano wsparcie dla dźwięku.
  • Limit pamięci w loaderze obrazów JPEG zwiększono do 300 MB.

Ź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