相对于SDL2中窗口所在的屏幕大小(在有多个显示的情况下)调整窗口大小

时间:2019-10-08 10:32:24

标签: c sdl sdl-2

我正在写一些包装SDL2的代码。我想处理一种情况,即在创建窗口后将其移动到另一个显示器,并适当地缩放窗口。

我正在使用C。

对于一个SDL_Window对象,我不知道的部分是如何在多显示器设置上找出该窗口在哪个显示器中。如果我能找到答案,那么找到该显示器的大小并适当设置窗口大小就很简单了。

// Width and height of display that myWindow is in (myWindow some previously created SDL_Window)
int disp_x_size_px;
int disp_y_size_px;

/* Need code to get values for disp_x_size_px and disp_y_size_px.
    With these values I can set the window size correctly. */

1 个答案:

答案 0 :(得分:0)

根据genpfault的评论,答案是使用SDL_GetWindowDisplayIndex()来打开一个窗口。然后当然可以使用SDL_GetDisplayBounds()来获取显示大小,并使用SDL_SetWindowPosition()来适当地设置窗口位置。

注意:我将其放在一个答案中,以便该问题可以得到一个可接受的答案:毕竟,它已经被接受了。