Έκδοση SDL 2.0.22 Media Library

Κυκλοφόρησε η βιβλιοθήκη SDL 2.0.22 (Simple DirectMedia Layer), που στοχεύει στην απλοποίηση της γραφής παιχνιδιών και εφαρμογών πολυμέσων. Η βιβλιοθήκη SDL παρέχει ευκολίες όπως έξοδο γραφικών 2D και 3D με επιτάχυνση υλικού, χειρισμό εισόδου, αναπαραγωγή ήχου, έξοδο 3D μέσω OpenGL/OpenGL ES/Vulkan και πολλές άλλες σχετικές λειτουργίες. Η βιβλιοθήκη είναι γραμμένη σε C και διανέμεται με την άδεια 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.

Πηγή: opennet.ru

Προσθέστε ένα σχόλιο