是否有可能创建一个固定大小的过剩窗口?

iga*_*l k 8 opengl glut

是否可以使用过剩创建一个固定大小的窗口,因此任何窗口尺寸的变化都将被忽略.

切换回SDL或类似的东西有点太迟了.

小智 13

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

glutReshapeFunc(resize);

void resize(int width, int height) {
    // we ignore the params and do:
    glutReshapeWindow( 800, 600);
}
Run Code Online (Sandbox Code Playgroud)


Nic*_*las 7

最终,没有.您可以做的最好的事情就是glutReshapeWindow在您检测到它已调整大小时调用它以使其达到特定大小.但那是关于它的.如果你这样做,你需要通过确保只glutReshapeWindow在新的大小与所需的大小不同的情况下调用来进行一些无限循环防止.这不会阻止用户尝试调整大小,但它会阻止他们成功.有可能.

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