00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028 #ifndef _CEGUIDirect3D10TextureTarget_h_
00029 #define _CEGUIDirect3D10TextureTarget_h_
00030
00031 #include "CEGUIDirect3D10RenderTarget.h"
00032 #include "../../CEGUITextureTarget.h"
00033
00034 #if defined(_MSC_VER)
00035 # pragma warning(push)
00036 # pragma warning(disable : 4250)
00037 # pragma warning(disable : 4251)
00038 #endif
00039
00040
00041 struct ID3D10Texture2D;
00042 struct ID3D10RenderTargetView;
00043 struct ID3D10DepthStencilView;
00044
00045
00046 namespace CEGUI
00047 {
00048 class Direct3D10Texture;
00049
00051 class D3D10_GUIRENDERER_API Direct3D10TextureTarget : public Direct3D10RenderTarget,
00052 public TextureTarget
00053 {
00054 public:
00055 Direct3D10TextureTarget(Direct3D10Renderer& owner);
00056 virtual ~Direct3D10TextureTarget();
00057
00058
00059 void activate();
00060 void deactivate();
00061
00062 bool isImageryCache() const;
00063
00064 void clear();
00065 Texture& getTexture() const;
00066 void declareRenderSize(const Size& sz);
00067 bool isRenderingInverted() const;
00068
00069 protected:
00071 static const float DEFAULT_SIZE;
00072
00074 void initialiseRenderTexture();
00076 void cleanupRenderTexture();
00078 void resizeRenderTexture();
00080 void enableRenderTexture();
00082 void disableRenderTexture();
00083
00085 ID3D10Texture2D* d_texture;
00087 ID3D10RenderTargetView* d_renderTargetView;
00089 Direct3D10Texture* d_CEGUITexture;
00091 ID3D10RenderTargetView* d_previousRenderTargetView;
00093 ID3D10DepthStencilView* d_previousDepthStencilView;
00094 };
00095
00096 }
00097
00098 #if defined(_MSC_VER)
00099 # pragma warning(pop)
00100 #endif
00101
00102 #endif // end of guard _CEGUIDirect3D10TextureTarget_h_