00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
00020 
00021 
00022 
00023 #ifndef _SO_GL_GRAPHIC_CONFIG_H_
00024 #define _SO_GL_GRAPHIC_CONFIG_H_
00025 
00026 #include <Inventor/components/SoGraphicConfig.h>
00027 
00028 #include <Inventor/devices/SoGLFormat.h>
00029 
00049 class  SoGLGraphicConfig : public SoGraphicConfig {
00050 
00051  public:
00052 
00057   virtual SbBool isDoubleBuffer() const = 0;
00058 
00062   virtual SbBool isStereoBuffer() const = 0;
00063 
00067   virtual SbBool isAccelerated() const = 0;
00068 
00073   virtual void getDepth(int &bits) const = 0;
00074 
00080   virtual void getRGBAColor(int &redBits, 
00081                             int &greenBits, 
00082                             int &blueBits, 
00083                             int &alphaBits) const = 0;
00084 
00091   virtual void getFloatRGBAColor(int &redBits, 
00092                                  int &greenBits, 
00093                                  int &blueBits, 
00094                                  int &alphaBits) const = 0;
00095 
00101   virtual void getAccum(int &redBits, 
00102                         int &greenBits,
00103                         int &blueBits, 
00104                         int &alphaBits) const = 0;
00105 
00110   virtual void getStencil(int &bits) const = 0;
00111 
00115   virtual SbBool getFullSceneAntialiasing(int &bits) const = 0;
00116 
00117  private:
00118 
00119   virtual ~SoGLGraphicConfig() {}
00120 
00121   virtual SbBool isValid() const
00122   { return FALSE; }
00123 
00125   virtual void print(FILE *fp) const;
00126 
00127   const SoGLFormat& getGLFormat() const;
00128 
00129 private:
00130   
00131   void setGLFormat( const SoGLFormat& format );
00132 
00133 private:
00134   SoGLFormat m_format;
00135 };
00136 
00137 
00138 
00139 inline const SoGLFormat&
00140 SoGLGraphicConfig::getGLFormat() const
00141 {
00142   return m_format; 
00143 }
00144 
00145 
00146 
00147 inline void 
00148 SoGLGraphicConfig::setGLFormat( const SoGLFormat& format )
00149 { 
00150   m_format = format; 
00151 }
00152 
00153 
00154 
00155 
00156 #endif 
00157 
00158 
00159