Выпуск ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΌΠ΅Π΄ΠΈΠΉΠ½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ SDL 2.0.22

Бостоялся Ρ€Π΅Π»ΠΈΠ· Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ 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