C++、过剩、OpenGL "resize window" 事件?

C++, glut, OpenGL "resize window" event?

我使用 OpenGL 3.3。在我的应用程序中,我将鼠标光标设置在 window 的中心(我将 window 的大小传递给 "Camera" class 的构造函数),但是当我调整大小时window(如全屏)我将光标放在左侧的某处。所以,我想通过新的尺寸来避免这样的事情。我怎样才能做到这一点?也许在过剩中存在某种 "resize" 事件?

尝试使用 glutReshapeFunc。您向它传递一个指向接受宽度和高度的函数的指针。然后,只要 window 被重塑,就会调用该函数。

示例:

void yourReshapeCallback(int w, int h) {
  // set cursor
}
...
// set reshape callback for current window
glutReshapeFunc(yourReshapeCallback);