27 #ifndef _CEGUIOgreRenderTarget_h_
28 #define _CEGUIOgreRenderTarget_h_
30 #include "../../RenderTarget.h"
31 #include "CEGUI/RendererModules/Ogre/Renderer.h"
32 #include "../../Rect.h"
33 #include <OgreMatrix4.h>
39 template <
typename T = RenderTarget>
40 class OGRE_GUIRENDERER_API OgreRenderTarget :
public T
44 OgreRenderTarget(OgreRenderer& owner, Ogre::RenderSystem& rs);
47 virtual ~OgreRenderTarget();
49 #if !defined(CEGUI_USE_OGRE_COMPOSITOR2)
63 void setOgreViewportDimensions(
const Rectf& area);
67 void draw(
const GeometryBuffer& buffer);
68 void draw(
const RenderQueue& queue);
69 void setArea(
const Rectf& area);
70 const Rectf& getArea()
const;
73 void unprojectPoint(
const GeometryBuffer& buff,
74 const Vector2f& p_in, Vector2f& p_out)
const;
78 void updateMatrix()
const;
80 void updateViewport();
81 #if !defined(CEGUI_USE_OGRE_COMPOSITOR2)
82 void updateOgreViewportDimensions(
const Ogre::RenderTarget*
const rt);
87 OgreRenderer& d_owner;
89 Ogre::RenderSystem& d_renderSystem;
93 Ogre::RenderTarget* d_renderTarget;
94 #ifdef CEGUI_USE_OGRE_COMPOSITOR2
97 bool d_renderTargetUpdated;
100 Ogre::Viewport* d_viewport;
102 #endif // CEGUI_USE_OGRE_COMPOSITOR2
105 mutable Ogre::Matrix4 d_matrix;
107 mutable bool d_matrixValid;
109 mutable float d_viewDistance;
113 bool d_viewportValid;
114 #if !defined(CEGUI_USE_OGRE_COMPOSITOR2)
115 Rectf d_ogreViewportDimensions;
122 #endif // end of guard _CEGUIOgreRenderTarget_h_