Функция |
Описание |
д1и13расеЬа11 |
Задает функцию обратной связи спейсбола, которая будет |
Ви^опЕипс |
вызвана при нажатии кнопки спейсбола, когда курсор мыши находится в окне на экране дисплея, или используется другой метод активизации окна на экране дисплея. |
glutSpaceball |
Задает функцию обратной связи спейсбола, которая будет |
MotionFunc |
вызвана при трансляционном движении спейсбола в активном окне на экране дисплея |
д1и1ЭрасеЬа11 |
Задает функцию обратной связи спейсбола, которая будет |
RotateFunc |
вызвана при вращательном движении спейсбола для активного окна на экране дисплея |
glutButtonBoxFunc |
Задает функцию обратной связи поля клавиш, которая будет вызвана при нажатии клавиши |
glutDialsFunc |
Задает функцию обратной связи наборного диска, которая будет вызвана при вращении диска |
glSelectBuffer |
Задает размер и имя буфера выбора |
д111епс1егМос1е |
Ас. тивизирует операцию выбора с использованием аргумента -Ь_ЭЕЬЕ-Т. Данная функция также используется для активизации стандартного режима визуализации или режима обратной связи |
glInitNames |
А тивизирует стек имен идентификаторов объекта |
д1РизЬЫате |
Заносит идентификатор объекта в стек идентификаторов |
glLoadName |
Замещает верхний идентификатор в стеке идентификаторов заданным значением |
д1РорЫате |
Удаляет верхний элемент из стека идентификаторов |
д1иРл.скМа!;г1х |
Определяет окно выбора и формирует обновленный отображаемый объем для операции выбора |
ЛИТЕРАТУРА
Эволюция понятия логических (или виртуальных) устройств ввода рассмотрена в [291, 370]. Реализация различных процедур ввода представлена в [8, 122, 151, 176, 244]. Дополнительные примеры программирования с использованием мыши можно найти в руководстве [400]. Полный перечень функций основной библиотеки OpenGL и библиотеки GLU приводится в справочнике [320]. Функции ввода и создания меню GLUT подробно описаны в [174].
Руководства по разработке интерфейса пользователя представлены в [6, 26, 45, 81, 186, 243, 318]. Информацию, касающуюся системы X Window, можно найти в [72, 409].
ТАБЛИЦА 11.2. Резкную по функциям меню Ореп-!_
Функция |
Описание |
glutCreateMenu |
-оздает всплывающее меню и устанавливает процедуру, вызываемую при выборе элемента меню; созданному меню присваивается целый идентификатор |
д1и!А<1с1МегтЕг^гу |
Задает опцию, которая будет указана во всплывающем меню |
д1г^А1^асЬМепи |
Задает кнопку мыши, которая будет использоваться для выбора опций меню |
glutSetMenu |
Задает текущее меню для текущего окна |
дД.^Оез'ЬгоуМепи |
Задает идентификатор для меню, подлежащего удалению |
д11^-е1Мепи |
Возвращает идентификатор текущего меню, связанного с текущим окном |
д1^Ас1с13иЬМепи |
Задает подменю, которое будет включено в перечень опций меню, где указанное подменю задается с использованием процедуры glutCreateMenu |
glutDetachMenu |
Отменяет для текущего меню привязку кнопки мыши |
д1и^НетоуеМепи]^ет |
Удаляет выбранную опцию из текущего меню |
УПРАЖНЕНИЯ
11.1. Разработайте алгоритм, позволяющий размещать объекты на экране с помощью координатного манипулятора. Пользователю должно предлагаться меню объектов (геометрических форм), из которого выбирается объект и место его расположения. Программа должна разрешать помещать любое количество объектов, пока не будет получен сигнал “прекратить”.