34 #ifdef G4VIS_BUILD_OPENGLX_DRIVER
36 #ifndef G4OPENGLXVIEWER_HH
37 #define G4OPENGLXVIEWER_HH
42 #include <X11/Intrinsic.h>
47 class G4OpenGLSceneHandler;
50 class G4OpenGLXViewer:
virtual public G4OpenGLViewer {
52 friend class G4OpenGLXViewerMessenger;
53 friend class G4OpenGLXmViewer;
56 G4OpenGLXViewer (G4OpenGLSceneHandler& scene);
57 virtual ~G4OpenGLXViewer ();
60 #ifdef G4MULTITHREADED
61 void SwitchToVisSubThread();
62 void SwitchToMasterThread();
64 void DrawText(
const G4Text&);
67 void GetXConnection ();
68 void CreateGLXContext (XVisualInfo* vi);
69 virtual void CreateMainWindow ();
70 virtual void CreateFontLists ();
72 static int snglBuf_RGBA[12];
73 static int dblBuf_RGBA[13];
77 XWindowAttributes xwa;
79 static XVisualInfo *vi_single_buffer;
80 static XVisualInfo *vi_double_buffer;
81 XVisualInfo *vi_immediate,
85 XSetWindowAttributes swa;
88 #ifdef G4MULTITHREADED
89 GLXContext cxVisSubThread;
97 XSizeHints *norm_hints;
99 XClassHint *class_hints;
101 XSizeHints *size_hints;
103 XTextProperty windowName,
105 char charViewName [100];
109 G4OpenGLXViewer (
const G4OpenGLXViewer&);
110 G4OpenGLXViewer& operator = (
const G4OpenGLXViewer&);