00001 00019 // Forward declare external classes. 00020 struct IDXGISwapChain; 00021 struct ID3D10DepthStencilView; 00022 struct D3D10_VIEWPORT; 00023 struct _D3DX10_SPRITE; 00024 typedef struct _D3DX10_SPRITE D3DX10_SPRITE; 00025 00026 namespace Ovgl 00027 { 00028 extern "C" 00029 { 00030 class Camera; 00031 class Interface; 00032 00033 class __declspec(dllexport) RenderTarget 00034 { 00035 public: 00036 Instance* Inst; 00037 Camera* view; 00038 HWND hWnd; 00039 IDXGISwapChain* SwapChain; 00040 ID3D10RenderTargetView* RenderTargetView; 00041 ID3D10DepthStencilView* DepthStencilView; 00042 Ovgl::Vector4 Rect; 00043 std::vector<Ovgl::Interface*> Interfaces; 00044 Ovgl::Interface* CreateSprite( const std::string& file, Ovgl::Vector4* rect ); 00045 Ovgl::Interface* CreateText( const std::string& text, Ovgl::Vector4* rect ); 00046 bool GetFullscreen(); 00047 void SetFullscreen( bool state ); 00048 void Release(); 00049 void Render(); 00050 }; 00051 00052 class Interface 00053 { 00054 public: 00055 D3DX10_SPRITE* Sprite; 00056 Ovgl::RenderTarget* RenderTarget; 00057 int CSize; 00058 std::string Text; 00059 std::string Font; 00060 float Size; 00061 bool Bold; 00062 bool Italic; 00063 Ovgl::Vector4 Rect; 00064 bool Enabled; 00065 bool Over; 00066 void UpdateText(); 00067 void Release(); 00068 }; 00069 } 00070 }