9

是否可以使用 glut 创建一个固定大小的窗口,因此窗口尺寸的任何更改都将被忽略。

对我来说切换回 SDL 或类似的东西有点太晚了。

4

2 回答 2

16

显然,这是不可能的,但您可以glutReshapeWindow在您的glutReshapeFunc-callback 中使用,在释放鼠标后立即将其恢复。它非常有效,据我所知是最好的解决方案。仅使用 freeglut 测试:

glutReshapeFunc(resize);

void resize(int width, int height) {
    // we ignore the params and do:
    glutReshapeWindow( 800, 600);
}
于 2014-03-13T09:34:38.613 回答
8

最终,没有。您可以做的最好的事情是glutReshapeWindow在检测到它已被调整大小时调用强制它为特定大小。但仅此而已。如果这样做,则需要通过确保仅glutReshapeWindow在新大小与所需大小不同时才调用来防止无限循环。这不会阻止用户尝试调整它的大小,但会阻止他们成功。可能。

请记住:GLUT 是为演示应用程序和简单的测试平台而设计的。对于这样的应用程序,调整窗口大小的能力是相当标准的。

于 2012-05-21T20:19:18.257 回答