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
00074 virtual void getDepth(int &bits) const;
00075
00076 #if 1 SoDEPRECATED
00082 SbBool hasOverlays() const;
00083 SoDEPRECATED
00090 void getIndexedColor( int &bits ) const;
00091 #endif
00098 virtual void getRGBAColor(int &redBits,
00099 int &greenBits,
00100 int &blueBits,
00101 int &alphaBits) const;
00102
00109 virtual void getFloatRGBAColor(int &redBits,
00110 int &greenBits,
00111 int &blueBits,
00112 int &alphaBits) const;
00113
00119 virtual void getAccum(int &redBits,
00120 int &greenBits,
00121 int &blueBits,
00122 int &alphaBits) const;
00123
00128 virtual void getStencil(int &bits) const;
00129
00134 virtual SbBool getFullSceneAntialiasing(int &bits) const;
00135
00139 virtual int getPixelFormat() const;
00140
00144 virtual const PIXELFORMATDESCRIPTOR *getPixelFormatDescriptor() const;
00145
00146 private:
00147
00148 static SoGLGraphicConfig *getConfig(SoGLGraphicDevicePeer *device,
00149 int pixelFormat, SbBool forceComposition );
00150
00151 virtual SbBool isValid() const;
00152
00153 SoINTERNAL private:
00154
00155 SoWinGLGraphicConfig(SoGLGraphicDevicePeer *device, int pixelFormat = 0, SbBool forceComposition = FALSE);
00156 SoWinGLGraphicConfig(SoWinGLGraphicConfig &config);
00157
00158 private:
00159
00160 SbBool buildDescription();
00161
00162 SoGLGraphicDevicePeer *m_device;
00163 int m_pixelFormat;
00164 PIXELFORMATDESCRIPTOR m_pfd;
00165 SbBool m_isValid;
00166
00167 SbBool m_compositionForced;
00168
00169 SbBool m_supportMultiSample;
00170 int m_numSamples;
00171 };
00172
00173 #endif
00174
00175