2012-05-21 18 views
7

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

对于我切换回SDL或任何类似的东西来说已经太迟了。

+1

“对于我切换回SDL或其他任何类似情况,已经太迟了。”我无法想象这将是一个重大问题。 GLUT用于窗口设置和管理;转换经理应该只需要相当的本地化变更除非你依赖GLUT特有的功能,比如sRGB帧缓冲等。 –

回答

9

显然,这是不可能以合法的方式,但您可以在glutReshapeFunc回调中使用,在鼠标释放后立即将其对齐。这是非常有效的,据我所知最好的解决方案。只有使用freeglut进行测试:

glutReshapeFunc(resize); 

void resize(int width, int height) { 
    // we ignore the params and do: 
    glutReshapeWindow(800, 600); 
} 
+0

哈哈哇感谢您在我的第一篇也是唯一一篇文章上的赞扬 – mouse

3

最终,没有。只要您检测到已调整大小,您可以致电glutReshapeWindow将其强制为特定大小。但就是这样。如果你这样做,你需要做一些无限循环预防,确保你只有在新的尺寸与期望的尺寸不一致时才打电话给glutReshapeWindow。这不会阻止尝试的用户调整其大小,但会阻止他们成功。有可能。记住:GLUT是专为演示应用和简单的测试床而设计的。对于这样的应用程序,调整窗口大小的功能非常标准。

相关问题