home *** CD-ROM | disk | FTP | other *** search
- //
- // *************************************************************************
- // * *
- // * OMEGA C++ Windowing Class Library *
- // * ================================= *
- // * *
- // * Copyright 1991,92 Tom Clancy *
- // * Submitted to the public domain, April 1992 *
- // * *
- // *************************************************************************
- // * *
- // * Popup Menu Class Object *
- // * *
- // *************************************************************************
- //
-
- #ifndef _OMMENU
- #define _OMMENU
- #endif
-
- #ifndef _OMWINDOW
- #include "omwin.hpp"
- #endif
-
-
-
- class oMenu : public oWindow {
-
- char *picks[50];
- char hotlist[50];
- int Current;
- int Picked;
- int Numops;
- int Nfg, Hfg, Hbk, Pfg;
- int Hid;
- int Gap,Topgap;
- int mWid;
-
- int largestpick();
- void highlight(int i);
- void unhighlight(int i);
- void makeline(int i);
- void writeoption(int i, int fg, int bk);
- void addtohotlist(int i);
- int seperator(int i);
-
- public:
- oMenu();
- ~oMenu();
-
-
- void setmenu(int x, int y, int fg, int bk, int nfg, int hfg, int hbk,
- int pfg, int style);
-
-
- void addoption(char *s);
- void snaptocenter();
- void openmenu();
- void closemenu();
-
- void setgap(int g) {Gap=g;}
- void settbgap(int g) {Topgap=g;}
- int getpick() {return Picked;}
-
- int withinbounds(int x, int y);
- int withinbounds(int c, int x, int y);
-
- void display_info();
-
- int handle_mouse_event();
- int handle_key_event();
-
- void run();
- int gomenu();
-
- };
-
-