是否可以使用 glut 创建一个固定大小的窗口,因此窗口尺寸的任何更改都将被忽略。
对我来说切换回 SDL 或类似的东西有点太晚了。
显然,这是不可能的,但您可以glutReshapeWindow
在您的glutReshapeFunc
-callback 中使用,在释放鼠标后立即将其恢复。它非常有效,据我所知是最好的解决方案。仅使用 freeglut 测试:
glutReshapeFunc(resize);
void resize(int width, int height) {
// we ignore the params and do:
glutReshapeWindow( 800, 600);
}
最终,没有。您可以做的最好的事情是glutReshapeWindow
在检测到它已被调整大小时调用强制它为特定大小。但仅此而已。如果这样做,则需要通过确保仅glutReshapeWindow
在新大小与所需大小不同时才调用来防止无限循环。这不会阻止用户尝试调整它的大小,但会阻止他们成功。可能。
请记住:GLUT 是为演示应用程序和简单的测试平台而设计的。对于这样的应用程序,调整窗口大小的能力是相当标准的。