00001 #ifndef vgui_glut_impl_h_ 00002 #define vgui_glut_impl_h_ 00003 // .NAME vgui_glut 00004 // .LIBRARY vgui-glut 00005 // .INCLUDE vgui/impl/glut/vgui_glut.h 00006 // .FILE vgui_glut.cxx 00007 // @author fsm 00008 00009 #include <vgui/vgui_toolkit.h> 00010 00011 struct vgui_glut_impl : vgui_toolkit 00012 { 00013 static vgui_glut_impl* instance(); 00014 00015 vgui_glut_impl(); 00016 ~vgui_glut_impl(); 00017 00018 void init(int &, char **); 00019 vcl_string name() const; 00020 00021 vgui_window* produce_window(int width, int height, 00022 vgui_menu const & menubar, 00023 char const* title); 00024 00025 vgui_window* produce_window(int width, int height, 00026 char const* title); 00027 00028 void run(); 00029 void run_one_event(); 00030 void run_till_idle(); 00031 void quit(); 00032 void flush(); 00033 00034 private: 00035 static int count; 00036 }; 00037 00038 // Call this function to have a command queued for execution 00039 // some time in the future. 00040 struct vgui_command; 00041 struct vgui_glut_adaptor; 00042 void vgui_glut_impl_queue_command(vgui_glut_adaptor *, vgui_command *); 00043 00044 #endif // vgui_glut_impl_h_