[訳]GLUTチュートリアル-メニューの交換
3068 ワード
Lighthouse3d.com >> GLUT Tutorial >> Pop-up Menus >> Swapping Menus
GLUTは、アプリケーション中にメニュー全体を変更することもできる.2つの関数があります.glutSetMenuとglutGetMenuです.プロトタイプは次のとおりです.
void glutSetMenu(int menu);
menu-前の作成メニューのインデックス値
この関数は、アプリケーションコンテキストなどのメニューを切り替えることができる.
int glutGetMenu(void);
この関数は、現在のメニューのインデックス値を返します.次に、ユーザがF 1を押すときの2つのメニュー間の切り替えを示す.
GLUTは、アプリケーション中にメニュー全体を変更することもできる.2つの関数があります.glutSetMenuとglutGetMenuです.プロトタイプは次のとおりです.
void glutSetMenu(int menu);
menu-前の作成メニューのインデックス値
この関数は、アプリケーションコンテキストなどのメニューを切り替えることができる.
int glutGetMenu(void);
この関数は、現在のメニューのインデックス値を返します.次に、ユーザがF 1を押すときの2つのメニュー間の切り替えを示す.
void processSpecialKeys(int c, int x, int y) {
if (!flag) {
if (c == GLUT_KEY_F1) {
int x = glutGetMenu();
if (x == menu1)
glutSetMenu(menu2);
else
glutSetMenu(menu1);
// don't forget to attach the menu!!!
glutAttachMenu(GLUT_RIGHT_BUTTON);
}
}
}
void createGLUTMenus() {
menu2 = glutCreateMenu(processMenuEvents);
glutAddMenuEntry("Blue",BLUE);
glutAddMenuEntry("Green",GREEN);
glutAddMenuEntry("Red",RED);
menu1 = glutCreateMenu(processMenuEvents);
glutAddMenuEntry("Red",RED);
glutAddMenuEntry("Green",GREEN);
glutAddMenuEntry("Blue",BLUE);
glutAttachMenu(GLUT_RIGHT_BUTTON);
}