GLFW的范围问题

时间:2014-04-13 08:10:23

标签: c++ scope glfw

我正在编写一个包装GLFW的库,以及其他一些库。我有一个需要了解用户界面事件的类,但GLFW使用轮询系统,我必须指定GLFW在事件发生时自动调用的函数。这会导致问题,因为我必须提供GLFW的那些函数无法与我的类的对象相关联,据我所知。例如:

class MyClass {
    MyClass() {
        // Initialize GLFW
        glfwSetKeyCallback(window, keyboardEventFunction);
    }
    // other content
}

void keyboardEventFunction(GLFWwindow *window, int b, int a, int m) {
     // I want to notify the MyClass object, but it's out of scope
}

我知道GLFW有一些非轮询功能来检索输入数据,但是如果我使用它们,我不能保证我不会因为我的程序没有错过一些东西。碰巧检查用户提供输入的确切时刻。我也失去了检查窗口焦点和光标进入 - 退出事件的能力。我怎样才能解决这个问题?

0 个答案:

没有答案