Witam,
w jaki sposób mogę przekazać metodę, która zajmuje się obsługą wejścia z klawiatury? Wiem, że nie wyraziłem się jasno dlatego pokażę na przykładzie o co mi chodzi.
class Demo
{
void init();
void input(GLFWwindow *win,int k,int s,int a,int m){}
};
void Demo::init()
{
//zamiast wywołania 'key_input' chcę by wywołana została metoda 'input' zdefiniowana przez użytkownika
bindKeyboard(this,input,window);
}
template<class T>
void bindKeyboard(T* app, GLFWwindow *win )
{
glfwSetWindowUserPointer(win,app);
auto func = [](GLFWwindow *w,int k,int s,int a,int m)
{
static_cast<T*>(glfwGetWindowUserPointer(w))->key_input(w,k,s,a,m);
};
glfwSetKeyCallback(win, func);
}