SDL 2.0.22 媒體庫發布

旨在簡化遊戲和多媒體應用程序編寫的 SDL 2.0.22 (Simple DirectMedia Layer) 庫已經發布。 SDL 庫提供硬件加速的 2D 和 3D 圖形輸出、輸入處理、音頻播放、通過 OpenGL/OpenGL ES/Vulkan 的 3D 輸出以及許多其他相關操作等功能。 該庫是用 C 語言編寫的,並在 Zlib 許可證下分發。 為了在各種編程語言的項目中使用 SDL 功能,提供了必要的綁定。

在新版本中:

  • 改進了對 Wayland 協議的支援。 最初,計劃在同時支援 Wayland 和 X11 的環境中切換為預設使用 Wayland 協議,但由於遊戲和 NVIDIA 驅動程式中與 Wayland 相關的問題,決定推遲過渡(在 Wayland 環境中) XWayland 組件,使用X11 協議的輸出)。 要使用 Wayland,您可以在啟動應用程式之前設定環境變數“SDL_VIDEODRIVER=wayland”,或在呼叫 SDL_Init() 之前將函數“SDL_SetHint(SDL_HINT_VIDEODRIVER, “wayland,x11”)”新增至程式碼。 使用 Wayland 編譯至少需要 libwayland-client 版本 1.18.0。
  • 新增了 SDL_RenderGetWindow() 函數來取得與 SDL 渲染器關聯的視窗。
  • 新增了一組用於操作矩形區域(確定點的出現、清除、比較、合併等)、基於浮點數操作座標和大小的函數: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 參數設定為 Windows。
  • 對於 Linux,新增了 SDL_HINT_VIDEO_WAYLAND_PREFER_LIBDECOR 標誌,以便將 libdecor 與支援 xdg-decoration 的複合伺服器一起使用。
  • 對於 Android,已實作 SDL_AndroidSendMessage() 函數以將任意命令傳送至 SDL Java 處理程序。

來源: opennet.ru

添加評論