Выпуск мультимедийной библиотеки 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_FRectEqualsEpsilon (), 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.



Источник: http://www.opennet.ru/opennews/art.shtml? num=57083

© OpenNet