GTK 4.0 zawiera ulepszenia dotyczące tworzenia interfejsów graficznych, przesyłania danych i nie tylko

Kilka dni temu zapowiedziano wydanie nowej wersji GTK 4.0, wersja, która była rozwijana przez kilka miesięcy i staje się nową stabilną gałęzią projektu. Nowa wersja prezentuje bardzo ciekawe funkcje, z których możemy wyróżnić ulepszenia w odtwarzaniu multimediów.

GTK to zestaw bibliotek oprogramowania do tworzenia interfejsów graficznychGTK został pierwotnie opracowany na potrzeby oprogramowania do przetwarzania obrazu GIMP. Obecnie jego zakres nie jest już ograniczony tylko do GIMP, ale jest używany w innych projektach. Na przykład GTK jest sercem środowiska modelu obiektowego sieci GNU (GNOME), ale może być również używany do pisania aplikacji dla innych środowisk Linux, a także aplikacji dla Microsoft Windows i Apple macOS.

„GTK 4.0 to wynik ciężkiej pracy małego zespołu oddanych programistów. Będziemy mieć osobny artykuł na temat statystyk, ale krótkie podsumowanie jest takie, że od wersji 3.89.1 z listopada 2016 r. Dodaliśmy ponad 18,000 20 zatwierdzeń i wydaliśmy ponad XNUMX wydań programistycznych.

„Gratulacje i wielkie podziękowania dla wszystkich, którzy brali udział w tym wysiłku, aw szczególności dla Benjamina, Emmanuele, Timma, Carlosa, Jonasa i Christiana! «

O nowej wersji GTK 4.0

GTK 4.0 wprowadza nowe widżety i zmiany w istniejących elementach, wbudowana obsługa odtwarzania multimediów, ulepszenia akceleracji GPU, takie jak praca nad nowy silnik renderujący Vulkan i lepsza kompatybilność z macOS. Możemy również zauważyć ulepszenia w transferze danych, przeprojektowane shadery, przewijanie przyspieszane przez GPU, ulepszenia renderowania OpenGL poza zadaniem Vulkan, przywrócenie zadania w HTMl5 Broadway, lepszą obsługę Windows itp.

Przyjrzyjmy się bliżej niektórym punktom.

Zarządzanie mediami w GT4

  • GTK 4 pozwoli aplikacjom GTK na łatwiejsze wyświetlanie animacji; czy to animacja programowa, archiwum webm czy transmisja na żywo.
  • GTK 4 wprowadza nowe API o nazwie GdkPaintable, które zostało zainspirowane wysiłkiem CSS Houdini. Jest bardzo elastyczny (wszystko, co możesz narysować, może być GdkPaintable). Zawartość można zmieniać (np. Svg) lub zmieniać w czasie (np. Webm).
  • Jeśli masz bardziej wyspecjalizowane potrzeby, wszystko, co można przechwycić w GtkSnapshot, można przekonwertować na rysunek za pomocą funkcji gtk_snapshot_to_paintable (). Jeśli tworzysz niestandardowy widżet, który chce narysować obiekt do malowania, jest to bardzo proste. Po prostu wywołaj gdk_paintable_snapshot ().
  • Możesz sterować multimediami za pomocą widżetu GtkVideo.

Transfer danych w GTK4

Tradycyjne metody przekazywania danych Inicjowane przez użytkownika między aplikacjami komputerowymi to schowek lub przeciągnij i upuść. GTK + obsługuje te metody, ale aż do GTK3, interfejsy API, które posiadał zestaw narzędzi do tego typu transferu danych, były dokładnie zamaskowanymi kopiami odpowiednich interfejsów API X11. Nie jest to zbyt zaskakujące, ponieważ całe API GDK zostało wymodelowane w X11. Niestety implementacja obejmuje takie wyniki, jak transfery przyrostowe i konwersje formatu ciągów.

W przypadku GTK4 zespół zdecydował się porzucić to podejście, decydując się na modernizację. Oto koncepcja nowego podejścia:

„Jeśli dane, które aplikacja chce wysłać, nie są ciągiem znaków, prawdopodobnie jest to obiekt, taki jak GFile, GdkTexture lub GdkRGBA. Aplikacja po stronie odbiornika może nie używać GTK lub GLib i dlatego nie jest świadoma tych typów. A nawet jeśli to zrobisz, nie ma możliwości przenoszenia obiektów z jednego procesu do drugiego w jednym kawałku.

„Wewnątrz tego transfer danych polega na wysyłaniu deskryptora pliku z aplikacji źródłowej i aplikacji docelowej poprzez odczyt strumienia bajtów. Protokoły dla schowka i DND używają typów MIME, takich jak text / uri-list, image / png lub application / x-color do identyfikacji formatu strumienia bajtów.

Wysyłanie obiektu obejmuje negocjowanie dwustronnego zgodnego formatu danych, serializowanie obiektu po stronie źródłowej do strumienia bajtów tego formatu, przesyłanie danych i deserializację obiektu po stronie docelowej. «

Ponadto, GTK4 zawiera nowe API.

„Pierwszym interfejsem API, który wprowadziliśmy do obsługi tego typu typów, jest obiekt GdkContentFormats. Może zawierać listę formatów, które mogą być GTypes lub MIME. Używamy obiektów GdkContentFormats do opisu formatów, w których aplikacja może oferować dane, a także formatów, w których aplikacja może otrzymywać dane ”.

źródło: https://blog.gtk.org/


Zostaw swój komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

*

*

  1. Odpowiedzialny za dane: Miguel Ángel Gatón
  2. Cel danych: kontrola spamu, zarządzanie komentarzami.
  3. Legitymacja: Twoja zgoda
  4. Przekazywanie danych: Dane nie będą przekazywane stronom trzecim, z wyjątkiem obowiązku prawnego.
  5. Przechowywanie danych: baza danych hostowana przez Occentus Networks (UE)
  6. Prawa: w dowolnym momencie możesz ograniczyć, odzyskać i usunąć swoje dane.