Main Page   Namespace List   Class Hierarchy   Compound List   File List   Compound Members   File Members   Related Pages  

GameDX.h

Go to the documentation of this file.
00001 
00007 #ifndef _GAMEDX_H_
00008 #define _GAMEDX_H_
00009 
00010 #include "IsoBomb.h"
00011 
00012 class Window;
00013 class GameDXListener;
00014 
00018 class GameDX {
00019 
00020 public:
00025     GameDX();
00026 
00031     ~GameDX();
00032 
00033 
00034 public:
00040     HRESULT setupD3D();
00041 
00047     HRESULT setupDI();
00048 
00054     LPDIRECT3DDEVICE8 & getDeviceHandle();
00055 
00061     LPDIRECT3D8 & getD3D();
00062 
00068     D3DRECT & getClientSurfaceCoords();
00069 
00075     LPD3DXFONT & getFont();
00076 
00082     LPDIRECTINPUT8 & getDirectInput();
00083 
00088     void releaseD3D();
00089 
00099     HRESULT resetD3D();
00100 
00105     void releaseDI();
00106 
00111     void registerListener( GameDXListener& listener );
00112 
00118     void removeListener( GameDXListener& listener );
00119 
00120 private:
00124     void generateLostEvent();
00125 
00129     void generateResetEvent();
00130 
00135     HRESULT setupPresentParams( bool isWindowed );
00136 
00137 private:
00138 
00143     D3DDISPLAYMODE d3ddm;
00144 
00149     D3DPRESENT_PARAMETERS d3dpp;
00150 
00151 
00156     LPDIRECT3D8 m_pd3d;
00157 
00162     LPDIRECT3DDEVICE8 m_pd3dDevice;
00163 
00168     LPDIRECT3DSURFACE8 m_pMainSurf;
00169 
00174     LPDIRECT3DSURFACE8 m_pBackSurf;
00175 
00180     LPD3DXFONT m_pd3dFont;
00181 
00186     LPDIRECTINPUT8 m_pdi;
00187 
00188     typedef std::vector< GameDXListener* > LVector; //Listener Vector
00189     typedef LVector::iterator LVectorIter;          //Listener Vector iterator
00190 
00191     LVector listeners;
00192 
00193 };
00194 
00195 #endif

Generated on Tue Mar 4 02:29:25 2003 for SuperIsoBomb by doxygen1.2.18