eml*_*lai 10 sdl fullscreen sdl-2
我在使用我的程序停用全屏模式时遇到问题.输入全屏正确,但尝试返回窗口模式不起作用,唯一的效果是光标再次显示.
这是为我重现问题的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();
}
Run Code Online (Sandbox Code Playgroud)
SDL_SetWindowFullscreen返回0,就像操作成功一样.我究竟做错了什么?(我在OS X 10.10.3上使用SDL 2.0.3.)