Nach sieben Monaten Entwicklung wurde die Veröffentlichung der Bibliothek SDL 2.28.0 (Simple DirectMedia Layer) bekannt gegeben, die darauf abzielt, das Schreiben von Spielen und Multimediaprogrammen zu vereinfachen. Die SDL-Bibliothek bietet Funktionen wie hardwarebeschleunigte Ausgabe von 2D- und 3D-Grafiken, Eingabeverarbeitung, Audio-Wiedergabe, Ausgabe von 3D über OpenGL/OpenGL ES/Vulkan und zahlreiche andere unterstützende Operationen. Die Bibliothek ist in C geschrieben und wird unter der Zlib-Lizenz vertrieben. Um die Möglichkeiten von SDL in Projekten in verschiedenen Programmiersprachen zu nutzen, stehen die erforderlichen Bindungen zur Verfügung.
In der Veröffentlichung SDL 2.28.0 stehen hauptsächlich Fehlerkorrekturen im Vordergrund, während Neuheiten die Hinzufügung von Funktionen wie SDL_HasWindowSurface() und SDL_DestroyWindowSurface() zur Umschaltung zwischen den APIs SDL_Renderer und SDL_Surface, das neue Ereignis SDL_DISPLAYEVENT_MOVED, das bei einem Wechsel des Hauptmonitors oder einer Änderung der relativen Position der Bildschirme in Mehrbildschirmkonfigurationen erzeugt wird, sowie das Flag SDL_HINT_ENABLE_SCREEN_KEYBOARD zur Steuerung der Anzeige der Bildschirmtastatur umfassen.
Gleichzeitig wurde angekündigt, dass der Branch SDL 2.x in eine Wartungsphase übergeht, die nur Fehlerbehebungen und Problemlösungen vorsieht. Neue Funktionen werden in den Branch SDL 2.x nicht mehr hinzugefügt, und die Entwicklung wird sich auf die Vorbereitung der Veröffentlichung von SDL 3.0 konzentrieren. Es wird auch an einer Kompatibilitätsschicht namens sdl2-compat gearbeitet, die eine API bietet, die mit dem binären und Quellcode von SDL 2.x kompatibel ist, aber auf SDL 3. aufbaut. Das Paket sdl2-compat wird als vollwertiger Ersatz für SDL 2 fungieren und eignet sich zur Ausführung von Programmen, die für SDL 2 geschrieben wurden, unter Nutzung der Möglichkeiten des Branches SDL 3.
In den Änderungen des Branches SDL 3 wird die Überarbeitung einiger Subsysteme hervorgehoben, die inkompatible Änderungen in der API und eine umfassende Bereinigung veralteter Funktionen beinhalten, die in der modernen Realität nicht mehr relevant sind. Zum Beispiel wird in SDL 3 eine vollständige Überarbeitung des Codes für die Audioverarbeitung erwartet, die standardmäßig Wayland und PipeWire nutzt, die Unterstützung für OpenGL ES 1.0 und DirectFB eingestellt und der Code für veraltete Plattformen wie QNX, Pandora, WinRT und OS/2 entfernt.
Quelle: opennet.ru
