27#ifndef _CEGUIRenderingSurface_h_
28#define _CEGUIRenderingSurface_h_
30#include "CEGUI/EventSet.h"
31#include "CEGUI/EventArgs.h"
32#include "CEGUI/RenderQueue.h"
36# pragma warning(disable : 4251)
348 typedef std::map<RenderQueueID, RenderQueue, std::less<RenderQueueID>
Definition MemoryAllocatedObject.h:110
Base class used as the argument to all subscribers Event object.
Definition EventArgs.h:51
Interface providing event signaling and handling.
Definition EventSet.h:167
Abstract class defining the interface for objects that buffer geometry for later rendering.
Definition GeometryBuffer.h:44
EventArgs based class that is passed to handlers subcribed to hear about begin/end events on renderin...
Definition RenderingSurface.h:74
RenderQueueID queueID
ID of the queue that this event has been fired for.
Definition RenderingSurface.h:87
RenderQueueEventArgs(const RenderQueueID id)
Constructor for RenderQueueEventArgs objects.
Class that represents a queue of GeometryBuffer objects to be rendered.
Definition RenderQueue.h:54
Defines interface to some surface that can be rendered to. Concrete instances of objects that impleme...
Definition RenderTarget.h:60
Class that represents a surface that can have geometry based imagery drawn to it.
Definition RenderingSurface.h:111
static const String EventNamespace
Namespace for global events from RenderingSurface objects.
Definition RenderingSurface.h:114
virtual ~RenderingSurface()
Destructor for RenderingSurface objects.
virtual void destroyRenderingWindow(RenderingWindow &window)
Destroy a RenderingWindow we own. If we are not the present owner of the given RenderingWindow,...
void clearGeometry(const RenderQueueID queue)
Clears all GeometryBuffers from the specified rendering queue.
std::vector< RenderingWindow *CEGUI_VECTOR_ALLOC(RenderingWindow *)> RenderingWindowList
collection type for created RenderingWindow objects
Definition RenderingSurface.h:352
RenderQueueList d_queues
the collection of RenderQueue objects.
Definition RenderingSurface.h:354
void draw(const RenderQueue &queue, RenderQueueEventArgs &args)
draw a rendering queue, firing events before and after.
RenderingSurface(RenderTarget &target)
Constructor for RenderingSurface objects.
virtual RenderingWindow & createRenderingWindow(TextureTarget &target)
Create and return a reference to a child RenderingWindow object that will render back onto this Rende...
virtual void transferRenderingWindow(RenderingWindow &window)
transfer ownership of the RenderingWindow to this RenderingSurface.
virtual void invalidate()
Marks the RenderingSurface as invalid, causing the geometry to be rerendered to the RenderTarget next...
RenderingWindowList d_windows
collection of RenderingWindow object we own
Definition RenderingSurface.h:356
void detatchWindow(RenderingWindow &w)
detatch ReneringWindow from this RenderingSurface
bool isInvalidated() const
Return whether this RenderingSurface is invalidated.
void attachWindow(RenderingWindow &w)
attach ReneringWindow from this RenderingSurface
const RenderTarget & getRenderTarget() const
Return the RenderTarget object that this RenderingSurface is drawing to.
void removeGeometryBuffer(const RenderQueueID queue, const GeometryBuffer &buffer)
Remove the specified GeometryBuffer from the specified queue.
void addGeometryBuffer(const RenderQueueID queue, const GeometryBuffer &buffer)
Add the specified GeometryBuffer to the specified queue for rendering when the RenderingSurface is dr...
RenderTarget * d_target
RenderTarget that this surface actually draws to.
Definition RenderingSurface.h:358
static const String EventRenderQueueStarted
Definition RenderingSurface.h:122
virtual void draw()
Draw the GeometryBuffers for all rendering queues to the RenderTarget that this RenderingSurface is t...
bool d_invalidated
holds invalidated state of target (as far as we are concerned)
Definition RenderingSurface.h:360
void clearGeometry()
Clears all GeometryBuffers from all rendering queues.
std::map< RenderQueueID, RenderQueue, std::less< RenderQueueID > CEGUI_MAP_ALLOC(RenderQueueID, RenderQueue)> RenderQueueList
collection type for the queues
Definition RenderingSurface.h:349
virtual bool isRenderingWindow() const
Return whether this RenderingSurface is actually an instance of the RenderingWindow subclass.
static const String EventRenderQueueEnded
Definition RenderingSurface.h:129
virtual void drawContent()
RenderingWindow is a RenderingSurface that can be "drawn back" onto another RenderingSurface and is p...
Definition RenderingWindow.h:51
String class used within the GUI system.
Definition String.h:64
Specialisation of RenderTarget interface that should be used as the base class for RenderTargets that...
Definition TextureTarget.h:41
Main namespace for Crazy Eddie's GUI Library.
Definition arch_overview.dox:1
RenderQueueID
Enumerated type for valid render queue IDs.
Definition RenderingSurface.h:46
@ RQ_BASE
Queue for base level rendering by the surface owner.
Definition RenderingSurface.h:52
@ RQ_CONTENT_1
Queue for first level of 'content' rendering.
Definition RenderingSurface.h:55
@ RQ_CONTENT_2
Queue for second level of 'content' rendering.
Definition RenderingSurface.h:58
@ RQ_UNDERLAY
Queue for rendering that appears beneath base imagery.
Definition RenderingSurface.h:49
@ RQ_OVERLAY
Queue for overlay rendering that appears above other regular rendering.
Definition RenderingSurface.h:61