Version de la bibliothèque multimédia SDL 2.0.22

La bibliothèque SDL 2.0.22 (Simple DirectMedia Layer) a été publiée, visant à simplifier l'écriture de jeux et d'applications multimédias. La bibliothèque SDL fournit des outils tels que la sortie graphique 2D et 3D accélérée par le matériel, le traitement des entrées, la lecture audio, la sortie 3D via OpenGL/OpenGL ES/Vulkan et de nombreuses autres opérations connexes. La bibliothèque est écrite en C et est distribuée sous la licence Zlib. Pour utiliser les capacités de SDL dans des projets dans différents langages de programmation, les liaisons nécessaires sont fournies.

Dans la nouvelle version :

  • Prise en charge améliorée du protocole Wayland. Initialement, il était prévu de passer à l'utilisation du protocole Wayland par défaut dans les environnements prenant en charge simultanément Wayland et X11, mais en raison de problèmes liés à Wayland dans les jeux et aux pilotes NVIDIA, il a été décidé de reporter la transition (dans les environnements Wayland avec le composant XWayland, sortie de l'utilisation du protocole X11). Pour utiliser Wayland, vous pouvez définir la variable d'environnement « SDL_VIDEODRIVER=wayland » avant de démarrer l'application ou ajouter la fonction « SDL_SetHint(SDL_HINT_VIDEODRIVER, « wayland,x11 ») » au code avant d'appeler SDL_Init(). La compilation avec Wayland nécessite au moins la version 1.18.0 du client libwayland.
  • Ajout de la fonction SDL_RenderGetWindow() pour obtenir la fenêtre associée au moteur de rendu SDL.
  • Ajout d'un ensemble de fonctions pour manipuler des zones rectangulaires (déterminer l'occurrence de points, effacer, comparer, fusionner, etc.), fonctionnant avec des coordonnées et des tailles basées sur des nombres à virgule flottante : SDL_PointInFRect(), SDL_FRectEmpty(), SDL_FRectEquals(), SDL_FRectEqualsEpsilon. () , SDL_HasIntersectionF(), SDL_IntersectFRect(), SDL_UnionFRect(), SDL_EncloseFPoints() et SDL_IntersectFRectAndLine().
  • Ajout de la fonction SDL_IsTextInputShown() pour vérifier si la zone de saisie de texte est affichée.
  • Ajout de la fonction SDL_ClearComposition() pour effacer la zone de saisie de texte sans désactiver la méthode de saisie (IME).
  • Ajout de l'événement SDL_TEXTEDITING_EXT pour gérer les zones de saisie de texte long et de l'indicateur SDL_HINT_IME_SUPPORT_EXTENDED_TEXT pour activer cet événement.
  • Ajout de l'indicateur SDL_HINT_MOUSE_RELATIVE_MODE_CENTER pour permettre de restreindre la souris uniquement au centre de la fenêtre au lieu de la fenêtre entière lorsque le mode relatif est activé.
  • Activation de la capture automatique de la souris lorsque vous appuyez sur les boutons de la souris. Pour le désactiver, le flag SDL_HINT_MOUSE_AUTO_CAPTURE est proposé.
  • Ajout des indicateurs SDL_HINT_VIDEO_FOREIGN_WINDOW_OPENGL et SDL_HINT_VIDEO_FOREIGN_WINDOW_VULKAN pour transmettre des informations sur l'utilisation d'OpenGL ou de Vulkan dans une fenêtre externe.
  • Ajout de l'indicateur SDL_HINT_QUIT_ON_LAST_WINDOW_CLOSE pour permettre la livraison de l'événement SDL_QUIT lorsque la dernière fenêtre de l'application est fermée.
  • Ajout du flag SDL_HINT_JOYSTICK_ROG_CHAKRAM pour traiter la souris ROG Chakram comme un joystick.
  • Pour Linux, l'attribut SDL_HINT_X11_WINDOW_TYPE a été ajouté pour définir le paramètre _NET_WM_WINDOW_TYPE sur Windows.
  • Pour Linux, l'indicateur SDL_HINT_VIDEO_WAYLAND_PREFER_LIBDECOR a été ajouté pour utiliser libdecor avec des serveurs composites prenant en charge xdg-decoration.
  • Pour Android, la fonction SDL_AndroidSendMessage() a été implémentée pour envoyer une commande arbitraire au gestionnaire Java SDL.

Source: opennet.ru

Ajouter un commentaire