ΠΠ΅ΡΠ΅ ΠΎΠ±ΡΠ°Π²Π΅Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° SDL 2.0.22 (Simple DirectMedia Layer), ΡΠΈΡΠ° ΡΠ΅Π» Π΅ Π΄Π° Π³ΠΎ ΠΏΠΎΠ΅Π΄Π½ΠΎΡΡΠ°Π²ΠΈ ΠΏΠΈΡΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° ΠΈΠ³ΡΠΈ ΠΈ ΠΌΡΠ»ΡΠΈΠΌΠ΅Π΄ΠΈΡΠ°Π»Π½ΠΈ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ. SDL Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡΠ²Π° Π°Π»Π°ΡΠΊΠΈ ΠΊΠ°ΠΊΠΎ ΡΡΠΎ ΡΠ΅ Ρ Π°ΡΠ΄Π²Π΅ΡΡΠΊΠΈ Π·Π°Π±ΡΠ·Π°Π½ 2D ΠΈ 3D Π³ΡΠ°ΡΠΈΡΠΊΠΈ ΠΈΠ·Π»Π΅Π·, ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° Π²Π»Π΅Π·ΠΎΠ²ΠΈ, Π°ΡΠ΄ΠΈΠΎ ΡΠ΅ΠΏΡΠΎΠ΄ΡΠΊΡΠΈΡΠ°, 3D ΠΈΠ·Π»Π΅Π· ΠΏΡΠ΅ΠΊΡ OpenGL/OpenGL ES/Vulkan ΠΈ ΠΌΠ½ΠΎΠ³Ρ Π΄ΡΡΠ³ΠΈ ΠΏΠΎΠ²ΡΠ·Π°Π½ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ. ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° Π΅ Π½Π°ΠΏΠΈΡΠ°Π½Π° Π½Π° C ΠΈ Π΄ΠΈΡΡΡΠΈΠ±ΡΠΈΡΠ°Π½Π° ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½ΡΠ°ΡΠ° Zlib. ΠΠ° ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ Π½Π° ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈΡΠ΅ Π½Π° SDL Π²ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠΈ Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΡΠΊΠΈ ΡΠ°Π·ΠΈΡΠΈ, ΠΎΠ±Π΅Π·Π±Π΅Π΄Π΅Π½ΠΈ ΡΠ΅ ΠΏΠΎΡΡΠ΅Π±Π½ΠΈΡΠ΅ ΡΠ²ΡΠ·ΡΠ²Π°ΡΠΊΠΈ Π΅Π»Π΅ΠΌΠ΅Π½ΡΠΈ.
ΠΠΎ Π½ΠΎΠ²ΠΎΡΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅:
- ΠΠΎΠ΄ΠΎΠ±ΡΠ΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΎΡ ΠΠ΅ΡΠ»Π΅Π½Π΄. ΠΡΠ²ΠΈΡΠ½ΠΎ, Π±Π΅ΡΠ΅ ΠΏΠ»Π°Π½ΠΈΡΠ°Π½ΠΎ ΡΡΠ°Π½Π΄Π°ΡΠ΄Π½ΠΎ Π΄Π° ΡΠ΅ ΠΏΡΠ΅ΡΡΠ»ΠΈ Π½Π° ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ Π½Π° Wayland ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΎΡ Π²ΠΎ ΡΡΠ΅Π΄ΠΈΠ½ΠΈ ΡΡΠΎ ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡΠ²Π°Π°Ρ ΠΈΡΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° Wayland ΠΈ X11, Π½ΠΎ ΠΏΠΎΡΠ°Π΄ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ ΠΏΠΎΠ²ΡΠ·Π°Π½ΠΈ ΡΠΎ Wayland Π²ΠΎ ΠΈΠ³ΡΠΈΡΠ΅ ΠΈ Π΄ΡΠ°ΡΠ²Π΅ΡΠΈΡΠ΅ Π½Π° NVIDIA, Π±Π΅ΡΠ΅ ΠΎΠ΄Π»ΡΡΠ΅Π½ΠΎ Π΄Π° ΡΠ΅ ΠΎΠ΄Π»ΠΎΠΆΠΈ ΡΡΠ°Π½Π·ΠΈΡΠΈΡΠ°ΡΠ° (Π²ΠΎ Wayland ΡΡΠ΅Π΄ΠΈΠ½ΠΈ ΡΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°ΡΠ° XWayland, ΠΈΠ·Π»Π΅Π· ΠΎΠ΄ ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ Π½Π° ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΎΡ X11). ΠΠ° Π΄Π° ΠΊΠΎΡΠΈΡΡΠΈΡΠ΅ Wayland, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΠ° ΠΏΠΎΡΡΠ°Π²ΠΈΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π°ΡΠ° Π½Π° ΠΎΠΊΠΎΠ»ΠΈΠ½Π°ΡΠ° βSDL_VIDEODRIVER=waylandβ ΠΏΡΠ΅Π΄ Π΄Π° ΡΠ° ΡΡΠ°ΡΡΡΠ²Π°ΡΠ΅ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ°ΡΠ° ΠΈΠ»ΠΈ Π΄Π° ΡΠ° Π΄ΠΎΠ΄Π°Π΄Π΅ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡΠ°ΡΠ° βSDL_SetHint(SDL_HINT_VIDEODRIVER, βwayland,x11β)β Π½Π° ΠΊΠΎΠ΄ΠΎΡ ΠΏΡΠ΅Π΄ Π΄Π° ΡΠ° ΠΏΠΎΠ²ΠΈΠΊΠ°ΡΠ΅ SDL_Init(). Π‘ΠΎΡΡΠ°Π²ΡΠ²Π°ΡΠ΅ΡΠΎ ΡΠΎ Wayland Π±Π°ΡΠ° Π½Π°ΡΠΌΠ°Π»ΠΊΡ Π²Π΅ΡΠ·ΠΈΡΠ° 1.18.0 Π·Π° ΠΊΠ»ΠΈΠ΅Π½Ρ-libwayland.
- ΠΠΎΠ΄Π°Π΄Π΅Π½Π° Π΅ ΡΡΠ½ΠΊΡΠΈΡΠ°ΡΠ° SDL_RenderGetWindow() Π·Π° Π΄Π° ΡΠ΅ Π΄ΠΎΠ±ΠΈΠ΅ ΠΏΡΠΎΠ·ΠΎΡΠ΅ΡΠΎΡ ΠΏΠΎΠ²ΡΠ·Π°Π½ ΡΠΎ SDL Renderer.
- ΠΠΎΠ΄Π°Π΄Π΅Π½ΠΎ Π΅ Π·Π±ΠΈΡ Π½Π° ΡΡΠ½ΠΊΡΠΈΠΈ Π·Π° ΠΌΠ°Π½ΠΈΠΏΡΠ»ΠΈΡΠ°ΡΠ΅ ΡΠΎ ΠΏΡΠ°Π²ΠΎΠ°Π³ΠΎΠ»Π½ΠΈ ΠΎΠ±Π»Π°ΡΡΠΈ (ΠΎΠ΄ΡΠ΅Π΄ΡΠ²Π°ΡΠ΅ Π½Π° ΠΏΠΎΡΠ°Π²Π°ΡΠ° Π½Π° ΡΠΎΡΠΊΠΈ, Π±ΡΠΈΡΠ΅ΡΠ΅, ΡΠΏΠΎΡΠ΅Π΄ΡΠ²Π°ΡΠ΅, ΡΠΏΠΎΡΡΠ²Π°ΡΠ΅ ΠΈΡΠ½.), ΠΊΠΎΠΈ ΡΠ°Π±ΠΎΡΠ°Ρ ΡΠΎ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΈ ΠΈ Π³ΠΎΠ»Π΅ΠΌΠΈΠ½ΠΈ Π²ΡΠ· ΠΎΡΠ½ΠΎΠ²Π° Π½Π° Π±ΡΠΎΠ΅Π²ΠΈ ΡΠΎ ΠΏΠΎΠ΄Π²ΠΈΠΆΠ½Π° Π·Π°ΠΏΠΈΡΠΊΠ°: SDL_PointInFRect(), SDL_FRectEmpty(), SDL_FRectEquals(), SDL_FRectEquals(), SDLRectonEquals () , SDL_HasIntersectionF(), SDL_IntersectFRect(), SDL_UnionFRect(), SDL_EncloseFPoints() ΠΈ SDL_IntersectFRectAndLine().
- ΠΠΎΠ΄Π°Π΄Π΅Π½Π° Π΅ ΡΡΠ½ΠΊΡΠΈΡΠ°ΡΠ° SDL_IsTextInputShown() Π·Π° Π΄Π° ΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΈ Π΄Π°Π»ΠΈ Π΅ ΠΏΡΠΈΠΊΠ°ΠΆΠ°Π½Π° ΠΎΠ±Π»Π°ΡΡΠ° Π·Π° Π²Π½Π΅ΡΡΠ²Π°ΡΠ΅ ΡΠ΅ΠΊΡΡ.
- ΠΠΎΠ΄Π°Π΄Π΅Π½Π° Π΅ ΡΡΠ½ΠΊΡΠΈΡΠ°ΡΠ° SDL_ClearComposition() Π·Π° ΡΠΈΡΡΠ΅ΡΠ΅ Π½Π° ΠΎΠ±Π»Π°ΡΡΠ° Π·Π° Π²Π½Π΅ΡΡΠ²Π°ΡΠ΅ ΡΠ΅ΠΊΡΡ Π±Π΅Π· ΠΎΠ½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π°ΡΠ΅ Π½Π° ΠΌΠ΅ΡΠΎΠ΄ΠΎΡ Π·Π° Π²Π½Π΅ΡΡΠ²Π°ΡΠ΅ (IME).
- ΠΠΎΠ΄Π°Π΄Π΅Π½ Π΅ Π½Π°ΡΡΠ°Π½ SDL_TEXTEDITING_EXT Π·Π° ΡΠΏΡΠ°Π²ΡΠ²Π°ΡΠ΅ ΡΠΎ Π΄ΠΎΠ»Π³ΠΈ ΠΎΠ±Π»Π°ΡΡΠΈ Π·Π° Π²Π½Π΅ΡΡΠ²Π°ΡΠ΅ ΡΠ΅ΠΊΡΡ ΠΈ Π·Π½Π°ΠΌΠ΅Π½ΡΠ΅ SDL_HINT_IME_SUPPORT_EXTENDED_TEXT Π·Π° Π΄Π° ΡΠ΅ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΠΈ ΠΎΠ²ΠΎΡ Π½Π°ΡΡΠ°Π½.
- ΠΠΎΠ΄Π°Π΄Π΅Π½ΠΎ Π΅ Π·Π½Π°ΠΌΠ΅ΡΠΎ SDL_HINT_MOUSE_RELATIVE_MODE_CENTER Π·Π° Π΄Π° ΡΠ΅ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΡΠ²Π°ΡΠ΅ Π½Π° Π³Π»ΡΠ²ΡΠ΅ΡΠΎ ΡΠ°ΠΌΠΎ Π²ΠΎ ΡΠ΅Π½ΡΠ°ΡΠΎΡ Π½Π° ΠΏΡΠΎΠ·ΠΎΡΠ΅ΡΠΎΡ Π½Π°ΠΌΠ΅ΡΡΠΎ Π½Π° ΡΠ΅Π»ΠΈΠΎΡ ΠΏΡΠΎΠ·ΠΎΡΠ΅Ρ ΠΊΠΎΠ³Π° Π΅ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ ΡΠ΅Π»Π°ΡΠΈΠ²Π½ΠΈΠΎΡ ΡΠ΅ΠΆΠΈΠΌ.
- ΠΠ²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ΠΎ Π°Π²ΡΠΎΠΌΠ°ΡΡΠΊΠΎ ΡΠ½ΠΈΠΌΠ°ΡΠ΅ Π½Π° Π³Π»ΡΠ²ΡΠ΅ΡΠΎ ΠΏΡΠΈ ΠΏΡΠΈΡΠΈΡΠΊΠ°ΡΠ΅ Π½Π° ΠΊΠΎΠΏΡΠΈΡΠ°ΡΠ° Π½Π° Π³Π»ΡΠ²ΡΠ΅ΡΠΎ. ΠΠ° Π΄Π° ΡΠ΅ ΠΎΠ½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠΈ, ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΎ Π΅ Π·Π½Π°ΠΌΠ΅ΡΠΎ SDL_HINT_MOUSE_AUTO_CAPTURE.
- ΠΠΎΠ΄Π°Π΄Π΅Π½ΠΈ ΡΠ΅ ΠΎΠ·Π½Π°ΠΊΠΈ SDL_HINT_VIDEO_FOREIGN_WINDOW_OPENGL ΠΈ SDL_HINT_VIDEO_FOREIGN_WINDOW_VULKAN Π·Π° Π΄Π° ΡΠ΅ ΠΏΡΠ΅Π½Π΅ΡΠ°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π·Π° ΡΠΏΠΎΡΡΠ΅Π±Π°ΡΠ° Π½Π° OpenGL ΠΈΠ»ΠΈ Vulkan Π²ΠΎ Π½Π°Π΄Π²ΠΎΡΠ΅ΡΠ΅Π½ ΠΏΡΠΎΠ·ΠΎΡΠ΅Ρ.
- ΠΠΎΠ΄Π°Π΄Π΅Π½ΠΎ Π΅ Π·Π½Π°ΠΌΠ΅ΡΠΎ SDL_HINT_QUIT_ON_LAST_WINDOW_CLOSE Π·Π° Π΄Π° ΡΠ΅ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΠΈ ΠΈΡΠΏΠΎΡΠ°ΠΊΠ° Π½Π° Π½Π°ΡΡΠ°Π½ΠΎΡ SDL_QUIT ΠΊΠΎΠ³Π° ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΎΡ ΠΏΡΠΎΠ·ΠΎΡΠ΅Ρ Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ°ΡΠ° Π΅ Π·Π°ΡΠ²ΠΎΡΠ΅Π½.
- ΠΠΎΠ΄Π°Π΄Π΅Π½ΠΎ Π΅ Π·Π½Π°ΠΌΠ΅Π½ΡΠ΅ΡΠΎ SDL_HINT_JOYSTICK_ROG_CHAKRAM Π·Π° Π΄Π° Π³ΠΎ ΡΡΠ΅ΡΠΈΡΠ°ΡΠ΅ Π³Π»ΡΠ²ΡΠ΅ΡΠΎ ROG Chakram ΠΊΠ°ΠΊΠΎ ΡΠΎΡΡΡΠΈΠΊ.
- ΠΠ° Linux, Π°ΡΡΠΈΠ±ΡΡΠΎΡ SDL_HINT_X11_WINDOW_TYPE Π΅ Π΄ΠΎΠ΄Π°Π΄Π΅Π½ Π·Π° Π΄Π° ΡΠ΅ ΠΏΠΎΡΡΠ°Π²ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΠ°ΡΠΎΡ _NET_WM_WINDOW_TYPE Π½Π° Windows.
- ΠΠ° Linux, Π·Π½Π°ΠΌΠ΅ΡΠΎ SDL_HINT_VIDEO_WAYLAND_PREFER_LIBDECOR Π΅ Π΄ΠΎΠ΄Π°Π΄Π΅Π½ΠΎ Π·Π° ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ Π½Π° libdecor ΡΠΎ ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠ½ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠΈ ΠΊΠΎΠΈ ΠΏΠΎΠ΄Π΄ΡΠΆΡΠ²Π°Π°Ρ xdg-decoration.
- ΠΠ° Android, ΡΡΠ½ΠΊΡΠΈΡΠ°ΡΠ° SDL_AndroidSendMessage() Π΅ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ°Π½Π° Π·Π° ΠΈΡΠΏΡΠ°ΡΠ°ΡΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° Π΄ΠΎ ΡΠΏΡΠ°Π²ΡΠ²Π°ΡΠΎΡ Π½Π° SDL Java.
ΠΠ·Π²ΠΎΡ: opennet.ru