Crazy Eddie's GUI System  0.8.4
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Pages
CEGUI::RenderTarget Class Referenceabstract

Defines interface to some surface that can be rendered to. Concrete instances of objects that implement the RenderTarget interface are normally created via the Renderer object. More...

Inherits CEGUI::EventSet, and CEGUI::AllocatedObject< RenderTarget >.

Inherited by CEGUI::DirectFBRenderTarget, CEGUI::TextureTarget, CEGUI::Direct3D10RenderTarget<>, CEGUI::Direct3D11RenderTarget<>, CEGUI::Direct3D9RenderTarget<>, CEGUI::IrrlichtRenderTarget<>, CEGUI::OgreRenderTarget<>, CEGUI::OpenGLESRenderTarget<>, and CEGUI::OpenGLRenderTarget<>.

+ Collaboration diagram for CEGUI::RenderTarget:

Public Member Functions

virtual void draw (const GeometryBuffer &buffer)=0
 Draw geometry from the given GeometryBuffer onto the surface that this RenderTarget represents. More...
 
virtual void draw (const RenderQueue &queue)=0
 Draw geometry from the given RenderQueue onto the surface that this RenderTarget represents. More...
 
virtual void setArea (const Rectf &area)=0
 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...
 
virtual const RectfgetArea () const =0
 Return the area defined for this RenderTarget. More...
 
virtual bool isImageryCache () const =0
 Return whether the RenderTarget is an implementation that caches actual rendered imagery. More...
 
virtual void activate ()=0
 Activate the render target and put it in a state ready to be drawn to. More...
 
virtual void deactivate ()=0
 Deactivate the render target after having completed rendering. More...
 
virtual void unprojectPoint (const GeometryBuffer &buff, const Vector2f &p_in, Vector2f &p_out) const =0
 Take point p_in unproject it and put the result in p_out. Resulting point is local to GeometryBuffer buff.
 
- Public Member Functions inherited from CEGUI::EventSet
 EventSet ()
 Constructor for EventSet objects.
 
virtual ~EventSet (void)
 Destructor for EventSet objects.
 
void addEvent (const String &name)
 Creates a new Event object with the given name and adds it to the EventSet. More...
 
void addEvent (Event &event)
 Adds the given Event object to the EventSet. Ownership of the object passes to EventSet and it will be deleted when it is removed from the EventSet - whether explicitly via removeEvent or when the EventSet is destroyed. More...
 
void removeEvent (const String &name)
 Removes the Event with the given name. All connections to the event are disconnected, and the underlying Event object is destroyed. More...
 
void removeEvent (Event &event)
 Removes the given event from the EventSet. All connections to the event are disconnected, and the event object is destroyed. More...
 
void removeAllEvents (void)
 Remove all Event objects from the EventSet. Add connections will be disconnected, and all Event objects destroyed.
 
bool isEventPresent (const String &name)
 Checks to see if an Event with the given name is present in this EventSet. More...
 
virtual Event::Connection subscribeEvent (const String &name, Event::Subscriber subscriber)
 Subscribes a handler to the named Event. If the named Event is not yet present in the EventSet, it is created and added. More...
 
virtual Event::Connection subscribeEvent (const String &name, Event::Group group, Event::Subscriber subscriber)
 Subscribes a handler to the specified group of the named Event. If the named Event is not yet present in the EventSet, it is created and added. More...
 
template<typename Arg1 , typename Arg2 >
Event::Connection subscribeEvent (const String &name, Arg1 arg1, Arg2 arg2)
 Subscribes a handler to the named Event. If the named Event is not yet present in the EventSet, it is created and added. More...
 
template<typename Arg1 , typename Arg2 >
Event::Connection subscribeEvent (const String &name, Event::Group group, Arg1 arg1, Arg2 arg2)
 Subscribes a handler to the named Event. If the named Event is not yet present in the EventSet, it is created and added. More...
 
virtual Event::Connection subscribeScriptedEvent (const String &name, const String &subscriber_name)
 Subscribes the named Event to a scripted funtion. More...
 
virtual Event::Connection subscribeScriptedEvent (const String &name, Event::Group group, const String &subscriber_name)
 Subscribes the specified group of the named Event to a scripted funtion. More...
 
virtual void fireEvent (const String &name, EventArgs &args, const String &eventNamespace="")
 Fires the named event passing the given EventArgs object. More...
 
bool isMuted (void) const
 Return whether the EventSet is muted or not. More...
 
void setMutedState (bool setting)
 Set the mute state for this EventSet. More...
 
EventgetEventObject (const String &name, bool autoAdd=false)
 Return a pointer to the Event object with the given name, optionally adding such an Event object to the EventSet if it does not already exist. More...
 
EventIterator getEventIterator (void) const
 Return a EventSet::EventIterator object to iterate over the events currently added to the EventSet.
 

Static Public Attributes

static const String EventNamespace
 Namespace for global events.
 
static const String EventAreaChanged
 

Additional Inherited Members

- Public Types inherited from CEGUI::EventSet
typedef ConstMapIterator
< EventMap > 
EventIterator
 
