Dopo sette mesi di sviluppo, è stata pubblicata la versione della libreria SDL 2.28.0 (Simple DirectMedia Layer), destinata a semplificare la scrittura di giochi e applicazioni multimediali. La libreria SDL offre strumenti come l'uscita grafica hardware-accelerata 2D e 3D, gestione degli input, riproduzione audio, output 3D tramite OpenGL/OpenGL ES/Vulkan e molte altre operazioni correlate. La libreria è scritta in C e distribuita con licenza Zlib. Per utilizzare le funzionalità di SDL in progetti in vari linguaggi di programmazione, sono fornite le necessarie interfacce.
Nella versione SDL 2.28.0 sono state principalmente proposte correzioni di bug; tra le novità spiccano l'aggiunta delle funzioni SDL_HasWindowSurface() e SDL_DestroyWindowSurface() per passare tra le API SDL_Renderer e SDL_Surface, un nuovo evento SDL_DISPLAYEVENT_MOVED, generato quando si cambia il monitor principale o si modifica la posizione relativa degli schermi in configurazioni multi-monitor, e l'indicatore SDL_HINT_ENABLE_SCREEN_KEYBOARD per controllare la visualizzazione della tastiera su schermo.
Contestualmente è stato annunciato il passaggio della versione SDL 2.x a uno stato di supporto, che prevede solo correzioni di bug e risoluzione di problemi. Non saranno aggiunte nuove funzionalità alla versione SDL 2.x, e lo sviluppo si concentrerà sulla preparazione del rilascio di SDL 3.0. È inoltre in corso un lavoro sul layer di compatibilità sdl2-compat, che fornirà un'API compatibile con il codice binario e sorgente di SDL 2.x, ma funzionerà sopra SDL 3. Il pacchetto sdl2-compat potrà fungere da sostituto completo di SDL 2 e sarà adatto per eseguire programmi scritti per SDL 2, utilizzando le capacità della versione SDL 3.
Le modifiche nella versione SDL 3 includono una revisione di alcuni sottosistemi, modifiche non compatibili all'API e una grande pulizia delle funzionalità obsolete, che non sono più rilevanti nelle realtà moderne. Ad esempio, in SDL 3 è prevista una revisione completa del codice per la gestione dell'audio, l'uso predefinito di Wayland e PipeWire, la cessazione del supporto per OpenGL ES 1.0 e DirectFB, e la rimozione del codice per il supporto su piattaforme obsolete come QNX, Pandora, WinRT e OS/2.
Fonte: opennet.ru
