This class stores a group of render layers that can be set to be rendered. More...
#include <renderlayergroup.h>
Public Types | |
typedef RenderLayerContainer::const_iterator | ConstRenderLayerIterator |
Const Iterator type for RenderLayerPair instances stored by this class. | |
typedef std::vector< RenderLayerPair > | RenderLayerContainer |
Basic container type for RenderLayerPair storage by this class. | |
typedef RenderLayerContainer::iterator | RenderLayerIterator |
Iterator type for RenderLayerPair instances stored by this class. | |
typedef std::pair< UInt16, RenderLayer * > | RenderLayerPair |
An std::pair type for storing ZOrders in relation to RenderLayer instances. | |
Public Member Functions | |
RenderLayerGroup (const UInt16 ID, QuadRenderable *Creator) | |
Class constructor. More... | |
~RenderLayerGroup () | |
Class destructor. | |
void | AddLayer (RenderLayer *RL, const UInt16 ZOrder) |
Adds a layer to this group by it's ZOrder. More... | |
UInt16 | GetGroupID () const |
Gets the ID of this RenderLayerGroup. More... | |
RenderLayer * | GetLayer (const Whole Index) const |
Gets a RenderLayer in this group by it's index. More... | |
RenderLayer * | GetLayerByZOrder (const UInt16 ZOrder) const |
Gets a RenderLayer in this group by it's ZOrder. More... | |
UInt32 | GetNumRenderLayers () const |
Gets the number of RenderLayers assigned to this group. More... | |
void | NotifyActive () |
Notifies this RenderLayerGroup that it has become the active group. More... | |
void | NotifyInactive () |
Notifies this RenderLayerGroup that it is no longer the active group. More... | |
void | RemoveAllLayers () |
Removes every layer in this group, from this group. | |
void | RemoveLayer (RenderLayer *RL) |
Removes a layer from this group. More... | |
RenderLayerIterator | RenderLayerBegin () |
Gets an iterator to the first RenderLayer. More... | |
ConstRenderLayerIterator | RenderLayerBegin () const |
Gets a const iterator to the first RenderLayer. More... | |
RenderLayerIterator | RenderLayerEnd () |
Gets an iterator to one passed the last RenderLayer. More... | |
ConstRenderLayerIterator | RenderLayerEnd () const |
Gets an iterator to one passed the last RenderLayer. More... | |
void | SwapLayers (RenderLayerGroup *OtherGroup) |
Swaps the layers contained by this group and another group. More... | |
Static Public Member Functions | |
static String | GetSerializableName () |
Get the name of the the XML tag the Renderable class will leave behind as its instances are serialized. More... | |
Protected Attributes | |
UInt16 | GroupID |
The ID of this group. More... | |
QuadRenderable * | ParentQuad |
A pointer to the host QuadRenderable. More... | |
RenderLayerContainer | RenderLayers |
Container storing all the layers that belong to this group and their ZOrders. More... | |
This class stores a group of render layers that can be set to be rendered.
A QuadRenderable can only render one group of layers at a time, but a single layer can be added to as many RenderLayerGroup's as the user see's fit.
Definition at line 56 of file renderlayergroup.h.
Mezzanine::UI::RenderLayerGroup::RenderLayerGroup | ( | const UInt16 | ID, |
QuadRenderable * | Creator | ||
) |
Class constructor.
ID | The unique ID to give to this RenderLayerGroup. |
Creator | The Quad that owns this RenderLayerGroup. |
Definition at line 51 of file renderlayergroup.cpp.
void Mezzanine::UI::RenderLayerGroup::AddLayer | ( | RenderLayer * | RL, |
const UInt16 | ZOrder | ||
) |
Adds a layer to this group by it's ZOrder.
RL | The layer to add. |
ZOrder | The ZOrder at which to add the layer. |
Definition at line 80 of file renderlayergroup.cpp.
UInt16 Mezzanine::UI::RenderLayerGroup::GetGroupID | ( | ) | const |
Gets the ID of this RenderLayerGroup.
Definition at line 62 of file renderlayergroup.cpp.
RenderLayer * Mezzanine::UI::RenderLayerGroup::GetLayer | ( | const Whole | Index | ) | const |
Gets a RenderLayer in this group by it's index.
Index | The index of the RenderLayer to retrieve. Note: RenderLayers are sorted via ZOrder. |
Definition at line 99 of file renderlayergroup.cpp.
RenderLayer * Mezzanine::UI::RenderLayerGroup::GetLayerByZOrder | ( | const UInt16 | ZOrder | ) | const |
Gets a RenderLayer in this group by it's ZOrder.
ZOrder | The ZOrder of the RenderLayer to retrieve. |
Definition at line 104 of file renderlayergroup.cpp.
UInt32 Mezzanine::UI::RenderLayerGroup::GetNumRenderLayers | ( | ) | const |
Gets the number of RenderLayers assigned to this group.
Definition at line 114 of file renderlayergroup.cpp.
|
static |
Get the name of the the XML tag the Renderable class will leave behind as its instances are serialized.
Definition at line 162 of file renderlayergroup.cpp.
void Mezzanine::UI::RenderLayerGroup::NotifyActive | ( | ) |
Notifies this RenderLayerGroup that it has become the active group.
Definition at line 65 of file renderlayergroup.cpp.
void Mezzanine::UI::RenderLayerGroup::NotifyInactive | ( | ) |
Notifies this RenderLayerGroup that it is no longer the active group.
Definition at line 71 of file renderlayergroup.cpp.
void Mezzanine::UI::RenderLayerGroup::RemoveLayer | ( | RenderLayer * | RL | ) |
Removes a layer from this group.
RL | The RenderLayer to be removed. |
Definition at line 127 of file renderlayergroup.cpp.
RenderLayerGroup::RenderLayerIterator Mezzanine::UI::RenderLayerGroup::RenderLayerBegin | ( | ) |
Gets an iterator to the first RenderLayer.
Definition at line 147 of file renderlayergroup.cpp.
RenderLayerGroup::ConstRenderLayerIterator Mezzanine::UI::RenderLayerGroup::RenderLayerBegin | ( | ) | const |
Gets a const iterator to the first RenderLayer.
Definition at line 153 of file renderlayergroup.cpp.
RenderLayerGroup::RenderLayerIterator Mezzanine::UI::RenderLayerGroup::RenderLayerEnd | ( | ) |
Gets an iterator to one passed the last RenderLayer.
Definition at line 150 of file renderlayergroup.cpp.
RenderLayerGroup::ConstRenderLayerIterator Mezzanine::UI::RenderLayerGroup::RenderLayerEnd | ( | ) | const |
Gets an iterator to one passed the last RenderLayer.
Definition at line 156 of file renderlayergroup.cpp.
void Mezzanine::UI::RenderLayerGroup::SwapLayers | ( | RenderLayerGroup * | OtherGroup | ) |
Swaps the layers contained by this group and another group.
OtherGroup | The other RenderLayerGroup to swap layers with. |
Definition at line 119 of file renderlayergroup.cpp.
|
protected |
The ID of this group.
Definition at line 76 of file renderlayergroup.h.
|
protected |
A pointer to the host QuadRenderable.
Definition at line 73 of file renderlayergroup.h.
|
protected |
Container storing all the layers that belong to this group and their ZOrders.
Definition at line 70 of file renderlayergroup.h.