SDL 2.0.22 Media Library Release

Ойындар мен мультимедиялық қосымшаларды жазуды жеңілдетуге бағытталған SDL 2.0.22 (Қарапайым DirectMedia Layer) кітапханасы шығарылды. SDL кітапханасы аппараттық жеделдетілген 2D және 3D графикалық шығыс, енгізуді өңдеу, дыбысты ойнату, OpenGL/OpenGL ES/Vulkan арқылы 3D шығысы және басқа да көптеген байланысты операциялар сияқты құралдарды қамтамасыз етеді. Кітапхана C тілінде жазылған және Zlib лицензиясы бойынша таратылады. Әртүрлі бағдарламалау тілдеріндегі жобаларда SDL мүмкіндіктерін пайдалану үшін қажетті байланыстырулар қамтамасыз етілген.

Жаңа шығарылымда:

  • Wayland протоколына қолдау жақсартылды. Бастапқыда Wayland және X11 үшін бір уақытта қолдау көрсететін орталарда әдепкі бойынша Wayland протоколын пайдалануға ауысу жоспарланған болатын, бірақ ойындардағы Wayland және NVIDIA драйверлерімен байланысты мәселелерге байланысты ауысуды кейінге қалдыру туралы шешім қабылданды (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 өңдеушісіне ерікті пәрменді жіберу үшін іске асырылды.

Ақпарат көзі: opennet.ru

пікір қалдыру