Después de siete meses de desarrollo, se ha publicado la versión de la biblioteca SDL 2.28.0 (Simple DirectMedia Layer), diseñada para simplificar la escritura de juegos y aplicaciones multimedia. La biblioteca SDL proporciona herramientas como la salida de gráficos 2D y 3D acelerada por hardware, procesamiento de entradas, reproducción de sonido, salida 3D a través de OpenGL/OpenGL ES/Vulkan y muchas otras operaciones relacionadas. La biblioteca está escrita en C y se distribuye bajo la licencia Zlib. Se proporcionan los enlaces necesarios para utilizar las capacidades de SDL en proyectos en varios lenguajes de programación.
La versión SDL 2.28.0 principalmente ofrece correcciones de errores, y entre las novedades se destaca la adición de las funciones SDL_HasWindowSurface() y SDL_DestroyWindowSurface() para alternar entre las API SDL_Renderer y SDL_Surface, un nuevo evento SDL_DISPLAYEVENT_MOVED, generado al cambiar el monitor principal o al modificar la posición relativa de las pantallas en configuraciones de múltiples monitores, y el indicador SDL_HINT_ENABLE_SCREEN_KEYBOARD para controlar la visualización del teclado en pantalla.
Al mismo tiempo, se anunció que la rama SDL 2.x pasa a la fase de mantenimiento, que implica solo corrección de errores y solución de problemas. No se agregarán más funcionalidades a la rama SDL 2.x, y el desarrollo se centrará en la preparación para el lanzamiento de SDL 3.0. También se está trabajando en una capa de compatibilidad sdl2-compat, que proporciona una API compatible con el código binario y fuente de SDL 2.x, pero que funciona sobre SDL 3. El paquete sdl2-compat podrá actuar como un reemplazo completo de SDL 2 y es adecuado para ejecutar programas escritos para SDL 2, utilizando las capacidades de la rama SDL 3.
Entre los cambios en la rama SDL 3 se destaca la revisión de algunos subsistemas, cambios en la API que rompen la compatibilidad y una gran depuración de características obsoletas que han perdido relevancia en la actualidad. Por ejemplo, en SDL 3 se espera una reescritura completa del código para el manejo de audio, el uso por defecto de Wayland y PipeWire, la finalización del soporte para OpenGL ES 1.0 y DirectFB, y la eliminación del código para trabajar en plataformas obsoletas como QNX, Pandora, WinRT y OS/2.
Fuente: opennet.ru
