00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028 #ifndef GLCONTEXT_HH
00029 #define GLCONTEXT_HH
00030
00031 #include <GL/glx.h>
00032
00033
00038 class GLContext
00039 {
00041 public: GLContext();
00042
00044 public: virtual ~GLContext();
00045
00054 public: int Init(int width, int height, int color, int alpha, int depth,
00055 const char *method, GLXContext shareList = NULL);
00056
00058 public: void Fini();
00059
00061 public: GLXContext GetContext() {return this->context;}
00062
00064 public: int GetContextIndex() {return this->contextIndex;}
00065
00068 public: int MakeCurrent();
00069
00071 private: int InitXlib(GLXContext shareList);
00072
00074 private: int InitGLXPixmap(GLXContext shareList);
00075
00077 private: int InitSGIX(GLXContext shareList);
00078
00080 private: int InitGLXP(GLXContext shareList);
00081
00082
00083 private: int reqWidth, reqHeight;
00084 private: int reqColor, reqAlpha, reqDepth;
00085
00086
00087 private: int win;
00088
00089
00090 private: GLXContext context;
00091 private: GLXDrawable drawable;
00092
00093
00094 private: GLXPbuffer pbuffer;
00095
00096
00097 private: Pixmap Xpixmap;
00098 private: GLXPixmap pixmap;
00099
00100
00101 private: int contextIndex;
00102 };
00103
00104
00105
00106 #endif
00107