00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00027
00029 #ifndef __GLUTWINDOW_H__
00030 #define __GLUTWINDOW_H__
00031
00032 #include "H3DWindowNode.h"
00033
00034 namespace H3D {
00035
00040 class H3DAPI_API GLUTWindow : public H3DWindowNode {
00041 public:
00042
00044 GLUTWindow( Inst< SFInt32 > _width = 0,
00045 Inst< SFInt32 > _height = 0,
00046 Inst< SFBool > _fullscreen = 0,
00047 Inst< SFBool > _mirrored = 0,
00048 Inst< RenderMode > _renderMode = 0,
00049 Inst< SFViewpoint > _viewpoint = 0,
00050 Inst< SFTime > _time = 0 );
00051
00053 ~GLUTWindow();
00054
00056 virtual void swapBuffers();
00057
00059 virtual void initWindow();
00060
00062 virtual void initWindowHandler() { initGLUT(); }
00063
00065 virtual void setFullscreen( bool fullscreen );
00066
00068 virtual void makeWindowActive();
00069
00072 static GLUTWindow * getGLUTWindow( int glut_id );
00073
00075 int getGLUTWindowId() {
00076 return window_id;
00077 }
00078
00080 static void initGLUT();
00081
00083 static H3DNodeDatabase database;
00084
00085 protected:
00086 static bool GLUT_init;
00087 int window_id;
00088 };
00089 }
00090
00091 #endif