"L. Spiro Engine"
|
00001 00016 #ifndef __LSG_DIRECTX9RENDERTARGET_H__ 00017 #define __LSG_DIRECTX9RENDERTARGET_H__ 00018 00019 #include "../LSGGraphicsLib.h" 00020 #include "../RenderTarget/LSGRenderTargetBase.h" 00021 #include "../Texture/LSGTextureBase.h" 00022 #include "LSGDirectX9LosableResource.h" 00023 00024 #ifdef LSG_DX9 00025 00026 namespace lsg { 00027 00034 class CDirectX9RenderTarget : public CRenderTargetBase, public CDirectX9LosableResource { 00035 friend class CDirectX9RenderTargetManager; 00036 public : 00037 // == Functions. 00044 virtual LSBOOL LSE_CALL Activate( LSUINT32 _ui32Slot ); 00045 00046 00047 protected : 00048 // == Various constructors. 00049 LSE_CALLCTOR CDirectX9RenderTarget(); 00050 LSE_CALLCTOR ~CDirectX9RenderTarget(); 00051 00052 00053 // == Members. 00059 IDirect3DTexture9 * m_pd3dtTexture; 00060 00064 IDirect3DSurface9 * m_pd3s9Surface; 00065 00066 00067 // == Functions. 00071 virtual LSVOID LSE_CALL OnDeviceLost(); 00072 00078 virtual LSBOOL LSE_CALL OnDeviceReset(); 00079 00083 LSVOID LSE_CALL ResetApi(); 00084 00091 LSBOOL LSE_CALL CreateApiRenderTarget(); 00092 00099 virtual LSBOOL LSE_CALL SetAsColorRenderTarget( LSUINT32 _ui32Slot ) const; 00100 00104 virtual LSVOID LSE_CALL EndAsRenderTarget() const; 00105 00106 }; 00107 00108 00109 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00110 // DEFINITIONS 00111 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00112 00113 00114 } // namespace lsg 00115 00116 #endif // #ifdef LSG_DX9 00117 00118 #endif // __LSG_DIRECTX9RENDERTARGET_H__