Crazy Eddie's GUI System  0.8.0
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Pages
CEGUI::OgreTextureTarget Class Reference

CEGUI::TextureTarget implementation for the Ogre engine. More...

+ Inheritance diagram for CEGUI::OgreTextureTarget:
+ Collaboration diagram for CEGUI::OgreTextureTarget:

Public Member Functions

 OgreTextureTarget (OgreRenderer &owner, Ogre::RenderSystem &rs)
 Constructor.
 
virtual ~OgreTextureTarget ()
 Destructor.
 
bool isImageryCache () const
 Return whether the RenderTarget is an implementation that caches actual rendered imagery. More...
 
void clear ()
 Clear the surface of the underlying texture.
 
TexturegetTexture () const
 Return a pointer to the CEGUI::Texture that the TextureTarget is using. More...
 
void declareRenderSize (const Sizef &sz)
 Used to declare to the TextureTarget the largest size, in pixels, of the next set of incoming rendering operations. More...
 
bool isRenderingInverted () const
 Return whether rendering done on the target texture is inverted in relation to regular textures. More...
 
- Public Member Functions inherited from CEGUI::OgreRenderTarget< TextureTarget >
 OgreRenderTarget (OgreRenderer &owner, Ogre::RenderSystem &rs)
 Constructor.
 
virtual ~OgreRenderTarget ()
 Destructor.
 
void setOgreViewportDimensions (const Rectf &area)
 Set the underlying viewport area directly - bypassing what the RenderTarget considers to be it's area - thus allowing the view port area used for rendering to be different to the area set for the target. More...
 
void draw (const GeometryBuffer &buffer)
 Draw geometry from the given GeometryBuffer onto the surface that this RenderTarget represents. More...
 
void draw (const RenderQueue &queue)
 Draw geometry from the given RenderQueue onto the surface that this RenderTarget represents. More...
 
void setArea (const Rectf &area)
 Set the area for this RenderTarget. The exact action this function will take depends upon what the concrete class is representing. For example, with a 'view port' style RenderTarget, this should set the area that the view port occupies on the display (or rendering window). More...
 
const RectfgetArea () const
 Return the area defined for this RenderTarget. More...
 
void activate ()
 Activate the render target and put it in a state ready to be drawn to. More...
 
void deactivate ()
 Deactivate the render target after having completed rendering. More...
 
void unprojectPoint (const GeometryBuffer &buff, const Vector2f &p_in, Vector2f &p_out) const
 Take point p_in unproject it and put the result in p_out. Resulting point is local to GeometryBuffer buff.
 

Static Protected Member Functions

static String generateTextureName ()
 helper to generate unique texture names
 

Protected Attributes

OgreTextured_CEGUITexture
 This wraps d_texture so it can be used by the core CEGUI lib.
 
- Protected Attributes inherited from CEGUI::OgreRenderTarget< TextureTarget >
OgreRendererd_owner
 OgreRenderer object that owns this RenderTarget.
 
Ogre::RenderSystem & d_renderSystem
 Ogre RendererSystem used to affect the rendering process.
 
Rectf d_area
 holds defined area for the RenderTarget
 
Ogre::RenderTarget * d_renderTarget
 Ogre render target that we are effectively wrapping.
 
Ogre::Viewport * d_viewport
 Ogre viewport used for this target.
 
Ogre::Matrix4 d_matrix
 projection / view matrix cache
 
bool d_matrixValid
 true when d_matrix is valid and up to date
 
float d_viewDistance
 tracks viewing distance (this is set up at the same time as d_matrix)
 
bool d_viewportValid
 true when d_viewport is up to date and valid.
 
Rectf d_ogreViewportDimensions
 holds set Ogre viewport dimensions
 

Static Protected Attributes

static const float DEFAULT_SIZE
 default / initial size for the underlying texture.
 
static uint s_textureNumber
 static data used for creating texture names
 

Additional Inherited Members

- Public Types inherited from CEGUI::EventSet
typedef ConstMapIterator
< EventMap > 
EventIterator
 
- Static Public Attributes inherited from CEGUI::RenderTarget
static const String EventNamespace
 Namespace for global events.
 
static const String EventAreaChanged
 
- Protected Types inherited from CEGUI::EventSet
typedef std::map< String,
Event *, StringFastLessCompare
CEGUI_MAP_ALLOC(String, Event *)> 
EventMap
 
- Protected Member Functions inherited from CEGUI::OgreRenderTarget< TextureTarget >
void updateMatrix () const
 helper that initialises the cached matrix
 
void updateViewport ()
 helper that initialises the viewport
 
void updateOgreViewportDimensions (const Ogre::RenderTarget *const rt)
 helper to update the actual Ogre viewport dimensions
 

Detailed Description

CEGUI::TextureTarget implementation for the Ogre engine.

Member Function Documentation

void CEGUI::OgreTextureTarget::declareRenderSize ( const Sizef sz)
virtual

Used to declare to the TextureTarget the largest size, in pixels, of the next set of incoming rendering operations.

Note
The main purpose of this is to allow for the implemenatation to resize the underlying texture so that it can hold the imagery that will be drawn.
Parameters
szSize object describing the largest area that will be rendererd in the next batch of rendering operations.
Exceptions
InvalidRequestExceptionMay be thrown if the TextureTarget would not be able to handle the operations rendering content of the given size.

Implements CEGUI::TextureTarget.

Texture& CEGUI::OgreTextureTarget::getTexture ( ) const
virtual

Return a pointer to the CEGUI::Texture that the TextureTarget is using.

Returns
Texture object that the TextureTarget uses when rendering imagery.

Implements CEGUI::TextureTarget.

bool CEGUI::OgreTextureTarget::isImageryCache ( ) const
virtual

Return whether the RenderTarget is an implementation that caches actual rendered imagery.

Typically it is expected that texture based RenderTargets would return
true in response to this call.  Other types of RenderTarget, like
view port based targets, will more likely return false.
Returns

Implements CEGUI::RenderTarget.

bool CEGUI::OgreTextureTarget::isRenderingInverted ( ) const
virtual

Return whether rendering done on the target texture is inverted in relation to regular textures.

This is intended to be used when generating geometry for rendering the
TextureTarget onto another surface.
Returns
  • true if the texture content should be considered as inverted vertically in comparison with other regular textures.
  • false if the texture content has the same orientation as regular textures.

Implements CEGUI::TextureTarget.