ΠΠ·Π΄Π°Π΄Π΅Π½a Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊa SDL 2.0.22 (Simple DirectMedia Layer), ΡΠ΅Π»ΡΡΠ° ΡΠ΅ Π² ΠΎΠΏΡΠΎΡΡΡΠ²Π°Π½Π΅ Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° Π½Π° ΠΈΠ³ΡΠΈ ΠΈ ΠΌΡΠ»ΡΠΈΠΌΠ΅Π΄ΠΈΠΉΠ½ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° SDL ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ ΡΡΠ΅Π΄ΡΡΠ²Π° ΠΊΠ°ΡΠΎ Ρ Π°ΡΠ΄ΡΠ΅ΡΠ½ΠΎ ΡΡΠΊΠΎΡΠ΅Π½ΠΎ ΠΈΠ·Π²Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° 2D ΠΈ 3D Π³ΡΠ°ΡΠΈΠΊΠ°, ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° Π²Ρ ΠΎΠ΄, Π²ΡΠ·ΠΏΡΠΎΠΈΠ·Π²Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° Π·Π²ΡΠΊ, ΠΈΠ·Π²Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° 3D ΡΡΠ΅Π· OpenGL/OpenGL ES/Vulkan ΠΈ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π΄ΡΡΠ³ΠΈ ΡΠΏΠΎΠΌΠ°Π³Π°ΡΠ΅Π»Π½ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ. ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° Π΅ Π½Π°ΠΏΠΈΡΠ°Π½Π° Π½Π° C ΠΈ ΡΠ΅ ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½ΡΠ²Π° ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π· Zlib. ΠΠ° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈΡΠ΅ Π½Π° SDL Π² ΠΏΡΠΎΠ΅ΠΊΡΠΈ Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ½ΠΈ Π΅Π·ΠΈΡΠΈ ΡΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΈΡΠ΅ ΠΎΠ±Π²ΠΈΠ²ΠΊΠΈ.
Π Π½ΠΎΠ²ΠΎΡΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅:
- ΠΠΎΠ΄ΠΎΠ±ΡΠ΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π½Π° ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° Wayland. ΠΡΡΠ²ΠΎΠ½Π°ΡΠ°Π»Π½ΠΎ Π±Π΅ΡΠ΅ ΠΏΠ»Π°Π½ΠΈΡΠ°Π½ΠΎ Π΄Π° ΡΠ΅ ΠΏΡΠ΅ΠΌΠΈΠ½Π΅ ΠΊΡΠΌ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° Wayland ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ Π² ΡΡΠ΅Π΄ΠΈ, ΠΏΡΠ΅Π΄Π»Π°Π³Π°ΠΉΠΊΠΈ samtidig ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° Wayland ΠΈ X11, Π½ΠΎ ΠΏΠΎΡΠ°Π΄ΠΈ ΡΠ²ΡΡΠ·Π°Π½ΠΈΡΠ΅ Ρ Wayland ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ Π² ΠΈΠ³ΡΠΈΡΠ΅ ΠΈ NVIDIA Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΈΡΠ΅, ΡΠ΅ΡΠ΅Π½ΠΎ Π΅ Π΄Π° ΡΠ΅ Π·Π°Π±Π°Π²ΠΈ ΠΏΡΠ΅Ρ ΠΎΠ΄Π° (Π² Wayland ΡΡΠ΅Π΄ΠΈ Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° XWayland, ΠΊΠ°ΠΊΡΠΎ ΠΈ ΠΏΡΠ΅Π΄ΠΈ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΈΠ·Π²Π΅ΠΆΠ΄Π°Π½Π΅ Ρ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° X11). ΠΠ° Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Wayland, ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ Π·Π°Π΄Π°Π΄Π΅ ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π° Π½Π° ΡΡΠ΅Π΄Π°ΡΠ° βSDL_VIDEODRIVER=waylandβ ΠΏΡΠ΅Π΄ΠΈ ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ ΠΈΠ»ΠΈ Π΄Π° ΡΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈ Π² ΠΊΠΎΠ΄Π° ΡΡΠ½ΠΊΡΠΈΡΡΠ° βSDL_SetHint(SDL_HINT_VIDEODRIVER, βwayland,x11β)' ΠΏΡΠ΅Π΄ΠΈ ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅ Π½Π° SDL_Init(). ΠΠ° ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠ°Π½Π΅ Ρ Wayland Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠ° Π²Π΅ΡΡΠΈΡ libwayland-client ΠΏΠΎΠ½Π΅ 1.18.0.
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΡΡΠ½ΠΊΡΠΈΡΡΠ° SDL_RenderGetWindow() Π·Π° ΠΏΠΎΠ»ΡΡΠ°Π²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΠ·ΠΎΡΠ΅ΡΠ°, Π°ΡΠΎΡΠΈΠΈΡΠ°Π½ ΡΡΡ SDL Renderer.
- ΠΠΎΠ±Π°Π²Π΅Π½ Π΅ Π½Π°Π±ΠΎΡ ΠΎΡ ΡΡΠ½ΠΊΡΠΈΠΈ Π·Π° ΠΌΠ°Π½ΠΈΠΏΡΠ»Π°ΡΠΈΡ Π½Π° ΠΏΡΠ°Π²ΠΎΡΠ³ΡΠ»Π½ΠΈ ΠΎΠ±Π»Π°ΡΡΠΈ (ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π΅ Π½Π° Π½Π°Π»ΠΈΡΠΈΠ΅ Π½Π° ΡΠΎΡΠΊΠΈ, ΠΈΠ·ΡΠΈΡΡΠ²Π°Π½Π΅, ΡΡΠ°Π²Π½ΡΠ²Π°Π½Π΅, ΠΎΠ±Π΅Π΄ΠΈΠ½ΡΠ²Π°Π½Π΅ ΠΈ Π΄Ρ.), ΡΠ°Π±ΠΎΡΠ° Ρ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΈ ΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠΈ Π½Π° Π±Π°Π·Π°ΡΠ° Π½Π° ΡΠΈΡΠ»Π° Ρ ΠΏΠ»Π°Π²Π°ΡΠ° Π·Π°ΠΏΠ΅ΡΠ°Ρ: SDL_PointInFRect(), SDL_FRectEmpty(), SDL_FRectEquals(), SDL_FRectEqualsEpsilon(), 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 Π½Π° ΠΏΡΠΎΠ·ΠΎΡΡΠΈΡΠ΅.
- ΠΠ° Linux Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ SDL_HINT_VIDEO_WAYLAND_PREFER_LIBDECOR Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° libdecor Ρ ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠΎΡΠΈ, ΡΡΡΠ²ΡΡΠΈΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°ΡΠΈ xdg-decoration.
- ΠΠ° Android Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° ΡΡΠ½ΠΊΡΠΈΡΡΠ° SDL_AndroidSendMessage() Π·Π° ΠΈΠ·ΠΏΡΠ°ΡΠ°Π½Π΅ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° Π΄ΠΎ Java ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ SDL.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
