00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef _SO_WIN_GL_GRAPHIC_CONFIG_H_
00025 #define _SO_WIN_GL_GRAPHIC_CONFIG_H_
00026
00027 #include <Inventor/components/SoGLGraphicConfig.h>
00028 #include <Inventor/components/SoGLGraphicDevice.h>
00029 class SoGLGraphicDevicePeer;
00030 #ifndef _WIN32
00031 # define PIXELFORMATDESCRIPTOR void *
00032 #endif
00033
00050 class SoWinGLGraphicConfig : public SoGLGraphicConfig {
00051
00052 public:
00053
00058 virtual SbBool isDoubleBuffer() const;
00059
00063 virtual SbBool isStereoBuffer() const;
00064
00068 virtual SbBool isAccelerated() const;
00069
00077 virtual void getDepth(int &bits) const;
00078
00084 virtual void getRGBAColor(int &redBits,
00085 int &greenBits,
00086 int &blueBits,
00087 int &alphaBits) const;
00088
00095 virtual void getFloatRGBAColor(int &redBits,
00096 int &greenBits,
00097 int &blueBits,
00098 int &alphaBits) const;
00099
00105 virtual void getAccum(int &redBits,
00106 int &greenBits,
00107 int &blueBits,
00108 int &alphaBits) const;
00109
00114 virtual void getStencil(int &bits) const;
00115
00120 virtual SbBool getFullSceneAntialiasing(int &bits) const;
00121
00125 virtual int getPixelFormat() const;
00126
00130 virtual const PIXELFORMATDESCRIPTOR *getPixelFormatDescriptor() const;
00131
00132 private:
00133
00134 static SoGLGraphicConfig *getConfig(SoGLGraphicDevicePeer *device,
00135 int pixelFormat, SbBool forceComposition );
00136
00137 virtual SbBool isValid() const;
00138
00139 SoINTERNAL private:
00140
00141 SoWinGLGraphicConfig(SoGLGraphicDevicePeer *device, int pixelFormat = 0, SbBool forceComposition = FALSE);
00142 SoWinGLGraphicConfig(SoWinGLGraphicConfig &config);
00143
00144 private:
00145
00146 SbBool buildDescription();
00147
00148 SoGLGraphicDevicePeer *m_device;
00149 int m_pixelFormat;
00150 PIXELFORMATDESCRIPTOR m_pfd;
00151 SbBool m_isValid;
00152
00153 SbBool m_compositionForced;
00154
00155 SbBool m_supportMultiSample;
00156 int m_numSamples;
00157 };
00158
00159 #endif
00160
00161