Публикация на мултимедийната библиотека 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.
  • Добавен е набор от функции за манипулация на правоъгълни области (определяне на принадлежност на точки, изчистване, сравняване, обединяване и др.), оперирайки с координати и размери на базата на числа с плаваща запетая: 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

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster