Klamp't  0.9.0
GLUIGUI.h
1 #ifndef INTERFACE_GLUI_GUI_H
2 #define INTERFACE_GLUI_GUI_H
3 
4 #include "GenericGUI.h"
5 #include <KrisLibrary/GLdraw/GLUIProgram.h>
6 
7 class GLUI_Control;
8 
9 namespace Klampt {
10 
20 class GLUIGUI : public GenericGUIBase, public GLUIProgramBase
21 {
22  public:
23  GLUIGUI(GenericBackendBase* backend=NULL,int w=800,int h=600);
24  virtual ~GLUIGUI() {}
25  //if you want to set up the window title, it must be called before Run()
26  void SetWindowTitle(const char* title) { window_title = title; }
27  //if you want to set up the display mode, it must be called before Run()
28  void SetDisplayMode(int mode) { displayMode = mode; }
29 
31  virtual bool Initialize();
35  virtual void Handle_Control(int id);
36  virtual void Handle_Display();
37  virtual void Handle_Reshape(int w,int h);
38  virtual void Handle_Keypress(unsigned char key,int x,int y);
39  virtual void Handle_KeypressUp(unsigned char key,int x,int y);
40  virtual void Handle_Special(int key,int x,int y);
41  virtual void Handle_SpecialUp(int key,int x,int y);
42  virtual void Handle_Click(int button,int state,int x,int y);
43  virtual void Handle_Drag(int x,int y);
44  virtual void Handle_Motion(int x,int y);
45  virtual void Handle_Idle();
46 
54  int AddControl(GLUI_Control*,const char* name=NULL);
55 
56  virtual void Run();
57  virtual bool OnQuit();
58  virtual bool OnNotify(const string& text,const string& msglevel);
59  virtual bool OnPauseIdle(double secs);
60  virtual bool OnRefresh();
61  virtual bool OnResize(int w,int h);
62  virtual bool OnDrawText(double x, double y, double z, const std::string &text, int height);
63  virtual bool OnDrawText(int x, int y, const std::string &text, int height);
64 
65  string window_title;
66  unsigned int displayMode;
67  vector<GLUI_Control*> controls;
68  vector<string> controlNames;
69 };
70 
71 } // namespace Klampt
72 
73 #endif
virtual void Handle_Control(int id)
A base class for GLUI GUIs.
Definition: GLUIGUI.h:20
virtual void Run()
Default implementation does nothing but startup and shutdown the interface.
int AddControl(GLUI_Control *, const char *name=NULL)
virtual bool Initialize()
Subclasses: put GL initialization code here.
Definition: GenericGUI.h:86
A base class for a GUI frontend. Performs message passing to the backend in the easily serializable A...
Definition: GenericGUI.h:27
Definition: ContactDistance.h:6