【问题标题】:SDL: in non-fullscreen mode finding maximum window sizeSDL:在非全屏模式下查找最大窗口大小
【发布时间】:2012-06-24 01:47:19
【问题描述】:

我有一个不能以全屏模式运行的应用程序。 在 SDL_init 之后,我执行 SDL_SetVideoMode(0, 0, SDL_OPENGL | SDL_HWSURFACE | SDL_ASYNCBLIT)。根据我的阅读,这应该分配一个最大尺寸的窗口。 现在不幸的是,它分配了一个 1600x900 的窗口:这是显示器的物理尺寸,而不是显示器上的可用空间(其中一些被菜单行和窗口边框使用)。 有什么办法可以找到可用空间吗?

【问题讨论】:

  • 您在寻找特定平台的解决方案还是通用解决方案?

标签: sdl sdl-1.2


【解决方案1】:

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

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_GetVideoInfo()在 SDL_SetVideoMode()。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-23
    • 1970-01-01
    • 2017-11-24
    • 2015-07-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多