УПРАВЛЕНИЕ НЕСКОЛЬКИМИ ОКНАМИ НА ЭКРАНЕ (GLUT)
Библиотека GLUT также содержит несколько процедур для различных манипуляций с окнами на экране. Данные процедуры особенно полезны, когда на экране есть несколько окон, и их нужно переупорядочить или расположить в нужном месте экрана определенное окно.
Для преобразования текущего окна на экране в пиктограмму (небольшое изображение или символ, представляющий окно) используется следующая процедура.
glutlconifyWindow ( ); Данная пиктограмма помечается тем же именем, что присвоено окну, но имя пиктограммы можно изменить, используя такую команду:
glutSetlconTitle ("Icon Name"); Кроме того, можно изменить имя окна на экране, используя похожую команду:
glutSetWindowTitle ("New Window Name"); Когда на экране открыто несколько окон, часть из них может перекрываться или полностью закрывать другие окна экрана. Любое окно можно вывести перед всеми остальными, вначале сделав его текущим, а затем выполнив команду “всплывания”.
glutSetWindow (windowID); glutPopWindow ( ); Подобным образом можно “запихнуть” текущее окно назад, чтобы оно располагалось позади всех окон экрана. В этом случае используется такая последовательность операций.
glutSetWindow (windowID); glutPushWindow ( ); Кроме того, текущее окно можно убрать с экрана, использовав команду
glutHideWindow ( ); Также можно вернуть “скрытое” окно экрана или окно, превращенное в пиктограмму, сделав его текущим, а затем вызвав следующую функцию.
glutShowWindow ( ) ; СУБОКНА GLUT
В выбранном окне экрана можно задать любое количество окон второго уровня, называемых субокнами. Это позволяет разбивать окна на различные участки. Субокно создается следующей функцией.
glutCreateSubWindow (windowID, xBottomLeft, yBottomLeft,
width, height); Параметр windowID идентифицирует окно на экране, в котором требуется задать субокно. Остальные параметры задают размер субокна и расположение его левого нижнего угла относительно левого нижнего угла окна.
Субокнам присваивается положительный целый идентификатор так же, как нумеруются окна первого уровня. Кроме того, субокно можно расположить внутри другого субокна. К тому же, с каждым субокном можно соотнести отдельный режим отображения и другие параметры. Можно даже менять форму, положение субокон, помещать на передний или задний план, скрывать и показывать точно так же, как окна первого уровня. Однако субокно GLUT нельзя превратить в пиктограмму.
ВЫБОР ФОРМЫ КУРСОРА ОКНА НА ЭКРАНЕ
Чтобы придать форму экранному курсору, используемому в текущем окне, можно использовать следующую процедуру GLUT.
glutSetCursor (shape); Возможны такие формы курсоров: стрелка, показывающая в выбранном направлении, двунаправленная стрелка, вращающаяся стрелка, перекрестье, наручные часы, вопросительный знак и даже череп и скрещенные кости. Например, можно присвоить параметру shape значение (символьная константа) GLUT_CURSOR_UP_DOWN и получить двунаправленную (вверх и вниз) стрелку. Вращающаяся стрелка выбирается с помощью константы GLUT_CURSOR_CYCLE, форма наручных часов выбирается с помощью GLUT_CURSOR_WAIT, а череп и скрещенные кости - это константа GLUT_CURSOR_DESTROY. Форму курсора можно соотнести с окном экрана, чтобы указать определенный тип приложения, например, анимацию. Однако точные формы, которые можно использовать, зависят от системы.