SDL 2.0.22 мультимедиалык китепканасынын чыгарылышы

SDL 2.0.22 (Жөнөкөй DirectMedia Layer) китепканасы чыгарылды, ал оюндарды жана мультимедиялык тиркемелерди жазууну жөнөкөйлөтүүгө багытталган. SDL китепканасы аппараттык тездетилген 2D жана 3D графикасын чыгаруу, киргизүүнү иштетүү, аудиону ойнотуу, OpenGL/OpenGL ES/Vulkan аркылуу 3D чыгаруу жана башка көптөгөн операциялар сыяктуу куралдар менен камсыз кылат. Китепкана C тилинде жазылган жана Zlib лицензиясы боюнча таратылат. Ар кандай программалоо тилдериндеги долбоорлордо SDL мүмкүнчүлүктөрүн колдонуу үчүн керектүү байланыштар каралган.

Жаңы чыгарылышта:

  • Wayland протоколу үчүн жакшыртылган колдоо. Башында, Wayland жана X11 үчүн бир убакта колдоо көрсөткөн чөйрөлөрдө Wayland протоколун колдонууга өтүү пландаштырылган, бирок оюндарда жана NVIDIA драйверлеринде Wayland менен байланышкан көйгөйлөрдөн улам, өтүүнү кийинкиге калтыруу чечими кабыл алынган (Wayland чөйрөсүндө XWayland компоненти, X11 протоколун колдонуудан чыгуу). Wayland колдонуу үчүн, колдонмону баштоодон мурун “SDL_VIDEODRIVER=wayland” чөйрө өзгөрмөсүн орното аласыз же SDL_Init() чалуудан мурун кодго “SDL_SetHint(SDL_HINT_VIDEODRIVER, “wayland,x11”)” функциясын кошсоңуз болот. Wayland менен компиляциялоо үчүн жок дегенде libwayland-client 1.18.0 версиясы талап кылынат.
  • SDL Renderer менен байланышкан терезени алуу үчүн SDL_RenderGetWindow() функциясы кошулду.
  • Тик бурчтуу аймактарды башкаруу (чекиттердин пайда болушун аныктоо, тазалоо, салыштыруу, бириктирүү ж.б.) үчүн функциялардын жыйындысы кошулду, калкыма чекиттердин негизинде координаттар жана өлчөмдөр менен иштөө: SDL_PointInFRect(), SDL_FRectEmpty(), SDL_FRectEquals(), SDL_FRect () , SDL_HasIntersectionF(), SDL_IntersectFRect(), SDL_UnionFRect(), SDL_EncloseFPoints() жана SDL_IntersectFRectAndLine().
  • Текст киргизүү аймагы көрсөтүлгөнүн текшерүү үчүн SDL_IsTextInputShown() функциясы кошулду.
  • Киргизүү ыкмасын (IME) өчүрбөстөн, текст киргизүү аймагын тазалоо үчүн SDL_ClearComposition() функциясы кошулду.
  • Узун текст киргизүү аймактарын иштетүү үчүн SDL_TEXTEDITING_EXT окуясы жана бул окуяны иштетүү үчүн SDL_HINT_IME_SUPPORT_EXTENDED_TEXT желекчеси кошулду.
  • Салыштырмалуу режим иштетилгенде чычканды бүт терезенин ордуна терезенин ортосуна гана чектөөнү иштетүү үчүн SDL_HINT_MOUSE_RELATIVE_MODE_CENTER желеги кошулду.
  • Чычкан баскычтарын басканда чычканды автоматтык түрдө тартуу иштетилди. Аны өчүрүү үчүн SDL_HINT_MOUSE_AUTO_CAPTURE желекчеси сунушталат.
  • Тышкы терезеде OpenGL же Vulkan колдонуу жөнүндө маалыматты жеткирүү үчүн SDL_HINT_VIDEO_FOREIGN_WINDOW_OPENGL жана SDL_HINT_VIDEO_FOREIGN_WINDOW_VULKAN желектери кошулду.
  • Акыркы колдонмо терезеси жабылганда SDL_QUIT окуясын жеткирүү үчүн SDL_HINT_QUIT_ON_LAST_WINDOW_CLOSE желекчеси кошулду.
  • ROG Chakram чычканына джойстик катары мамиле кылуу үчүн SDL_HINT_JOYSTICK_ROG_CHAKRAM желеги кошулду.
  • Linux үчүн SDL_HINT_X11_WINDOW_TYPE атрибуту _NET_WM_WINDOW_TYPE параметрин терезелерге коюу үчүн кошулган.
  • Linux үчүн SDL_HINT_VIDEO_WAYLAND_PREFER_LIBDECOR желеги xdg-декорацияны колдогон курама серверлер менен libdecor колдонуу үчүн кошулган.
  • Android үчүн SDL_AndroidSendMessage() функциясы SDL Java иштеткичине ыктыярдуу буйрук жөнөтүү үчүн ишке ашырылган.

Source: opennet.ru

Комментарий кошуу