Bản phát hành thư viện phương tiện SDL 2.0.22

Thư viện SDL 2.0.22 (Lớp DirectMedia Đơn giản) đã được phát hành, nhằm mục đích đơn giản hóa việc viết trò chơi và ứng dụng đa phương tiện. Thư viện SDL cung cấp các công cụ như đầu ra đồ họa 2D và 3D được tăng tốc phần cứng, xử lý đầu vào, phát lại âm thanh, đầu ra 3D thông qua OpenGL/OpenGL ES/Vulkan và nhiều hoạt động liên quan khác. Thư viện được viết bằng C và được phân phối theo giấy phép Zlib. Để sử dụng các khả năng của SDL trong các dự án bằng nhiều ngôn ngữ lập trình khác nhau, các ràng buộc cần thiết sẽ được cung cấp.

Trong bản phát hành mới:

  • Cải thiện hỗ trợ cho giao thức Wayland. Ban đầu, người ta dự định chuyển sang sử dụng giao thức Wayland theo mặc định trong các môi trường cung cấp hỗ trợ đồng thời cho Wayland và X11, nhưng do các vấn đề liên quan đến Wayland trong trò chơi và trình điều khiển NVIDIA, nên đã quyết định hoãn quá trình chuyển đổi (trong môi trường Wayland với thành phần XWayland, đầu ra từ việc sử dụng giao thức X11). Để sử dụng Wayland, bạn có thể đặt biến môi trường “SDL_VIDEODRIVER=wayland” trước khi khởi động ứng dụng hoặc thêm hàm “SDL_SetHint(SDL_HINT_VIDEODRIVER, “wayland,x11”)” vào mã trước khi gọi SDL_Init(). Biên dịch bằng Wayland yêu cầu ít nhất libwayland-client phiên bản 1.18.0.
  • Đã thêm chức năng SDL_RenderGetWindow() để liên kết cửa sổ với Trình kết xuất SDL.
  • Đã thêm bộ hàm để thao tác các khu vực hình chữ nhật (xác định sự xuất hiện của điểm, xóa, so sánh, hợp nhất, v.v.), hoạt động với tọa độ và kích thước dựa trên số dấu phẩy động: SDL_PointInFRect(), SDL_FRectEmpty(), SDL_FRectEquals(), SDL_FRectEqualsEpsilon () , SDL_HasIntersectionF(), SDL_IntersectFRect(), SDL_UnionFRect(), SDL_EncloseFPoints() và SDL_IntersectFRectAndLine().
  • Đã thêm chức năng SDL_IsTextInputShown() để kiểm tra xem vùng nhập văn bản có được hiển thị hay không.
  • Đã thêm chức năng SDL_ClearComposition() để xóa vùng nhập văn bản mà không tắt phương thức nhập (IME).
  • Đã thêm sự kiện SDL_TEXTEDITING_EXT để xử lý các vùng nhập văn bản dài và cờ SDL_HINT_IME_SUPPORT_EXTENDED_TEXT để bật sự kiện này.
  • Đã thêm cờ SDL_HINT_MOUSE_RELATIVE_MODE_CENTER để cho phép giới hạn chuột chỉ ở giữa cửa sổ thay vì toàn bộ cửa sổ khi chế độ tương đối được bật.
  • Bật tính năng tự động bắt chuột khi nhấn nút chuột. Để vô hiệu hóa nó, cờ SDL_HINT_MOUSE_AUTO_CAPTURE được đề xuất.
  • Đã thêm cờ SDL_HINT_VIDEO_FOREIGN_WINDOW_OPENGL và SDL_HINT_VIDEO_FOREIGN_WINDOW_VULKAN để truyền tải thông tin về việc sử dụng OpenGL hoặc Vulkan trong cửa sổ bên ngoài.
  • Đã thêm cờ SDL_HINT_QUIT_ON_LAST_WINDOW_CLOSE để cho phép phân phối sự kiện SDL_QUIT khi cửa sổ ứng dụng cuối cùng bị đóng.
  • Đã thêm cờ SDL_HINT_JOYSTICK_ROG_CHAKRAM để coi chuột ROG Chakram như một cần điều khiển.
  • Đối với Linux, thuộc tính SDL_HINT_X11_WINDOW_TYPE đã được thêm vào để đặt tham số _NET_WM_WINDOW_TYPE cho windows.
  • Đối với Linux, cờ SDL_HINT_VIDEO_WAYLAND_PREFER_LIBDECOR đã được thêm để sử dụng libdesign với các máy chủ tổng hợp hỗ trợ trang trí xdg.
  • Đối với Android, hàm SDL_AndroidSendMessage() đã được triển khai để gửi lệnh tùy ý tới trình xử lý Java SDL.

Nguồn: opennet.ru

Thêm một lời nhận xét