shpaker
@shpaker
Вольный хлебопашец

Как перекинуть указатель в glfwSetKeyCallback на си?

Из любопытства пытаю GLFW, и для обработки клавиатуры в нём существует функция
glfwSetKeyCallback(window, key_callback);
и соответственно пишется колбэк функция key_callback для обработки нажатий. Но мне не очевидно как в эту функцию передать свои данные, например указатель на какие-либо данные.
  • Вопрос задан
  • 2667 просмотров
Пригласить эксперта
Ответы на вопрос 2
EndUser
@EndUser
Не пытал GLFW, но правильно ли я понимаю, что сигнатура функции позволяет послать 4 целых числа?
И при этом ни одно целое не предназначено для указательного или ссылочного типа.

Философски рассуждая, можно сказать, что параметры для callback формирует вызывающий, а не вы.

Если пытаться некрасиво философию взломать, то можете попробовать некрасиво воспользоваться глобальной переменной.
Ответ написан
@Hertz
Посмотрите на glfwSetWindowUserPointer, glfwGetWindowUserPointer.
Предназначены именно для этого, в callback вам передается указатель на GLFWwindow.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы