SDL 2.0.22 Toleo la Maktaba ya Vyombo vya Habari

Maktaba ya SDL 2.0.22 (Simple DirectMedia Layer) ilitolewa, yenye lengo la kurahisisha uandishi wa michezo na matumizi ya media titika. Maktaba ya SDL hutoa zana kama vile utoaji wa michoro ya 2D na 3D iliyoharakishwa kwa maunzi, usindikaji wa ingizo, uchezaji wa sauti, matokeo ya 3D kupitia OpenGL/OpenGL ES/Vulkan na shughuli nyingine nyingi zinazohusiana. Maktaba imeandikwa kwa C na inasambazwa chini ya leseni ya Zlib. Ili kutumia uwezo wa SDL katika miradi katika lugha mbalimbali za programu, vifungo muhimu vinatolewa.

Katika toleo jipya:

  • Π£Π»ΡƒΡ‡ΡˆΠ΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° 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.

Chanzo: opennet.ru

Kuongeza maoni