旨在簡化遊戲和多媒體應用程序編寫的 SDL 2.0.22 (Simple DirectMedia Layer) 庫已經發布。 SDL 庫提供硬件加速的 2D 和 3D 圖形輸出、輸入處理、音頻播放、通過 OpenGL/OpenGL ES/Vulkan 的 3D 輸出以及許多其他相關操作等功能。 該庫是用 C 語言編寫的,並在 Zlib 許可證下分發。 為了在各種編程語言的項目中使用 SDL 功能,提供了必要的綁定。
在新版本中:
- 改進了對 Wayland 協議的支援。原計劃在同時支援 Wayland 和 X11 的環境中預設切換到使用 Wayland 協議,但由於遊戲和 NVIDIA 驅動程式中存在與 Wayland 相關的問題,因此決定推遲轉換(在包含 XWayland 組件的 Wayland 環境中,仍然使用 X11 協議輸出)。要使用 Wayland,您可以在啟動應用程式之前設定環境變數“SDL_VIDEODRIVER=wayland”,或在呼叫 SDL_Init() 之前在程式碼中新增函數“SDL_SetHint(SDL_HINT_VIDEODRIVER, "wayland,x11")”。要使用 Wayland 進行編譯,至少需要 libwayland-client 版本 1.18.0。
- 新增了 SDL_RenderGetWindow() 函數來取得與 SDL Renderer 關聯的視窗。
- 新增了一組使用浮點座標和尺寸操作矩形區域(確定點出現、清除、比較、合併等)的函數:SDL_PointInFRect()、SDL_FRectEmpty()、SDL_FRectEquals()、SDL_FRectEqualsEpsilon()、SDL_HasIntersectionFR(Internet(Internet000F)FFs)、Et44)、FSD_Internet(Fed)F)FR4SFS47S(Fs)(Fs)、EFs)、FSD_FDFDFR 根據%FsFsFss(F塞餅乾)、FSD_FF)、AR和 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 標誌,用於設定 Windows 的 _NET_WM_WINDOW_TYPE 參數。
- 為 Linux 為複合視訊添加了 SDL_HINT_VIDEO_WAYLAND_PREFER_LIBDECOR 標誌,用於在複合視訊中使用 libdecor。 伺服器支持 xdg-decoration。
- 為 Android SDL_ 函數已實現AndroidSendMessage() 向 SDL Java 處理程序發送任意命令。
來源: opennet.ru
