Π‘Π»Π΅Π΄ ΠΊΠ°ΡΠΎ ΠΈΠ·ΠΌΠΈΠ½Π°Ρ Π° ΡΠ΅Π΄Π΅ΠΌ ΠΌΠ΅ΡΠ΅ΡΠ° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°, Π±ΡΡ Π° ΠΏΡΠ±Π»ΠΈΠΊΡΠ²Π°Π½ΠΈ 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_Rederer ΠΈ 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
