Versió de la biblioteca de mitjans SDL 2.0.22

S'ha llançat la biblioteca SDL 2.0.22 (Simple DirectMedia Layer), destinada a simplificar l'escriptura de jocs i aplicacions multimèdia. La biblioteca SDL ofereix instal·lacions com ara la sortida de gràfics 2D i 3D accelerats per maquinari, la gestió d'entrada, la reproducció d'àudio, la sortida 3D mitjançant OpenGL/OpenGL ES/Vulkan i moltes altres operacions relacionades. La biblioteca està escrita en C i distribuïda sota la llicència Zlib. Per utilitzar les capacitats SDL en projectes en diversos llenguatges de programació, es proporcionen els enllaços necessaris.

A la nova versió:

  • Suport millorat per al protocol Wayland. Inicialment, estava previst canviar a l'ús del protocol Wayland de manera predeterminada en entorns que proporcionen suport simultània per a Wayland i X11, però a causa de problemes associats a Wayland en jocs i controladors NVIDIA, es va decidir ajornar la transició (en entorns Wayland amb el component XWayland, resultat de l'ús del protocol X11). Per utilitzar Wayland, podeu configurar la variable d'entorn "SDL_VIDEODRIVER=wayland" abans d'iniciar l'aplicació o afegir la funció "SDL_SetHint(SDL_HINT_VIDEODRIVER, "wayland,x11")" al codi abans de cridar a SDL_Init(). La compilació amb Wayland requereix almenys la versió 1.18.0 de libwayland-client.
  • S'ha afegit la funció SDL_RenderGetWindow() per obtenir la finestra associada amb el renderitzador SDL.
  • S'ha afegit un conjunt de funcions per manipular àrees rectangulars (determinar l'aparició de punts, netejar, comparar, fusionar, etc.), operant amb coordenades i mides basades en números de coma flotant: SDL_PointInFRect(), SDL_FRectEmpty(), SDL_FRectEquals(), SDL_FRectEqualsEpsilon () , SDL_HasIntersectionF(), SDL_IntersectFRect(), SDL_UnionFRect(), SDL_EncloseFPoints() i SDL_IntersectFRectAndLine().
  • S'ha afegit la funció SDL_IsTextInputShown() per comprovar si es mostra l'àrea d'entrada de text.
  • S'ha afegit la funció SDL_ClearComposition() per esborrar l'àrea d'entrada de text sense desactivar el mètode d'entrada (IME).
  • S'ha afegit l'esdeveniment SDL_TEXTEDITING_EXT per gestionar àrees d'entrada de text llargues i la marca SDL_HINT_IME_SUPPORT_EXTENDED_TEXT per habilitar aquest esdeveniment.
  • S'ha afegit la marca SDL_HINT_MOUSE_RELATIVE_MODE_CENTER per permetre restringir el ratolí només al centre de la finestra en lloc de tota la finestra quan el mode relatiu està habilitat.
  • S'ha activat la captura automàtica del ratolí en prémer els botons del ratolí. Per desactivar-lo, es proposa la marca SDL_HINT_MOUSE_AUTO_CAPTURE.
  • S'han afegit les marques SDL_HINT_VIDEO_FOREIGN_WINDOW_OPENGL i SDL_HINT_VIDEO_FOREIGN_WINDOW_VULKAN per transmetre informació sobre l'ús d'OpenGL o Vulkan en una finestra externa.
  • S'ha afegit la marca SDL_HINT_QUIT_ON_LAST_WINDOW_CLOSE per habilitar el lliurament de l'esdeveniment SDL_QUIT quan es tanca l'última finestra de l'aplicació.
  • S'ha afegit la bandera SDL_HINT_JOYSTICK_ROG_CHAKRAM per tractar el ratolí ROG Chakram com un joystick.
  • Per a Linux, s'ha afegit l'atribut SDL_HINT_X11_WINDOW_TYPE per establir el paràmetre _NET_WM_WINDOW_TYPE a Windows.
  • Per a Linux, s'ha afegit la marca SDL_HINT_VIDEO_WAYLAND_PREFER_LIBDECOR per utilitzar libdecor amb servidors compostos que admeten xdg-decoration.
  • Per a Android, s'ha implementat la funció SDL_AndroidSendMessage() per enviar una ordre arbitrària al controlador SDL Java.

Font: opennet.ru

Afegeix comentari