Π‘Π»Π΅Π΄ ΡΠ΅Π΄Π΅ΠΌ ΠΌΠ΅ΡΠ΅ΡΠ° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°, ΠΏΡΠ±Π»ΠΈΠΊΡΠ²Π°Π½ΠΎ Π΅ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° SDL 2.28.0 (Simple DirectMedia Layer), Π½Π°ΡΠΎΡΠ΅Π½Π° ΠΊΡΠΌ ΠΎΠΏΡΠΎΡΡΡΠ²Π°Π½Π΅ Π½Π° Π½Π°ΠΏΠΈΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΠΈΠ³ΡΠΈ ΠΈ ΠΌΡΠ»ΡΠΈΠΌΠ΅Π΄ΠΈΠΉΠ½ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° SDL ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ ΡΡΠ΅Π΄ΡΡΠ²Π° Π·Π° Π°ΠΏΠ°ΡΠ°ΡΠ½ΠΎ ΡΡΠΊΠΎΡΠ΅Π½ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° 2D ΠΈ 3D Π³ΡΠ°ΡΠΈΠΊΠΈ, ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° Π²Ρ ΠΎΠ΄, Π²ΡΠ·ΠΏΡΠΎΠΈΠ·Π²Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° Π·Π²ΡΠΊ, 3D ΠΈΠ·Ρ ΠΎΠ΄ ΡΡΠ΅Π· OpenGL/OpenGL ES/Vulkan ΠΈ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π΄ΡΡΠ³ΠΈ ΡΠ²ΡΡΠ·Π°Π½ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ. ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° Π΅ Π½Π°ΠΏΠΈΡΠ°Π½Π° Π½Π° Π΅Π·ΠΈΠΊΠ° C ΠΈ ΡΠ΅ ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½ΡΠ²Π° ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·ΠΈΡΡΠ° Zlib. ΠΠ° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈΡΠ΅ Π½Π° SDL Π² ΠΏΡΠΎΠ΅ΠΊΡΠΈ Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ½ΠΈ Π΅Π·ΠΈΡΠΈ ΡΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΈΡΠ΅ ΠΎΠ±Π²ΠΈΠ²ΠΊΠΈ.
Π ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ΡΠΎ SDL 2.28.0 ΠΎΡΠ½ΠΎΠ²Π½ΠΎ ΡΠ° ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈ ΠΏΠΎΠΏΡΠ°Π²ΠΊΠΈ Π½Π° Π³ΡΠ΅ΡΠΊΠΈ, Π° ΠΎΡ Π½ΠΎΠ²ΠΎΠ²ΡΠ²Π΅Π΄Π΅Π½ΠΈΡΡΠ° ΡΠ΅ ΠΎΡΠ±Π΅Π»ΡΠ·Π²Π° Π΄ΠΎΠ±Π°Π²ΡΠ½Π΅ΡΠΎ Π½Π° ΡΡΠ½ΠΊΡΠΈΠΈ SDL_HasWindowSurface() ΠΈ SDL_DestroyWindowSurface() Π·Π° ΠΏΡΠ΅Π²ΠΊΠ»ΡΡΠ²Π°Π½Π΅ ΠΌΠ΅ΠΆΠ΄Ρ API SDL_Renderer ΠΈ SDL_Surface, Π½ΠΎΠ²ΠΎ ΡΡΠ±ΠΈΡΠΈΠ΅ SDL_DISPLAYEVENT_MOVED, Π³Π΅Π½Π΅ΡΠΈΡΠ°Π½ΠΎ ΠΏΡΠΈ ΡΠΌΡΠ½Π° Π½Π° ΠΎΡΠ½ΠΎΠ²Π½ΠΈΡ ΠΌΠΎΠ½ΠΈΡΠΎΡ ΠΈΠ»ΠΈ ΠΏΡΠΎΠΌΡΠ½Π° Π½Π° ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»Π½Π°ΡΠ° ΠΏΠΎΠ·ΠΈΡΠΈΡ Π½Π° Π΅ΠΊΡΠ°Π½ΠΈΡΠ΅ Π² ΠΌΠ½ΠΎΠ³ΠΎΠΌΠΎΠ½ΠΈΡΠΎΡΠ½ΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ, ΠΈ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡ SDL_HINT_ENABLE_SCREEN_KEYBOARD Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠΎΠΊΠ°Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° Π΅ΠΊΡΠ°Π½Π½Π°ΡΠ° ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΠ°.
Π‘ΡΡΠ΅Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Π΅ ΠΎΠ±ΡΠ²Π΅Π½ΠΎ Π·Π° ΠΏΡΠ΅Π½Π°ΡΡΠ½Π΅ Π½Π° ΠΊΠ»ΠΎΠ½ SDL 2.x Π² Π΅ΡΠ°ΠΏ Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°, ΠΏΡΠ΅Π΄Π²ΠΈΠΆΠ΄Π°ΡΠ° ΡΠ°ΠΌΠΎ ΠΏΠΎΠΏΡΠ°Π²ΠΊΠΈ Π½Π° Π³ΡΠ΅ΡΠΊΠΈ ΠΈ ΠΎΡΡΡΡΠ°Π½ΡΠ²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ. ΠΠΎΠ²Π° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡ Π² ΠΊΠ»ΠΎΠ½Π° SDL 2.x ΠΏΠΎΠ²Π΅ΡΠ΅ Π½ΡΠΌΠ° Π΄Π° Π±ΡΠ΄Π΅ Π΄ΠΎΠ±Π°Π²ΡΠ½Π°, Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° ΡΠ΅ Π±ΡΠ΄Π΅ ΡΡΡΡΠ΅Π΄ΠΎΡΠΎΡΠ΅Π½Π° Π²ΡΡΡ Ρ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠ°ΡΠ° Π·Π° ΠΈΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° SDL 3.0. Π ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΡΠ΅ ΡΠ°Π±ΠΎΡΠΈ ΠΈ ΠΏΠΎ ΡΠ»ΠΎΡ Π·Π° ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡ sdl2-compat, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΡΡ API, ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌ Ρ Π΄Π²ΠΎΠΈΡΠ½ΠΎΡΠΎ ΠΈ ΠΈΠ·Ρ ΠΎΠ΄Π½ΠΎ ΠΊΠΎΠ΄ΠΎΠ²ΠΎ Π½ΠΈΠ²ΠΎ Π½Π° SDL 2.x, Π½ΠΎ ΡΠ°Π±ΠΎΡΠ΅Ρ Π½Π°Π΄ SDL 3. ΠΠ°ΠΊΠ΅ΡΡΡ sdl2-compat ΡΠ΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ»ΡΠΆΠΈ ΠΊΠ°ΡΠΎ ΠΏΡΠ»Π½Π° Π·Π°ΠΌΡΠ½Π° Π½Π° SDL 2 ΠΈ Π΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡ Π·Π° ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ, Π½Π°ΠΏΠΈΡΠ°Π½ΠΈ Π·Π° SDL 2, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈΡΠ΅ Π½Π° ΠΊΠ»ΠΎΠ½Π° SDL 3.
ΠΡ ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ Π² ΠΊΠ»ΠΎΠ½Π° SDL 3 ΡΠ΅ ΠΎΡΠΊΡΠΎΡΠ²Π° ΠΏΡΠ΅ΠΎΡΠΌΠΈΡΠ»ΡΠ½Π΅ΡΠΎ Π½Π° Π½ΡΠΊΠΎΠΈ ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠΈ, Π½Π΅ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΈΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π² API ΠΈ Π³ΠΎΠ»ΡΠΌΠΎΡΠΎ ΠΏΠΎΡΠΈΡΡΠ²Π°Π½Π΅ Π½Π° ΠΎΡΡΠ°ΡΠ΅Π»ΠΈΡΠ΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠ° Π·Π°Π³ΡΠ±ΠΈΠ»ΠΈ Π°ΠΊΡΡΠ°Π»Π½ΠΎΡΡ Π² ΡΡΠ²ΡΠ΅ΠΌΠ΅Π½Π½Π°ΡΠ° ΡΠ΅Π°Π»Π½ΠΎΡΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π² SDL 3 ΡΠ΅ ΠΎΡΠ°ΠΊΠ²Π° ΠΏΡΠ»Π½ΠΎ ΠΏΡΠ΅ΠΎΡΠΌΠΈΡΠ»ΡΠ½Π΅ Π½Π° ΠΊΠΎΠ΄Π° Π·Π° ΡΠ°Π±ΠΎΡΠ° ΡΡΡ Π·Π²ΡΠΊ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ Π½Π° Wayland ΠΈ PipeWire, ΠΏΡΠ΅ΠΊΡΠ°ΡΡΠ²Π°Π½Π΅ Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π½Π° OpenGL ES 1.0 ΠΈ DirectFB, ΠΈ ΠΏΡΠ΅ΠΌΠ°Ρ
Π²Π°Π½Π΅ Π½Π° ΠΊΠΎΠ΄Π° Π·Π° ΡΠ°Π±ΠΎΡΠ° Π½Π° ΠΎΡΡΠ°ΡΠ΅Π»ΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΈ, ΠΊΠ°ΡΠΎ QNX, Pandora, WinRT ΠΈ OS/2.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
