00001 00002 #ifndef __RENDERERINTERFACE_H_ 00003 #define __RENDERERINTERFACE_H_ 00004 // 00005 // This file is part of the GameFramework project released by Wazoo Enterprises Inc. 00006 // under the GNU Public License. 00007 // 00008 // Any projects using this code must attach these copyright notices along with their 00009 // own as outlined at http://www.gnu.org 00010 // 00011 // Copyright 2003 by Wazoo Enterprises Inc. 00012 // To contact the auther, send a message to wazoo@wazooenterprises.com 00013 // 00014 00015 00016 #include <windows.h> 00017 #include <string> 00018 00023 #include "vbInterface.h" 00024 00029 #include "textureManagerInterface.h" 00030 00038 class rendererInterface 00039 { 00040 protected: 00041 HWND m_hWnd; 00042 DWORD m_dwWidth; 00043 DWORD m_dwHeight; 00044 DWORD m_dwDepth; 00045 BOOL m_bWindowed; 00047 public: 00052 vbInterface* m_pVB; 00058 textureManagerInterface* m_pTextureManager; 00061 public: 00065 rendererInterface(){}; 00066 00070 virtual ~rendererInterface(){}; 00071 00081 virtual HRESULT createDevice(HWND, DWORD, DWORD, DWORD, BOOL) = 0; 00082 00088 virtual void destroyDevice(void) = 0; 00089 00095 virtual HRESULT beginRenderingScene(void) = 0; 00096 00102 virtual void endRenderingScene(void) = 0; 00103 00112 virtual void setClearColor(FLOAT, FLOAT, FLOAT, FLOAT) = 0; 00113 00119 textureManagerInterface* getTextureInterface(void){ return m_pTextureManager;}; 00120 00121 00122 00123 }; 00124 00125 extern "C" 00126 { 00127 HRESULT createRendererInterface(rendererInterface **pInterface); 00128 typedef HRESULT (*CREATERENDERERINTERFACE)(rendererInterface **pInterface); 00129 00130 HRESULT destroyRendererInterface(rendererInterface **pInterface); 00131 typedef HRESULT (*DESTROYRENDERERINTERFACE)(rendererInterface **pInterface); 00132 } 00133 00134 #endif