我有一个SDL应用程序,并希望使窗口可调整大小。所以我在SDL_SetVideoMode()中放置了适当的标志并创建了一个事件处理程序。但是当我调整窗口大小时,处理程序不会被激活。我不知道为什么。
我的事件循环代码:
while (SDL_PollEvent (&event));
{
if (event.type == SDL_QUIT)
return 0+1;
else if (event.type == SDL_VIDEORESIZE)
{
board.x = static_cast<int> ( static_cast<float> (event.resize.w - 2 * hMargin) / Field + 0.5f );
board.y = static_cast<int> ( static_cast<float> (event.resize.h - 2 * vMargin - Face - FaceSpace) / Field + 0.5f );
return 0;
}
}
返回0 + 1表示成功退出(主要返回0); return 0用于重启app(执行另一个SetVideoMode)。
看起来当我调整窗口大小时,事件不会被发送。
我正在使用SDL版本1.2.14。
编辑:
我写了一个示例程序,它起作用了。但是我再一次看了代码并且......在while()-.-
之后看到了一个分号答案 0 :(得分:1)