From 4811b7c7e02c0612975a8526f8ebba49ece0e72b Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Thu, 16 Sep 1999 22:45:24 +0000 Subject: initial check-in --- src/glut/beos/glutMenu.h | 79 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100644 src/glut/beos/glutMenu.h (limited to 'src/glut/beos/glutMenu.h') diff --git a/src/glut/beos/glutMenu.h b/src/glut/beos/glutMenu.h new file mode 100644 index 0000000000..f61b9aaaf7 --- /dev/null +++ b/src/glut/beos/glutMenu.h @@ -0,0 +1,79 @@ +/*********************************************************** + * Copyright (C) 1997, Be Inc. All rights reserved. + * + * FILE: glutMenu.h + * + * DESCRIPTION: the GlutMenu class is a simple popup menu + ***********************************************************/ + +/*********************************************************** + * Headers + ***********************************************************/ +#include +#include +#include + +/*********************************************************** + * 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; +}; -- cgit v1.2.3