27 #ifndef _CEGUIIrrlichtRenderTarget_h_
28 #define _CEGUIIrrlichtRenderTarget_h_
30 #include "CEGUI/RendererModules/Irrlicht/RendererDef.h"
31 #include "../../RenderTarget.h"
32 #include "../../Rect.h"
37 # pragma warning(push)
38 # pragma warning(disable : 4251)
44 class IrrlichtRenderer;
47 template <
typename T = RenderTarget>
48 class IRR_GUIRENDERER_API IrrlichtRenderTarget :
public T
52 IrrlichtRenderTarget(IrrlichtRenderer& owner,
53 irr::video::IVideoDriver& driver);
55 virtual ~IrrlichtRenderTarget();
58 void draw(
const GeometryBuffer& buffer);
59 void draw(
const RenderQueue& queue);
60 void setArea(
const Rectf& area);
61 const Rectf& getArea()
const;
64 void unprojectPoint(
const GeometryBuffer& buff,
65 const Vector2f& p_in, Vector2f& p_out)
const;
68 void updateMatrix()
const;
71 IrrlichtRenderer& d_owner;
73 irr::video::IVideoDriver& d_driver;
77 mutable irr::core::matrix4 d_matrix;
79 mutable bool d_matrixValid;
81 mutable float d_viewDistance;
83 const float d_xViewDir;
93 #endif // end of guard _CEGUIIrrlichtRenderTarget_h_