Gizmo3D

gzGraphicsFormat.h

Go to the documentation of this file.
00001 //*****************************************************************************
00002 // File         : gzGraphicsFormat.h
00003 // Module       : 
00004 // Description  : Class definition of the gzGraphicsFormat class
00005 // Author       : Anders Modén      
00006 // Product      : Gizmo3D 2.1.1
00007 //      
00008 // Copyright © 2003- Saab Training Systems AB, Sweden   
00009 //          
00010 // NOTE:    Gizmo3D is a high performance 3D Scene Graph and effect visualisation 
00011 //          C++ toolkit for Linux, Mac OS X, Windows (Win32) and IRIX® for  
00012 //          usage in Game or VisSim development.
00013 //
00014 //
00015 // Revision History...                          
00016 //                                  
00017 // Who  Date    Description                     
00018 //                                  
00019 // AMO  990614  Created file    
00020 //
00021 //******************************************************************************
00022 #ifndef __GZ_GRAPHICSFORMAT_H__
00023 #define __GZ_GRAPHICSFORMAT_H__
00024 
00030 #include "gzReference.h"
00031 #include "gzGraphicsAbstractionLayer.h"
00032 #include "gzContext.h"
00033 
00034 class gzGraphicsFormat : public gzReference
00035 {
00036 public:
00037 
00038     GZ_SYSTEM_EXPORT gzGraphicsFormat( gzInt redbits=1 , gzInt greenbits=1 , gzInt bluebits=1 , gzInt alphabits=0 , gzInt stencilbits=0 ,
00039                                         gzInt depthbits=1 , gzInt accredbits=0 , gzInt accgreenbits=0 , gzInt accbluebits=0  , gzInt accalphabits=0 );
00040 
00041     GZ_SYSTEM_EXPORT virtual    ~gzGraphicsFormat();
00042 
00043     GZ_SYSTEM_EXPORT gzVoid     setRGBBits( gzInt redbits , gzInt greenbits , gzInt bluebits  );
00044     
00045     GZ_SYSTEM_EXPORT gzVoid     setRedBits(gzInt bits);
00046     GZ_SYSTEM_EXPORT gzVoid     setGreenBits(gzInt bits);
00047     GZ_SYSTEM_EXPORT gzVoid     setBlueBits(gzInt bits);
00048     
00049     GZ_SYSTEM_EXPORT gzInt      getRedBits();
00050     GZ_SYSTEM_EXPORT gzInt      getGreenBits();
00051     GZ_SYSTEM_EXPORT gzInt      getBlueBits();
00052     GZ_SYSTEM_EXPORT gzInt      getColorBits();
00053     
00054 
00055     GZ_SYSTEM_EXPORT gzBool     useDoubleBuffer() const;
00056     GZ_SYSTEM_EXPORT gzVoid     useDoubleBuffer( gzBool enable );
00057 
00058     GZ_SYSTEM_EXPORT gzBool     useDepth() const;
00059     GZ_SYSTEM_EXPORT gzVoid     useDepth( gzBool enable );
00060     GZ_SYSTEM_EXPORT gzVoid     setDepthBits( gzInt bits );
00061     GZ_SYSTEM_EXPORT gzInt      getDepthBits();
00062 
00063     GZ_SYSTEM_EXPORT gzBool     useAlpha() const;
00064     GZ_SYSTEM_EXPORT gzVoid     useAlpha( gzBool enable );
00065     GZ_SYSTEM_EXPORT gzVoid     setAlphaBits(gzInt bits );
00066     GZ_SYSTEM_EXPORT gzInt      getAlphaBits();
00067 
00068     GZ_SYSTEM_EXPORT gzBool     useAccum() const;
00069     GZ_SYSTEM_EXPORT gzVoid     useAccum( gzBool enable );
00070 
00071     GZ_SYSTEM_EXPORT gzVoid     setAccumBits( gzInt redbits , gzInt greenbits , gzInt bluebits  , gzInt alphabits=0 );
00072     
00073     GZ_SYSTEM_EXPORT gzVoid     setAccumRedBits(gzInt bits);
00074     GZ_SYSTEM_EXPORT gzVoid     setAccumGreenBits(gzInt bits);
00075     GZ_SYSTEM_EXPORT gzVoid     setAccumBlueBits(gzInt bits);
00076     GZ_SYSTEM_EXPORT gzVoid     setAccumAlphaBits(gzInt bits);
00077     
00078     GZ_SYSTEM_EXPORT gzInt      getAccumRedBits();
00079     GZ_SYSTEM_EXPORT gzInt      getAccumGreenBits();
00080     GZ_SYSTEM_EXPORT gzInt      getAccumBlueBits();
00081     GZ_SYSTEM_EXPORT gzInt      getAccumAlphaBits();
00082     GZ_SYSTEM_EXPORT gzInt      getAccumBits();
00083 
00084 
00085     GZ_SYSTEM_EXPORT gzBool     useStencil() const;
00086     GZ_SYSTEM_EXPORT gzVoid     useStencil( gzBool enable );
00087     GZ_SYSTEM_EXPORT gzVoid     setStencilBits(gzInt bits );
00088     GZ_SYSTEM_EXPORT gzInt      getStencilBits();
00089 
00090 
00091     GZ_SYSTEM_EXPORT gzVoid     useFullScreen(gzBool on);
00092     GZ_SYSTEM_EXPORT gzBool     useFullScreen() const;
00093 
00094     GZ_SYSTEM_EXPORT gzVoid     useStereo(gzBool on);
00095     GZ_SYSTEM_EXPORT gzBool     useStereo() const;
00096 
00097     GZ_SYSTEM_EXPORT gzVoid     useMultisample(gzBool on);
00098     GZ_SYSTEM_EXPORT gzBool     useMultisample() const;
00099 
00100     GZ_SYSTEM_EXPORT gzVoid     setMultisamples(gzInt samples);
00101     GZ_SYSTEM_EXPORT gzInt      getMultisamples();
00102 
00103     GZ_SYSTEM_EXPORT gzVoid     setFullScreenWidth(gzInt width=0);      // Best hit
00104     GZ_SYSTEM_EXPORT gzInt      getFullScreenWidth();
00105 
00106     GZ_SYSTEM_EXPORT gzVoid     setFullScreenHeight(gzInt height=0);    // Best hit
00107     GZ_SYSTEM_EXPORT gzInt      getFullScreenHeight();
00108 
00109     GZ_SYSTEM_EXPORT gzVoid     setFullScreenFrequency(gzInt hz=0);     // default rate = 0
00110     GZ_SYSTEM_EXPORT gzInt      getFullScreenFrequency() const ;
00111 
00112     GZ_SYSTEM_EXPORT gzVoid     notifyFormat();
00113 
00114     GZ_SYSTEM_EXPORT gzVisual   getVisual();
00115     GZ_SYSTEM_EXPORT gzVisual   getNewVisual(gzDeviceContext context , gzContext *renderContext, gzBool offscreen=FALSE );
00116 
00117     GZ_SYSTEM_EXPORT gzVoid     setDefault();
00118     GZ_SYSTEM_EXPORT static gzGraphicsFormat * getDefault();
00119 
00120 private:
00121 
00122     enum CAPS_BITS
00123     {   
00124         GZ_USE_DOUBLE_BUFFER        =   (1<<0),
00125         GZ_USE_ALPHA                =   (1<<1),
00126         GZ_USE_ACCUM                =   (1<<2),
00127         GZ_USE_STENCIL              =   (1<<3),
00128         GZ_USE_DEPTH                =   (1<<4),
00129         GZ_USE_STEREO               =   (1<<5),
00130         GZ_USE_MULTISAMPLE          =   (1<<6),
00131         GZ_USE_FULLSCREEN           =   (1<<7),
00132     };
00133 
00134     
00135     gzUShort    m_enable;
00136 
00137     gzInt   m_red_bits;
00138     gzInt   m_green_bits;
00139     gzInt   m_blue_bits;
00140     gzInt   m_alpha_bits;
00141     gzInt   m_depth_bits;
00142     gzInt   m_stencil_bits;
00143     gzInt   m_accum_red_bits;   
00144     gzInt   m_accum_green_bits; 
00145     gzInt   m_accum_blue_bits;  
00146     gzInt   m_accum_alpha_bits; 
00147 
00148     gzInt   m_fullScreenWidth;
00149     gzInt   m_fullScreenHeight;
00150     gzInt   m_fullScreenFrequency;
00151 
00152     gzInt   m_multisamples;
00153 
00154     static gzRefPointer<gzGraphicsFormat> s_defaultFormat;
00155 
00156     gzVisual            m_visual;
00157 };
00158 
00159 #endif // __GZ_GRAPHICSFORMAT_H__
00160 
00161 

Documentation for Gizmo3D generated at Wed Feb 20 11:54:05 2008 by   Saab Training Systems AB, ¸ (c) 2003-and beyond