Π‘ΠΎΡΡΠΎΡΠ»ΡΡ ΡΠ΅Π»ΠΈΠ· Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ SDL 2.0.22 (Simple DirectMedia Layer), Π½Π°ΡΠ΅Π»Π΅Π½Π½ΠΎΠΉ Π½Π° ΡΠΏΡΠΎΡΠ΅Π½ΠΈΠ΅ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΈΠ³Ρ ΠΈ ΠΌΡΠ»ΡΡΠΈΠΌΠ΅Π΄ΠΈΠΉΠ½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° SDL ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ°ΠΊΠΈΠ΅ ΡΡΠ΅Π΄ΡΡΠ²Π° ΠΊΠ°ΠΊ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎ-ΡΡΠΊΠΎΡΠ΅Π½Π½ΡΠΉ Π²ΡΠ²ΠΎΠ΄ 2D- ΠΈ 3D-Π³ΡΠ°ΡΠΈΠΊΠΈ, ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π²Π²ΠΎΠ΄Π°, Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π·Π²ΡΠΊΠ°, Π²ΡΠ²ΠΎΠ΄ 3D ΡΠ΅ΡΠ΅Π· OpenGL/OpenGL ES/Vulkan ΠΈ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΈΠ½ΡΡ ΡΠΎΠΏΡΡΡΡΠ²ΡΡΡΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ. ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π½Π°ΠΏΠΈΡΠ°Π½Π° Π½Π° ΡΠ·ΡΠΊΠ΅ Π‘ΠΈ ΠΈ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ΅ΡΡΡ ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·ΠΈΠ΅ΠΉ Zlib. ΠΠ»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ SDL Π² ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΠ·ΡΠΊΠ°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ ΠΎΠ±Π²ΡΠ·ΠΊΠΈ.
Π Π½ΠΎΠ²ΠΎΠΌ Π²ΡΠΏΡΡΠΊΠ΅:
- Π£Π»ΡΡΡΠ΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° Wayland. ΠΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²Π°Π»ΠΎΡΡ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° Wayland ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π² ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡΡ , ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡΠΈΡ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ 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.
- ΠΠΎΠ±Π°Π²Π»Π΅Π½ Π½Π°Π±ΠΎΡ ΡΡΠ½ΠΊΡΠΈΠΉ Π΄Π»Ρ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΡΡΠΈΠΈ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΡΠΌΠΈ ΠΎΠ±Π»Π°ΡΡΡΠΌΠΈ (ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π²Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ ΡΠΎΡΠ΅ΠΊ, ΠΎΡΠΈΡΡΠΊΠ°, ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅, ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ ΠΈ Ρ.ΠΏ.), ΠΎΠΏΠ΅ΡΠΈΡΡΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ°ΠΌΠΈ ΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠ°ΠΌΠΈ Π½Π° Π±Π°Π·Π΅ ΡΠΈΡΠ΅Π» c ΠΏΠ»Π°Π²Π°ΡΡΠ΅ΠΉ Π·Π°ΠΏΡΡΠΎΠΉ: 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