Após sete meses de desenvolvimento, foi lançado o SDL 2.28.0 (Simple DirectMedia Layer), voltado para simplificar a escrita de jogos e aplicações multimídia. A biblioteca SDL oferece recursos como saída de gráficos 2D e 3D acelerada por hardware, manipulação de entrada, reprodução de som, saída 3D via OpenGL/OpenGL ES/Vulkan e uma série de outras operações auxiliares. A biblioteca é escrita em C e distribuída sob a licença Zlib. Para usar os recursos do SDL em projetos em diversas linguagens de programação, são fornecidos os bindings necessários.
A versão SDL 2.28.0 traz principalmente correções de bugs, destacando-se a adição das funções SDL_HasWindowSurface() e SDL_DestroyWindowSurface() para alternar entre as APIs SDL_Renderer e SDL_Surface, um novo evento SDL_DISPLAYEVENT_MOVED, gerado ao trocar o monitor principal ou alterar a posição relativa das telas em configurações de múltiplos monitores, e a indicação SDL_HINT_ENABLE_SCREEN_KEYBOARD para controlar a exibição do teclado na tela.
Simultaneamente, foi anunciado que a ramificação SDL 2.x será mantida apenas para a correção de bugs e resolução de problemas. Novas funcionalidades não serão mais adicionadas à ramificação SDL 2.x, e o desenvolvimento será focado na preparação do lançamento do SDL 3.0. Também está em andamento o trabalho no camada de compatibilidade sdl2-compat, que fornece uma API compatível com o código binário e fonte do SDL 2.x, mas que funciona sobre o SDL 3. O pacote sdl2-compat poderá servir como uma substituição completa para o SDL 2 e será adequado para executar programas escritos para o SDL 2 usando os recursos da ramificação SDL 3.
Entre as mudanças na ramificação SDL 3, destaca-se a reestruturação de alguns subsistemas, mudanças incompatíveis na API e uma grande limpeza de recursos obsoletos que perderam relevância nas realidades modernas. Por exemplo, no SDL 3, espera-se uma reestruturação completa do código para o trabalho com som, uso padrão do Wayland e PipeWire, descontinuação do suporte ao OpenGL ES 1.0 e DirectFB, eliminação de códigos para plataformas obsoletas como QNX, Pandora, WinRT e OS/2.
Fonte: opennet.ru
