Випуск мультимедійної бібліотеки 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

Додати коментар або відгук