int glutCreateMenu(void (*func)(int value));
创建一个新的弹出示菜单
参数:
func:形如void func(int a);当点击菜单时,调用这个回调函数
value:传递给回调函数的数值,它由所选择的菜单条目对应的整数值所决定
这个函数创建一个新的弹出式菜单,并返回一个唯一的标识次菜单的整型标识符,并将新建的弹出菜单与func函数关联在一起,这样,当选择此菜单中的一个菜单条目时,调用回调函数func.
//******************************************************************************************
void glutDestroyMenu(int menu);
删除指定的菜单
menu:被删除的菜单的标识符
//******************************************************************************************
int glutGetMenu(void);
获取当前菜单的标识符
//******************************************************************************************
void glutSetMenu(int menu);
设置为当前菜单
menu:被设置为当前菜单的标识符
//******************************************************************************************
void glutAddMenuEntry(const char *label, int value);
添加一个菜单条目
参数:
label:菜单条目的名称
value:传递到菜单处理函数的值,即在glutCreateMenu中注册的回调函数
如果用户选择了这个菜单条目,对应的菜单回调函数就被调用,并以value值作为传递给此回调函数的参数:
//*****************************************************************************************
void glutAddSubMenu(const char *label, int submenu);
在当前菜单的底部增加一个子菜单的触发条目
参数:
label:子菜单触发条目的名称
submenu:子菜单的标识符
//*****************************************************************************************
void glutChangeToMenuEntry(int item, const char *label, int value);
更改当前菜单中指定菜单项
参数:
item:更改菜单项的索引(最顶层的菜单项的索引为1)
label:菜单条目的名称
value:传递到菜单处理函数的值,即在glutCreateMenu中注册的回调函数
//*****************************************************************************************
void glutChangeToSubMenu(int item, const char *label, int submenu);
将指定的当前菜单中菜单项变为子菜单触发条目
参数:
item:更改菜单项的索引(最顶层的菜单项的索引为1)
label:子菜单触发条目的名称
submenu:子菜单的标识符
//*****************************************************************************************
void glutRemoveMenuItem(int item);
删除指定的菜单项
参数:
item:当前菜单中要删除的菜单项的索引(最顶层的菜单项的索引为1)
//*****************************************************************************************
void glutAttachMenu(int button);
把当前窗口的一个鼠标按键与当前菜单关联起来
void glutDetachMenu(int button);
解除鼠标按键与弹出式菜单的关联关系
参数:
button:指明何种鼠标按键,可用的符号为以下三种:
GLUT_LEFT_BUTTON 鼠标左键
GLUT_RIGHT_BUTTON 鼠标右键
GLUT_MIDDLE_BUTTON 鼠标中键