00001 // This is core/vgui/impl/glut/vgui_glut_window.h 00002 #ifndef vgui_glut_window_h_ 00003 #define vgui_glut_window_h_ 00004 //: 00005 // \file 00006 // \author fsm 00007 // \brief The GLUT (OpenGL Utility Toolkit) implementation of vgui_window. 00008 00009 struct vgui_glut_adaptor; 00010 #include <vgui/vgui_menu.h> 00011 #include <vgui/vgui_window.h> 00012 00013 //: The GLUT (OpenGL Utility Toolkit) implementation of vgui_window. 00014 struct vgui_glut_window : public vgui_window 00015 { 00016 vgui_glut_window(char const *title, unsigned w, unsigned h, int posx =-1, int posy=-1); 00017 ~vgui_glut_window(); 00018 00019 vgui_menu menubar; 00020 void set_menubar(vgui_menu const &m) { menubar = m; } 00021 00022 vgui_adaptor *glutwin; 00023 vgui_adaptor *get_adaptor() { return glutwin; } 00024 00025 // 00026 void show(); 00027 void hide(); 00028 void iconify(); 00029 void reshape(unsigned, unsigned); 00030 void reposition(int, int); 00031 void set_title(vcl_string const &); 00032 00033 private: 00034 bool pending_reshape; 00035 bool pending_reposition; 00036 int data0; 00037 int data1; 00038 00039 friend struct vgui_glut_adaptor; 00040 void hello_from_adaptor(); 00041 }; 00042 00043 #endif // vgui_glut_window_h_