GLUT弹出菜单
时间:2020-03-05 18:40:18 来源:igfitidea点击:
为我的OpenGL应用程序创建GLUT弹出菜单容易吗?如果是,怎么办?
解决方案
回答
使用GLUT创建和使用弹出菜单非常简单。这是一个代码示例,该示例创建带有4个选项的弹出菜单:
// Menu items enum MENU_TYPE { MENU_FRONT, MENU_SPOT, MENU_BACK, MENU_BACK_FRONT, }; // Assign a default value MENU_TYPE show = MENU_BACK_FRONT; // Menu handling function declaration void menu(int); int main() { // ... // Create a menu glutCreateMenu(menu); // Add menu items glutAddMenuEntry("Show Front", MENU_FRONT); glutAddMenuEntry("Show Back", MENU_BACK); glutAddMenuEntry("Spotlight", MENU_SPOT); glutAddMenuEntry("Blend 'em all", MENU_BACK_FRONT); // Associate a mouse button with menu glutAttachMenu(GLUT_RIGHT_BUTTON); // ... return; } // Menu handling function definition void menu(int item) { switch (item) { case MENU_FRONT: case MENU_SPOT: case MENU_DEPTH: case MENU_BACK: case MENU_BACK_FRONT: { show = (MENU_TYPE) item; } break; default: { /* Nothing */ } break; } glutPostRedisplay(); return; }