c++ - glutGetWindow - 表达式必须有类类型

标签 c++ glut

下午好,

所以我正在使用 C++(准确地说是 Visual Studios C++ 2010)并且正在处理一项看似简单的任务;

在窗口中间画一幅画。如果重新调整窗口大小,图片/位图将重新绘制到新大小窗口的中间。

我想得到窗口的中间,我应该找到它的最右边和最下面的位,然后分别除以2,但我不知道如何得到窗口的长度和高度。

我现在有

centrewidth = glutGetWindow().Size.Width;
centreheight = glutGetWindow().Size.Height;

然而,对于这两个问题,我在 glutGetWindow 上都遇到了错误,提示“错误:表达式必须具有类类型”。我确定一旦我得到这个,就没问题了,但这给我带来了很多麻烦。任何意见是极大的赞赏。谢谢!

最佳答案

glutGetWindow 不返回任何类类型的对象。它的签名是这样的:

int glutGetWindow(void);

你需要的是这个(参见 doc ):

int glutGet(GLenum eWhat);

例子,

int width = glutGet(GLUT_WINDOW_WIDTH); //Width in pixels of the current window.
int height = glutGet(GLUT_WINDOW_HEIGHT); //Height in pixels of the current window.

看看 doc了解使用此功能可以获得什么状态

关于c++ - glutGetWindow - 表达式必须有类类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7474557/

相关文章:

c++ - 我在哪里可以找到世界上最快的 atof 实现?

c - 使用 GLUT 和 C 编写文本

opengl - 在没有 GLUT 的情况下初始化 OpenGL

c - glFlush() 不显示任何内容

c++ - 如何在同一屏幕上将一个 OpenGL 窗口分成多个窗口?

c++ - google test/mock vs boost vs catch 对 c++14/c++17 的支持

c++ - 使用默认值 boost 程序选项

c++ - 编号的反向引用后跟文字编号

c++ - MSVC 函数名修饰

c++ - opengl - 如何在 3D 不规则物体上放置纹理