SDL 2.0.22 Media kutubxonasi relizi

O'yinlar va multimedia ilovalarini yozishni soddalashtirishga qaratilgan SDL 2.0.22 (Simple DirectMedia Layer) kutubxonasi chiqarildi. SDL kutubxonasi apparat tomonidan tezlashtirilgan 2D va 3D grafiklarni chiqarish, kiritishni qayta ishlash, audio tinglash, OpenGL/OpenGL ES/Vulkan orqali 3D chiqish va boshqa koʻplab tegishli operatsiyalar kabi imkoniyatlarni taqdim etadi. Kutubxona C tilida yozilgan va Zlib litsenziyasi ostida tarqatiladi. SDL imkoniyatlaridan turli dasturlash tillaridagi loyihalarda foydalanish uchun kerakli bog'lanishlar taqdim etiladi.

Yangi nashrda:

  • Wayland protokoli uchun yaxshilangan qo'llab-quvvatlash. Dastlab, Wayland va X11-ni bir vaqtning o'zida qo'llab-quvvatlaydigan muhitlarda sukut bo'yicha Wayland protokolidan foydalanishga o'tish rejalashtirilgan edi, ammo o'yinlarda Wayland va NVIDIA drayverlari bilan bog'liq muammolar tufayli o'tishni kechiktirishga qaror qilindi (Wayland muhitida. XWayland komponenti, X11 protokolidan foydalanish natijasida). Wayland-dan foydalanish uchun dasturni ishga tushirishdan oldin “SDL_VIDEODRIVER=wayland” muhit oʻzgaruvchisini oʻrnatishingiz yoki SDL_Init() ga qoʻngʻiroq qilishdan oldin kodga “SDL_SetHint(SDL_HINT_VIDEODRIVER, “wayland,x11”)” funksiyasini qoʻshishingiz mumkin. Wayland bilan kompilyatsiya qilish uchun kamida libwayland-client versiyasi 1.18.0 talab qilinadi.
  • SDL Renderer bilan bog'langan oynani olish uchun SDL_RenderGetWindow() funksiyasi qo'shildi.
  • To'rtburchaklar maydonlarni boshqarish (nuqtalarning paydo bo'lishini aniqlash, tozalash, taqqoslash, birlashtirish va h.k.), suzuvchi nuqta raqamlariga asoslangan koordinatalar va o'lchamlar bilan ishlash uchun funktsiyalar to'plami qo'shildi: SDL_PointInFRect(), SDL_FRectEmpty(), SDL_FRectEquals(), SDL_FRect () , SDL_HasIntersectionF(), SDL_IntersectFRect(), SDL_UnionFRect(), SDL_EncloseFPoints() va SDL_IntersectFRectAndLine().
  • Matn kiritish maydoni ko'rsatilganligini tekshirish uchun SDL_IsTextInputShown() funksiyasi qo'shildi.
  • Matn kiritish maydonini kiritish usulini (IME) o‘chirmasdan tozalash uchun SDL_ClearComposition() funksiyasi qo‘shildi.
  • Uzun matn kiritish maydonlarini boshqarish uchun SDL_TEXTEDITING_EXT hodisasi va bu hodisani yoqish uchun SDL_HINT_IME_SUPPORT_EXTENDED_TEXT belgisi qo‘shildi.
  • Nisbiy rejim yoqilganda sichqonchani butun oyna oʻrniga faqat oyna markaziga cheklashni yoqish uchun SDL_HINT_MOUSE_RELATIVE_MODE_CENTER bayrogʻi qoʻshildi.
  • Sichqoncha tugmachalarini bosganda sichqonchani avtomatik suratga olish yoqilgan. Uni o'chirish uchun SDL_HINT_MOUSE_AUTO_CAPTURE bayrog'i taklif etiladi.
  • Tashqi oynada OpenGL yoki Vulkandan foydalanish haqidagi ma'lumotlarni etkazish uchun SDL_HINT_VIDEO_FOREIGN_WINDOW_OPENGL va SDL_HINT_VIDEO_FOREIGN_WINDOW_VULKAN bayroqlari qo'shildi.
  • Oxirgi dastur oynasi yopilganda SDL_QUIT hodisasini yetkazib berishni yoqish uchun SDL_HINT_QUIT_ON_LAST_WINDOW_CLOSE bayrog'i qo'shildi.
  • ROG Chakram sichqonchasini joystik sifatida ishlatish uchun SDL_HINT_JOYSTICK_ROG_CHAKRAM bayrog‘i qo‘shildi.
  • Linux uchun Windows uchun _NET_WM_WINDOW_TYPE parametrini o'rnatish uchun SDL_HINT_X11_WINDOW_TYPE atributi qo'shilgan.
  • Linux uchun SDL_HINT_VIDEO_WAYLAND_PREFER_LIBDECOR bayrog'i xdg-dekoratsiyani qo'llab-quvvatlaydigan kompozit serverlar bilan libdecordan foydalanish uchun qo'shilgan.
  • Android uchun SDL_AndroidSendMessage() funksiyasi SDL Java ishlov beruvchisiga ixtiyoriy buyruq yuborish uchun amalga oshirilgan.

Manba: opennet.ru

a Izoh qo'shish