В пускане на новата версия на SDL 2.0.22, версия, в която са направени различни подобрения на съвместимостта с Wayland, както и различни подобрения и др.
За тези, които не са запознати с библиотеката SDL, трябва да знаете, че тя, предоставя инструменти като хардуерно ускорен 2D и 3D графичен изход, обработка на входа, възпроизвеждане на аудио, 3D изход чрез OpenGL / OpenGL ES и много други свързани операции.
SDL е аналог на DirectX, на което може да се твърди, че аналогът на DirectX е OpenGL. DirectX работи и с входни устройства и звук. Когато Loki Software започна да пренася AAA игри на Linux, те замениха Direct3D с OpenGL и нямаше заместител за нищо друго и тъй като в наши дни е трудно да се пишат "X" приложения дори с WinAPI на API X11, но с DirectDraw на WinAPI, който вече е проблем, така се роди SDL.
Основни нови функции на SDL 2.0.22
В тази нова версия, която е представена, Подобрения в съвместимостта на протокола Wayland, така че първоначално, беше планирано да се премине към използване на протокола Wayland по подразбиранеda в среди, които осигуряват едновременна поддръжка за 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.
Друга промяна, която се откроява, е тази добави набор от функции за манипулиране на правоъгълни зони (определяне на появата на точки, изтриване, сравнение, сливане и т.н.), опериране с координати и размери въз основа на числа с плаваща запетая.
За Linux е добавен флаг SDL_HINT_X11_WINDOW_TYPE за да зададете параметъра _NET_WM_WINDOW_TYPE на Windows и също така добави флага SDL_HINT_VIDEO_WAYLAND_PREFER_LIBDECOR за Linux за използване на libdecor с композитни сървъри, които поддържат xdg-decoration.
За Android функцията SDL_AndroidSendMessage() е внедрена за изпращане на произволна команда към Java SDL контролера.
От останалите промени които се открояват:
- Добавен е флаг SDL_HINT_QUIT_ON_LAST_WINDOW_CLOSE, за да се даде възможност за доставка на събитието SDL_QUIT, когато последният прозорец на приложението е затворен.
- Добавена черта SDL_HINT_JOYSTICK_ROG_CHAKRAM за работа с мишката ROG Chakram като джойстик.
Добавена е функцията SDL_RenderGetWindow(), за да получите прозореца, свързан със SDL Renderer. - Добавена е функция 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 се предлага да бъде деактивиран.
Накрая ако се интересувате да научите повече за това от тази нова версия, можете да проверите подробности в следващия линк.
Как да инсталирам Simple DirectMedia Layer на Linux?
Инсталирането на тази библиотека на Linux е доста просто, тъй като повечето дистрибуции на Linux я имат в своите хранилища.
В случай на Debian, Ubuntu и дистрибуции, получени от тях, ще трябва само да стартирате следните команди в терминал:
sudo apt-get install libsdl2-2.0 sudo apt-get install libsdl2-dev
Докато за случая с тези, които са uArch Linux suarios, ние просто трябва да изпълним следното:
sudo pacman -S sdl2
В случая с тези, които са потребители на Fedora, Centos, RHEL или всякаква дистрибуция, базирана на тях, те просто трябва да изпълнят следната команда:
sudo yum install SDL2 sudo yum install SDL2-devel
За всички останали дистрибуции на Linux, те могат да търсят пакета "sdl" или "libsdl" за инсталиране или да изтеглят и компилират изходния код.
Те правят това с:
git clone https://hg.libsdl.org/SDL SDL cd SDL mkdir build cd build ./configure make sudo make install