- Protected Types inherited from CEGUI::EventSet
typedef std::map< String,
Event *, StringFastLessCompare
CEGUI_MAP_ALLOC(String, Event *)> 
EventMap
 
- Protected Member Functions inherited from CEGUI::EventSet
void fireEvent_impl (const String &name, EventArgs &args)
 Implementation event firing member.
 
ScriptModulegetScriptModule () const
 Helper to return the script module pointer or throw.
 
 EventSet (EventSet &)
 
EventSetoperator= (EventSet &)
 
- Protected Attributes inherited from CEGUI::EventSet
EventMap d_events
 
bool d_muted
 true if events for this EventSet have been muted.
 

Detailed Description

Defines interface to some surface that can be rendered to. Concrete instances of objects that implement the RenderTarget interface are normally created via the Renderer object.

Member Function Documentation

virtual void CEGUI::RenderTarget::activate ( )
pure virtual

Activate the render target and put it in a state ready to be drawn to.

Note
You MUST call this before doing any rendering - if you do not call this, in the unlikely event that your application actually works, it will likely stop working in some future version.

Implemented in CEGUI::Direct3D9TextureTarget, CEGUI::OpenGLWGLPBTextureTarget, CEGUI::Direct3D10TextureTarget, CEGUI::Direct3D11TextureTarget, CEGUI::IrrlichtTextureTarget, CEGUI::OpenGL3FBOTextureTarget, CEGUI::OpenGLESFBOTextureTarget, CEGUI::DirectFBRenderTarget, CEGUI::OpenGLFBOTextureTarget, CEGUI::OpenGLGLXPBTextureTarget, and CEGUI::OpenGLApplePBTextureTarget.

virtual void CEGUI::RenderTarget::deactivate ( )
pure virtual

Deactivate the render target after having completed rendering.

Note
You MUST call this after you finish rendering to the target - if you do not call this, in the unlikely event that your application actually works, it will likely stop working in some future version.

Implemented in CEGUI::Direct3D9TextureTarget, CEGUI::OpenGLWGLPBTextureTarget, CEGUI::Direct3D10TextureTarget, CEGUI::Direct3D11TextureTarget, CEGUI::IrrlichtTextureTarget, CEGUI::OpenGL3FBOTextureTarget, CEGUI::OpenGLESFBOTextureTarget, CEGUI::DirectFBRenderTarget, CEGUI::OpenGLFBOTextureTarget, CEGUI::OpenGLGLXPBTextureTarget, and CEGUI::OpenGLApplePBTextureTarget.

virtual void CEGUI::RenderTarget::draw ( const GeometryBuffer buffer)
pure virtual

Draw geometry from the given GeometryBuffer onto the surface that this RenderTarget represents.

Parameters
bufferGeometryBuffer object holding the geometry that should be drawn to the RenderTarget.

Implemented in CEGUI::DirectFBRenderTarget.

virtual void CEGUI::RenderTarget::draw ( const RenderQueue queue)
pure virtual

Draw geometry from the given RenderQueue onto the surface that this RenderTarget represents.

Parameters
queueRenderQueue object holding the geometry that should be drawn to the RenderTarget.

Implemented in CEGUI::DirectFBRenderTarget.

virtual const Rectf& CEGUI::RenderTarget::getArea ( ) const
pure virtual

Return the area defined for this RenderTarget.

Returns
Rect object describing the currently defined area for this RenderTarget.

Implemented in CEGUI::DirectFBRenderTarget.

virtual bool CEGUI::RenderTarget::isImageryCache ( ) const
pure 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

Implemented in CEGUI::Direct3D9ViewportTarget, CEGUI::OpenGLViewportTarget, CEGUI::OpenGLESViewportTarget, CEGUI::Direct3D9TextureTarget, CEGUI::Direct3D10TextureTarget, CEGUI::Direct3D11TextureTarget, CEGUI::IrrlichtTextureTarget, CEGUI::Direct3D10ViewportTarget, CEGUI::OgreWindowTarget, CEGUI::Direct3D11ViewportTarget, CEGUI::OpenGLESFBOTextureTarget, CEGUI::OpenGLTextureTarget, CEGUI::DirectFBRenderTarget, CEGUI::NullTextureTarget, CEGUI::OgreTextureTarget, and CEGUI::IrrlichtWindowTarget.

virtual void CEGUI::RenderTarget::setArea ( const Rectf area)
pure virtual

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).

Parameters
areaRect object describing the new area to be assigned to the RenderTarget.
Note
When implementing this function, you should be sure to fire the event RenderTarget::EventAreaChanged so that interested parties can know that the change has occurred.
Exceptions
InvalidRequestExceptionMay be thrown if the RenderTarget does not support setting or changing its area, or if the area change can not be satisfied for some reason.

Implemented in CEGUI::DirectFBRenderTarget.

Member Data Documentation

const String CEGUI::RenderTarget::EventAreaChanged
static

Event to be fired when the RenderTarget object's area has changed. Handlers are passed a const RenderTargetEventArgs reference with RenderTargetEventArgs::target set to the RenderTarget whose area changed.