SDL2在
SDL_Init()
调用中构造并初始化视频设备。 如果SDL2决定使用Wayland,则可以调用连接到Wayland Server并存储封装该连接的Wayland_CreateDevice
。 该单个视频设备在所有SDL2 Windows之间共享。 我正在尝试获得此
wl_display*
实例,并直接用于某些目的,而SDL2没有包装器。
如果我们已经创建了一个SDL_WINDOW实例并有一个指针,那么我们可以从中获得此功能:
wl_display
在我需要使用wl_display*
时,我尚未创建任何SDL窗口,因此我没有使用
SDL_SysWMinfo info;
SDL_VERSION(&info.version);
SDL_GetWindowWMInfo(window, &info); // window is a SDL_Window*
return info.info.wl.display; // assuming the Wayland driver is being used, this is a wl_display*
。有什么方法可以从sdl2中获取单个共享的实例而不经过wl_display*
?
:
:
SDL_Window*
::
SDL_Window
在SDL/src/video/SDL_sysvideo.h
中宣布。
一旦您获得了该设备,就可以访问
extern SDL_VideoDevice *SDL_GetVideoDevice(void);
via:
SDL/src/video/SDL_video.c
设备将在子系统(视频)初始化中创建。