gpt4 book ai didi

SDL:在非全屏模式下查找最大窗口大小

转载 作者:行者123 更新时间:2023-12-04 18:30:37 26 4
gpt4 key购买 nike

我有一个不能在全屏模式下运行的应用程序。
在 SDL_init 之后,我执行 SDL_SetVideoMode(0, 0, SDL_OPENGL | SDL_HWSURFACE | SDL_ASYNCBLIT)。从我读到的,这应该分配一个最大大小的窗口。
现在不幸的是它分配了一个 1600x900 的窗口:这是监视器的物理大小,而不是监视器上的可用空间(其中一些被菜单行和窗口边框使用)。
任何想法如何找到可用空间?

最佳答案

我在全屏运行的程序中(隐藏菜单、停靠栏、面板等)是:

if ( SDL_Init( SDL_INIT_VIDEO | SDL_INIT_TIMER ) < 0 ) {
throw SDL_GetError();
}
const SDL_VideoInfo* vidinfo = SDL_GetVideoInfo();
int max_w = vidinfo->current_w;
int max_h = vidinfo->current_h;
.
.
.
SDL_Surface *screen = SDL_SetVideoMode(max_w,max_h,0,SDL_FULLSCREEN);

请务必在 SDL_SetVideoMode() 之前调用 SDL_GetVideoInfo()。

关于SDL:在非全屏模式下查找最大窗口大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11144712/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com