KrisLibrary  1.0.0
GLUIProgram.h
1 #ifndef GL_GLUI_PROGRAM_H
2 #define GL_GLUI_PROGRAM_H
3 
4 #include <limits.h>
5 
7 {
8 public:
9  GLUIProgramBase(int width=800,int height=600);
10  virtual ~GLUIProgramBase() {}
12  int Run(const char *window_title="OpenGL Viewer",unsigned int displayMode=0);
13 
15  virtual bool Initialize();
16  virtual void Handle_Display() {}
17  virtual void Handle_Reshape(int w,int h) { width=w; height=h; }
18  virtual void Handle_Keypress(unsigned char key,int x,int y){}
19  virtual void Handle_KeypressUp(unsigned char key,int x,int y){}
20  virtual void Handle_Special(int key,int x,int y) {}
21  virtual void Handle_SpecialUp(int key,int x,int y) {}
22  virtual void Handle_Click(int button,int state,int x,int y){}
23  virtual void Handle_Drag(int x,int y){}
24  virtual void Handle_Motion(int x,int y){}
25  virtual void Handle_Idle();
26 
28  virtual void Handle_Control(int id) {}
29 
31  void Refresh();
33  void SetFullscreen(bool fullscreen_on);
35  void SleepIdleCallback(unsigned int time=INT_MAX);
36 
37  int main_window;
38  int width,height; // window size
39  bool fullscreen_mode;
40  int saved_width,saved_height;
41 
43  static void ControlFunc (int);
44 
45 private:
46  static GLUIProgramBase* current_program;
47  static void DisplayFunc();
48  static void ReshapeFunc(int w,int h);
49  static void KeyboardFunc(unsigned char key,int x,int y);
50  static void KeyboardUpFunc(unsigned char key,int x,int y);
51  static void SpecialFunc(int key,int x,int y);
52  static void SpecialUpFunc(int key,int x,int y);
53  static void MouseFunc(int button,int state,int x,int y);
54  static void MotionFunc(int x,int y);
55  static void PassiveMotionFunc(int x,int y);
56  static void IdleFunc();
57 };
58 
59 #endif
virtual void Handle_Idle()
by default, turns off idle callbacks to save cpu
Definition: GLUIProgram.cpp:197
int Run(const char *window_title="OpenGL Viewer", unsigned int displayMode=0)
if displayMode is non-zero, initializes glut with that display mode
Definition: GLUIProgram.cpp:175
void SleepIdleCallback(unsigned int time=INT_MAX)
Pauses idle callbacks for the given time (in milliseconds)
Definition: GLUIProgram.cpp:202
void Refresh()
Refreshes the screen (equivalent to glutPostRedisplay())
Definition: GLUIProgram.cpp:187
static void ControlFunc(int)
pass this as a callback for GLUI controls
Definition: GLUIProgram.cpp:171
void SetFullscreen(bool fullscreen_on)
Turns on fullscreen mode.
Definition: GLUIProgram.cpp:192
virtual bool Initialize()
overrideable
Definition: GLUIProgram.cpp:181
Definition: GLUIProgram.h:6
virtual void Handle_Control(int id)
override this to handle GLUI control callbacks
Definition: GLUIProgram.h:28