Выпуск мультымедыйнай бібліятэкі 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_FR , 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

Дадаць каментар