core/vgui/impl/glut/vgui_glut_window.h
Go to the documentation of this file.
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_