Drew DeVault, autor środowiska użytkownika Sway, klienta pocztowego Aerc oraz platformy wspólnej pracy SourceHut, zaprezentował język programowania Hare, nad którym pracował wraz ze swoją ekipą.

Wydanie biblioteki SDL 2.0.22 (Simple DirectMedia Layer) ma na celu uproszczenie pisania gier i aplikacji multimedialnych. Biblioteka SDL zapewnia takie funkcje, jak sprzętowo przyspieszony rendering grafiki 2D i 3D, obsługę wejścia, odtwarzanie dźwięku, wyjście 3D przez OpenGL/OpenGL ES/Vulkan oraz wiele innych powiązanych operacji. Biblioteka jest napisana w języku C i jest dystrybuowana na licencji Zlib. Aby korzystać z możliwości SDL w projektach w różnych językach programowania, dostarczane są odpowiednie powiązania.

W nowym wydaniu:

  • Ulepszono wsparcie dla protokołu Wayland. Początkowo planowano przejście na domyślne użycie protokołu Wayland w środowiskach, które jednocześnie wspierają Wayland i X11, jednak z powodu problemów związanych z Wayland w grach i sterownikach NVIDIA, postanowiono wstrzymać tę zmianę (w środowiskach Wayland z komponentem XWayland wyjście odbywa się nadal za pomocą protokołu X11). Aby korzystać z Wayland, przed uruchomieniem aplikacji można ustawić zmienną środowiskową „SDL_VIDEODRIVER=wayland” lub dodać do kodu funkcję ‘SDL_SetHint(SDL_HINT_VIDEODRIVER, „wayland,x11”)’ przed wywołaniem SDL_Init(). Do kompilacji z Wayland wymagana jest co najmniej wersja libwayland-client 1.18.0.
  • Dodano funkcję SDL_RenderGetWindow() do uzyskania okna skojarzonego z rendererem SDL.
  • Dodano zestaw funkcji do manipulacji prostokątnymi obszarami (określenie przynależności punktów, czyszczenie, porównywanie, łączenie itp.), operując na współrzędnych i rozmiarach na podstawie liczb zmiennoprzecinkowych: SDL_PointInFRect(), SDL_FRectEmpty(), SDL_FRectEquals(), SDL_FRectEqualsEpsilon(), SDL_HasIntersectionF(), SDL_IntersectFRect(), SDL_UnionFRect(), SDL_EncloseFPoints() oraz SDL_IntersectFRectAndLine().
  • Dodano funkcję SDL_IsTextInputShown() do sprawdzenia, czy pole wprowadzania tekstu jest wyświetlane.
  • Dodano funkcję SDL_ClearComposition() do czyszczenia pola wprowadzania tekstu bez wyłączania metody wprowadzania (IME).
  • Dodano zdarzenie SDL_TEXTEDITING_EXT do obsługi długich obszarów wprowadzania tekstu oraz wskaźnik SDL_HINT_IME_SUPPORT_EXTENDED_TEXT do włączenia tego zdarzenia.
  • Dodano wskaźnik SDL_HINT_MOUSE_RELATIVE_MODE_CENTER do ograniczenia ruchu myszy tylko do centrum okna zamiast całego okna w trybie względnym.
  • Włączono automatyczne przechwytywanie myszy po naciśnięciu przycisków myszy. Aby to wyłączyć, zaproponowano wskaźnik SDL_HINT_MOUSE_AUTO_CAPTURE.
  • Dodano wsparcie dla SDL_HINT_VIDEO_FOREIGN_WINDOW_OPENGL i SDL_HINT_VIDEO_FOREIGN_WINDOW_VULKAN do przekazywania informacji o użyciu OpenGL lub Vulkan w zewnętrznym oknie.
  • Dodano flagę SDL_HINT_QUIT_ON_LAST_WINDOW_CLOSE do aktywacji zdarzenia SDL_QUIT przy zamykaniu ostatniego okna aplikacji.
  • Dodano flagę SDL_HINT_JOYSTICK_ROG_CHAKRAM do obsługi myszy ROG Chakram jako joysticka.
  • Dla systemu Linux dodano flagę SDL_HINT_X11_WINDOW_TYPE do ustawienia parametru _NET_WM_WINDOW_TYPE dla okien.
  • Dla systemu Linux dodano flagę SDL_HINT_VIDEO_WAYLAND_PREFER_LIBDECOR do użycia libdecor z kompozytorami serwerami, które obsługują xdg-decoration.
  • Dla systemu Android wdrożono funkcję SDL_AndroidSendMessage() do wysyłania dowolnego polecenia do handlera Java SDL.

Ź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