Lanzouse a biblioteca SDL 2.0.22 (Simple DirectMedia Layer), destinada a simplificar a escritura de xogos e aplicacións multimedia. A biblioteca SDL ofrece facilidades como saídas de gráficos 2D e 3D aceleradas por hardware, manexo de entradas, reprodución de audio, saídas 3D a través de OpenGL/OpenGL ES/Vulkan e moitas outras operacións relacionadas. A biblioteca está escrita en linguaxe C e distribúese baixo a licenza Zlib. Para usar as capacidades de SDL en proxectos en varias linguaxes de programación, ofrécense os enlaces necesarios.
Na nova versión:
- Compatibilidade mellorada para o protocolo Wayland. Inicialmente, estaba previsto cambiar a usar o protocolo Wayland de forma predeterminada en contornos que proporcionan soporte simultáneo para Wayland e X11, pero debido a problemas asociados a Wayland nos xogos e controladores de NVIDIA, decidiuse aprazar a transición (en contornos Wayland con o compoñente XWayland, resultado do uso do protocolo X11). Para usar Wayland, pode configurar a variable de ambiente "SDL_VIDEODRIVER=wayland" antes de iniciar a aplicación ou engadir a función "SDL_SetHint(SDL_HINT_VIDEODRIVER, "wayland,x11")" ao código antes de chamar a SDL_Init(). Compilar con Wayland require polo menos a versión 1.18.0 de libwayland-client.
- Engadiuse a función SDL_RenderGetWindow() para obter a xanela asociada ao renderizador SDL.
- Engadiuse un conxunto de funcións para manipular áreas rectangulares (determinar a aparición de puntos, borrar, comparar, fusionar, etc.), operando con coordenadas e tamaños baseados en números de coma flotante: SDL_PointInFRect(), SDL_FRectEmpty(), SDL_FRectEquals(), SDL_FRectEqualsEpsilon () , SDL_HasIntersectionF(), SDL_IntersectFRect(), SDL_UnionFRect(), SDL_EncloseFPoints() e SDL_IntersectFRectAndLine().
- Engadiuse a función SDL_IsTextInputShown() para comprobar se se mostra a área de entrada de texto.
- Engadiuse a función SDL_ClearComposition() para borrar a área de entrada de texto sen desactivar o método de entrada (IME).
- Engadiuse o evento SDL_TEXTEDITING_EXT para xestionar áreas de entrada de texto longas e a marca SDL_HINT_IME_SUPPORT_EXTENDED_TEXT para activar este evento.
- Engadiuse a marca SDL_HINT_MOUSE_RELATIVE_MODE_CENTER para permitir restrinxir o rato só ao centro da xanela en lugar de a toda a xanela cando o modo relativo está activado.
- Activouse a captura automática do rato ao premer os botóns do rato. Para desactivalo, proponse a marca SDL_HINT_MOUSE_AUTO_CAPTURE.
- Engadíronse as bandeiras SDL_HINT_VIDEO_FOREIGN_WINDOW_OPENGL e SDL_HINT_VIDEO_FOREIGN_WINDOW_VULKAN para transmitir información sobre o uso de OpenGL ou Vulkan nunha xanela externa.
- Engadiuse a marca SDL_HINT_QUIT_ON_LAST_WINDOW_CLOSE para activar a entrega do evento SDL_QUIT cando se pecha a última xanela da aplicación.
- Engadiuse a bandeira SDL_HINT_JOYSTICK_ROG_CHAKRAM para tratar o rato ROG Chakram como un joystick.
- Para Linux Engadiuse o indicador SDL_HINT_X11_WINDOW_TYPE para definir o parámetro _NET_WM_WINDOW_TYPE para Windows.
- Para Linux Engadiuse o indicador SDL_HINT_VIDEO_WAYLAND_PREFER_LIBDECOR para usar libdecor con composite servidores, compatible coa decoración xdg.
- Para Android Función SDL_ implementadaAndroidSendMessage() para enviar un comando arbitrario ao xestor Java de SDL.
Fonte: opennet.ru
