📄 glutmenu.h
字号:
/*********************************************************** * Copyright (C) 1997, Be Inc. Copyright (C) 1999, Jake Hamby. * * This program is freely distributable without licensing fees * and is provided without guarantee or warrantee expressed or * implied. This program is -not- in the public domain. * * FILE: glutMenu.h * * DESCRIPTION: the GlutMenu class is a simple popup menu ***********************************************************//*********************************************************** * Headers ***********************************************************/#include <GL/glut.h>#include <Menu.h>#include <MenuItem.h>#include <PopUpMenu.h>/*********************************************************** * Definitions ***********************************************************/const int32 MENU_ITEM = 'menu';/*********************************************************** * CLASS: GlutMenu ***********************************************************/class GlutMenuItem;class GlutPopUp;class GlutMenu {public: GlutMenu(int n_id, GLUTselectCB n_select) { id = n_id; select = n_select; list = 0; num = 0; } ~GlutMenu(); BMenu *CreateBMenu(bool toplevel=true); // construct BPopUpMenu // public data int id; GLUTselectCB select; // callback function GlutMenuItem *list; // list of menu items int num; // number of items};/*********************************************************** * CLASS: GlutMenuItem ***********************************************************/class GlutMenuItem {public: GlutMenuItem(GlutMenu *n_menu, bool n_trig, int n_value, const char *n_label); // public data GlutMenu *menu; // parent menu bool isTrigger; // are we a submenu? int value; // value to send, or submenu id if isTrigger char *label; // strdup'ed label string GlutMenuItem *next; // next menu entry on list};/*********************************************************** * CLASS: GlutPopUp ***********************************************************/class GlutPopUp : public BPopUpMenu {public: GlutPopUp(int m) : BPopUpMenu(0, false, false) { menu = m;} BPoint point; // point to start menu GlutWindow *win; // pointer to my window int menu; // my menu number};/*********************************************************** * CLASS: GlutBMenuItem ***********************************************************/class GlutBMenuItem : public BMenuItem {public: GlutBMenuItem(const char *name) : BMenuItem(name, 0) {} GlutBMenuItem(BMenu* menu) : BMenuItem(menu) {} int menu, value;};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -