Biblioteket SDL 2.0.22 (Simple DirectMedia Layer) er nu blevet udgivet for at forenkle udviklingen af spil og multimediaapplikationer. SDL-biblioteket tilbyder værktøjer såsom hardwareaccelereret rendering af 2D- og 3D-grafik, inputbehandling, lydafspilning, 3D-udgang via OpenGL/OpenGL ES/Vulkan og mange relaterede operationer. Biblioteket er skrevet i C og distribueres under Zlib-licensen. For at bruge SDL's funktioner i projekter på forskellige programmeringssprog er de nødvendige bindings til rådighed.
I den nye version:
- Understøttelsen af Wayland-protokollen er blevet forbedret. Det var oprindeligt planlagt at skifte til at bruge Wayland-protokollen som standard i miljøer, der samtidigt understøtter Wayland og X11, men på grund af relaterede problemer i spil og NVIDIA-drivere er det besluttet at vente med overgangen (i Wayland-miljøer med komponenten XWayland anvendes X11-output stadig som før). For at bruge Wayland kan miljøvariablen "SDL_VIDEODRIVER=wayland" indstilles før lanceringen af applikationen, eller koden kan tilføjes med funktionen ‘SDL_SetHint(SDL_HINT_VIDEODRIVER, "wayland,x11")’ før opkaldet til SDL_Init(). For at kompilere med Wayland kræves mindst version 1.18.0 af libwayland-client.
- Funktionen SDL_RenderGetWindow() er blevet tilføjet for at hente det vindue, der er associeret med SDL Renderer.
- Et sæt funktioner til manipulation af rektangulære områder er blevet tilføjet (bestemmelse af punkters tilstedeværelse, rydning, sammenligning, forening osv.), der arbejder med koordinater og størrelser baseret på flydende decimaler: SDL_PointInFRect(), SDL_FRectEmpty(), SDL_FRectEquals(), SDL_FRectEqualsEpsilon(), SDL_HasIntersectionF(), SDL_IntersectFRect(), SDL_UnionFRect(), SDL_EncloseFPoints() og SDL_IntersectFRectAndLine().
- Funktionen SDL_IsTextInputShown() er blevet tilføjet for at kontrollere visningen af tekstinputområdet.
- Funktionen SDL_ClearComposition() er blevet tilføjet for at rydde tekstinputområdet uden at deaktivere inputmetoden (IME).
- Begivenheden SDL_TEXTEDITING_EXT er blevet tilføjet for at håndtere lange tekstinputområder samt indikatoren SDL_HINT_IME_SUPPORT_EXTENDED_TEXT for at aktivere denne begivenhed.
- Indikatoren SDL_HINT_MOUSE_RELATIVE_MODE_CENTER er blevet tilføjet for at begrænse musen til kun midten af vinduet i stedet for hele vinduet, når relativ tilstand er aktiveret.
- Automatisk musfangst ved museklik er aktiveret. For at deaktivere denne funktion er indikatoren SDL_HINT_MOUSE_AUTO_CAPTURE blevet foreslået.
- Tilføjet SDL_HINT_VIDEO_FOREIGN_WINDOW_OPENGL og SDL_HINT_VIDEO_FOREIGN_WINDOW_VULKAN for at videregive oplysninger om brugen af et eksternt vindue til OpenGL eller Vulkan.
- Tilføjet SDL_HINT_QUIT_ON_LAST_WINDOW_CLOSE for at aktivere leveringen af SDL_QUIT-begivenheden, når det sidste vindue i applikationen lukkes.
- Tilføjet SDL_HINT_JOYSTICK_ROG_CHAKRAM for at behandle ROG Chakram mus som en joystick.
- For Linux tilføjet SDL_HINT_X11_WINDOW_TYPE for at indstille parameteren _NET_WM_WINDOW_TYPE for vinduer.
- For Linux tilføjet SDL_HINT_VIDEO_WAYLAND_PREFER_LIBDECOR for at bruge libdecor med sammensatte servere, der understøtter xdg-decoration.
- For Android er funktionen SDL_AndroidSendMessage() implementeret for at sende vilkårlige kommandoer til Java-behandleren SDL.
Kilde: opennet.ru
