Обратите внимание, что почтенная библиотека GLUT Нейта Робина не поддерживает колесо прокрутки. Но более поздние реализации GLUT, такие как FreeGLUT do.
Использование колеса прокрутки во FreeGLUT очень просто. Вот как:
Объявить функцию обратного вызова, которая должна вызываться при прокрутке колеса прокрутки. Это прототип:
void mouseWheel(int, int, int, int);
Регистрация обратного вызова с помощью функции (Free) GLUT glutMouseWheelFunc () .
glutMouseWheelFunc(mouseWheel);
Определить функцию обратного вызова. Второй параметр указывает направление прокрутки. Значения +1 впереди, -1 назад.
void mouseWheel(int button, int dir, int x, int y)
{
if (dir > 0)
{
// Zoom in
}
else
{
// Zoom out
}
return;
}
Вот и все!