Crazy Eddie's GUI System 0.8.7
Loading...
Searching...
No Matches
RenderQueue.h
1/***********************************************************************
2 created: Fri Jan 9 2009
3 author: Paul D Turner
4*************************************************************************/
5/***************************************************************************
6 * Copyright (C) 2004 - 2011 Paul D Turner & The CEGUI Development Team
7 *
8 * Permission is hereby granted, free of charge, to any person obtaining
9 * a copy of this software and associated documentation files (the
10 * "Software"), to deal in the Software without restriction, including
11 * without limitation the rights to use, copy, modify, merge, publish,
12 * distribute, sublicense, and/or sell copies of the Software, and to
13 * permit persons to whom the Software is furnished to do so, subject to
14 * the following conditions:
15 *
16 * The above copyright notice and this permission notice shall be
17 * included in all copies or substantial portions of the Software.
18 *
19 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
20 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
21 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
22 * IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
23 * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
24 * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
25 * OTHER DEALINGS IN THE SOFTWARE.
26 ***************************************************************************/
27#ifndef _CEGUIRenderQueue_h_
28#define _CEGUIRenderQueue_h_
29
30#include "CEGUI/Base.h"
31#include <vector>
32
33#if defined(_MSC_VER)
34# pragma warning(push)
35# pragma warning(disable : 4251)
36#endif
37
38
39// Start of CEGUI namespace section
40namespace CEGUI
41{
52class CEGUIEXPORT RenderQueue :
53 public AllocatedObject<RenderQueue>
54{
55public:
62 void draw() const;
63
72 void addGeometryBuffer(const GeometryBuffer& buffer);
73
84
91 void reset();
92
93private:
95 typedef std::vector<const GeometryBuffer*
96 CEGUI_VECTOR_ALLOC(const GeometryBuffer)> BufferList;
98 BufferList d_buffers;
99};
100
101} // End of CEGUI namespace section
102
103#if defined(_MSC_VER)
104# pragma warning(pop)
105#endif
106
107#endif // end of guard _CEGUIRenderQueue_h_
Definition MemoryAllocatedObject.h:110
Abstract class defining the interface for objects that buffer geometry for later rendering.
Definition GeometryBuffer.h:44
Class that represents a queue of GeometryBuffer objects to be rendered.
Definition RenderQueue.h:54
void reset()
Remove any and all queued GeometryBuffer objects and restore the queue to the default state....
void addGeometryBuffer(const GeometryBuffer &buffer)
Add a GeometryBuffer to the RenderQueue. Ownership of the GeometryBuffer does not pass to the RenderQ...
void draw() const
Draw all GeometryBuffer objects currently listed in the RenderQueue. The GeometryBuffer objects remai...
void removeGeometryBuffer(const GeometryBuffer &buffer)
Remove a GeometryBuffer previously queued for drawing. If the specified GeometryBuffer is not added t...
Main namespace for Crazy Eddie's GUI Library.
Definition arch_overview.dox:1