การเปิดตัวไลบรารีสื่อ SDL 2.0.22

ไลบรารี 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

เพิ่มความคิดเห็น