Задать вопрос
shpaker
@shpaker
Вольный хлебопашец

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

Из любопытства пытаю GLFW, и для обработки клавиатуры в нём существует функция
glfwSetKeyCallback(window, key_callback);
и соответственно пишется колбэк функция key_callback для обработки нажатий. Но мне не очевидно как в эту функцию передать свои данные, например указатель на какие-либо данные.
  • Вопрос задан
  • 2676 просмотров
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Разработчик C++
    9 месяцев
    Далее
  • Нетология
    Специалист по информационной безопасности + нейросети
    12 месяцев
    Далее
  • Компьютерная академия «TOP»
    Учебная программа “Разработка программного обеспечения”
    30 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 2
EndUser
@EndUser
Не пытал GLFW, но правильно ли я понимаю, что сигнатура функции позволяет послать 4 целых числа?
И при этом ни одно целое не предназначено для указательного или ссылочного типа.

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

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

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

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