【发布时间】:2015-06-03 19:36:29
【问题描述】:
我在使用我的程序停用全屏模式时遇到问题。正确进入全屏模式,但尝试返回窗口模式不起作用,唯一的影响是光标再次显示。
这是为我重现该问题的 MCVE/SSCCE:
void ToggleFullscreen(SDL_Window* Window) {
Uint32 FullscreenFlag = SDL_WINDOW_FULLSCREEN;
bool IsFullscreen = SDL_GetWindowFlags(Window) & FullscreenFlag;
SDL_SetWindowFullscreen(Window, IsFullscreen ? 0 : FullscreenFlag);
SDL_ShowCursor(IsFullscreen);
}
int main() {
SDL_Init(SDL_INIT_VIDEO);
SDL_Window* Window = SDL_CreateWindow("",
SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, 640, 480, 0);
bool Exit = false;
for (SDL_Event Event; !Exit;) {
SDL_WaitEvent(&Event);
if (Event.type == SDL_KEYDOWN) {
switch (Event.key.keysym.sym) {
case SDLK_f: ToggleFullscreen(Window); break;
case SDLK_q: Exit = true; break;
}
}
}
SDL_DestroyWindow(Window);
SDL_Quit();
}
SDL_SetWindowFullscreen 返回0,就好像操作成功一样。我究竟做错了什么? (我在 OS X 10.10.3 上使用 SDL 2.0.3。)
【问题讨论】:
标签: sdl fullscreen sdl-2