The vydanie novej verzie SDL 2.0.22, verzia, v ktorej boli vykonané rôzne vylepšenia kompatibility s Waylandom, ako aj rôzne vylepšenia a ďalšie.
Pre tých, ktorí nepoznajú knižnicu SDL, mali by ste vedieť, že poskytuje nástroje, ako je hardvérovo akcelerovaný 2D a 3D grafický výstup, spracovanie vstupu, prehrávanie zvuku, 3D výstup cez OpenGL / OpenGL ES a mnoho ďalších súvisiacich operácií.
SDL je analogický s DirectX, na čo by sa dalo tvrdiť, že analógom DirectX je OpenGL. DirectX funguje aj so vstupnými zariadeniami a zvukom. Ked Loki Software zacal portovat AAA hry na Linux, nahradili Direct3D OpenGL a nic ine nenahradilo a kedze je dnes tazke napisat "X" aplikacie aj s WinAPI na API X11, ale s DirectDraw na WinAPI co uz je problém, takto sa zrodila SDĽ.
Hlavné nové funkcie SDL 2.0.22
V tejto novej verzii, ktorá je prezentovaná, Vylepšenia kompatibility protokolu Waylandtak na začiatku, plánovalo sa štandardne prejsť na používanie protokolu Waylandda v prostrediach, ktoré poskytujú simultánnu podporu pre Wayland a X11, ale kvôli problémom súvisiace s Wayland v hrách a ovládačoch NVIDIA, bolo rozhodnuté odložiť prechod (V prostrediach Wayland s komponentom XWayland sa výstup stále používa pomocou protokolu X11.)
Ak chcete použiť Wayland, musí byť nastavená premenná prostredia "SDL_VIDEODRIVER=wayland" pred spustením aplikácie alebo pridajte funkciu 'SDL_SetHint(SDL_HINT_VIDEODRIVER, "wayland,x11")' do kódu pred volaním SDL_Init(). Kompilácia pomocou Wayland vyžaduje aspoň libwayland-client 1.18.0.
Ďalšou vynikajúcou zmenou je táto pridal súbor funkcií na manipuláciu s obdĺžnikovými oblasťami (určiť výskyt bodov, odstrániť, porovnať, zlúčiť atď.), pracovať so súradnicami a veľkosťami na základe čísel s pohyblivou rádovou čiarkou.
Pre Linux bol pridaný príznak SDL_HINT_X11_WINDOW_TYPE na nastavenie parametra _NET_WM_WINDOW_TYPE v systéme Windows a tiež pridal príznak SDL_HINT_VIDEO_WAYLAND_PREFER_LIBDECOR pre Linux na používanie libdecor s kompozitnými servermi, ktoré podporujú xdg-decoration.
Pre Android je implementovaná funkcia SDL_AndroidSendMessage() na odoslanie ľubovoľného príkazu do ovládača Java SDL.
Z ďalších zmien ktoré vynikajú:
- Pridaný príznak SDL_HINT_QUIT_ON_LAST_WINDOW_CLOSE na povolenie doručenia udalosti SDL_QUIT po zatvorení posledného okna aplikácie.
- Pridaná vlastnosť SDL_HINT_JOYSTICK_ROG_CHAKRAM, aby ste s myšou ROG Chakram zaobchádzali ako s joystickom.
Pridaná funkcia SDL_RenderGetWindow() na získanie okna priradeného k SDL Renderer. - Pridaná funkcia SDL_IsTextInputShown() na kontrolu, či je zobrazená oblasť zadávania textu.
- Pridaná funkcia SDL_ClearComposition() na vymazanie oblasti zadávania textu bez vypnutia metódy vstupu (IME).
- Pridaná udalosť SDL_TEXTEDITING_EXT na spracovanie dlhých oblastí zadávania textu a príznak SDL_HINT_IME_SUPPORT_EXTENDED_TEXT na povolenie tejto udalosti.
- Pridaný príznak SDL_HINT_MOUSE_RELATIVE_MODE_CENTER na povolenie obmedzenia myši iba na stred okna namiesto na celé okno, keď je povolený relatívny režim.
- Povolené automatické snímanie myši pri kliknutí na tlačidlá myši. Atribút SDL_HINT_MOUSE_AUTO_CAPTURE sa navrhuje deaktivovať.
Konečne ak máte záujem dozvedieť sa o tom viac tejto novej verzie môžete skontrolovať podrobnosti v nasledujúcom odkaze.
Ako nainštalovať Simple DirectMedia Layer na Linux?
Inštalácia tejto knižnice v systéme Linux je dosť jednoduchá, pretože väčšina distribúcií systému Linux ju má vo svojich úložiskách.
V prípade Debian, Ubuntu a distribúcie z nich odvodené, budete musieť iba spustiť nasledujúce príkazy v termináli:
sudo apt-get install libsdl2-2.0 sudo apt-get install libsdl2-dev
Zatiaľ čo pre prípad tých, ktorí sú uArch Linux suarios, musíme spustiť nasledovné:
sudo pacman -S sdl2
V prípade tých, ktorí sú používateľmi Fedora, Centos, RHEL alebo akákoľvek distribúcia na nich založená, musia spustiť nasledujúci príkaz:
sudo yum install SDL2 sudo yum install SDL2-devel
Pre všetky ostatné distribúcie Linuxu, môžu vyhľadať balík „sdl“ alebo „libsdl“ na inštaláciu alebo stiahnuť a skompilovať zdrojový kód.
Robia to pomocou:
git clone https://hg.libsdl.org/SDL SDL cd SDL mkdir build cd build ./configure make sudo make install