This is the base class for the types of layers that can be added to a renderable. More...
#include <renderlayer.h>
Public Member Functions | |
virtual | ~RenderLayer () |
Class destructor. | |
virtual void | _MarkDirty () |
Marks this renderable as well as all parent objects as dirty. More... | |
virtual void | _UpdateIndex (const Whole Index) |
Notifies this RenderLayer that it's index in the parent QuadRenderable has been updated. More... | |
virtual Rect | GetAreaRect () const |
Gets a rect containing the actual position and size of this layer. More... | |
virtual String | GetDerivedSerializableName () const |
Gets the most derived serializable name of this Renderable. More... | |
virtual Whole | GetIndex () const |
Gets the index position of this RenderLayer in it's parent. More... | |
virtual UI::RenderLayerType | GetLayerType () const =0 |
Gets the type of render layer this is. More... | |
virtual QuadRenderable * | GetParent () const |
Gets the parent of this render layer. More... | |
virtual Real | GetRotationDegrees () const |
Gets the current rotation applied to this renderable in degrees. More... | |
virtual Real | GetRotationRadians () const |
Gets the current rotation applied to this renderable in radians. More... | |
virtual Vector2 | GetScale () const |
Gets the scaling currently applied to this render layer. More... | |
virtual Screen * | GetScreen () const |
Gets the screen the parent renderable is being rendered on. More... | |
virtual Boole | IsImageLayer () const |
Gets whether or not this is an ImageLayer. More... | |
virtual Boole | IsLineLayer () const |
Gets whether or not this is an LineLayer. More... | |
virtual Boole | IsMultiImageLayer () const |
Gets whether or not this is a MultiImageLayer. More... | |
virtual Boole | IsMultiLineTextLayer () const |
Gets whether or not this is a MultiLineTextLayer. More... | |
virtual Boole | IsSingleImageLayer () const |
Gets whether or not this is a SingleImageLayer. More... | |
virtual Boole | IsSingleLineTextLayer () const |
Gets whether or not this is a SingleLineTextLayer. More... | |
virtual Boole | IsTextLayer () const |
Gets whether or not this is a TextLayer. More... | |
virtual void | NotifyActive () |
Notifies this RenderLayer that the group this layer belongs to has become the active group. More... | |
virtual void | NotifyInactive () |
Notifies this RenderLayer that the group this layer belongs to is no longer the active group. More... | |
virtual void | ProtoDeSerializeProperties (const XML::Node &SelfRoot) |
Take the data stored in an XML Node and overwrite the properties of this object with it. More... | |
virtual void | ProtoSerializeProperties (XML::Node &SelfRoot) const |
Convert the properties of this class to an XML::Node ready for serialization. More... | |
virtual void | SetRotationDegrees (const Real &Degrees) |
Sets the rotation to be applied to this renderable. More... | |
virtual void | SetRotationRadians (const Real &Radians) |
Sets the rotation to be applied to this renderable. More... | |
virtual void | SetScale (const Vector2 &Scaling) |
Sets the scaling to be applied to this render layer. More... | |
Public Member Functions inherited from Mezzanine::UI::SimpleRenderer | |
void | _AppendVertices (std::vector< VertexData > &Vertices) |
Appends the vertices of this renderable to another vector. More... | |
Boole | _IsDirty () |
Gets whether or not this renderer is dirty. More... | |
void | _Redraw (Boole Force) |
Regenerates the verticies in this renderable. More... | |
virtual String | GetPrimaryAtlas () const |
Gets the currently set primary atlas. More... | |
virtual void | ProtoDeSerialize (const XML::Node &SelfRoot) |
Take the data stored in an XML Node and overwrite this object with it. More... | |
virtual void | ProtoSerialize (XML::Node &ParentNode) const |
Convert this class to an XML::Node ready for serialization. More... | |
virtual void | SetPrimaryAtlas (const String &Atlas) |
Sets the Atlas to be assumed when one isn't provided for atlas related tasks. 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... | |
Static Public Member Functions inherited from Mezzanine::UI::QuadRenderer | |
static String | GetSerializableName () |
Get the name of the the XML tag the Renderable class will leave behind as its instances are serialized. More... | |
Static Public Member Functions inherited from Mezzanine::UI::SimpleRenderer | |
static String | GetSerializableName () |
Get the name of the the XML tag the Renderable class will leave behind as its instances are serialized. More... | |
Protected Member Functions | |
RenderLayer (QuadRenderable *ParentRenderable) | |
Class constructor. More... | |
virtual void | RotationTransform (Vector2 &Point, const Vector2 &RotationCenter) |
Applies rotation to a point in 2D space. More... | |
virtual void | RotationTransform (Vector2 &TopLeft, Vector2 &TopRight, Vector2 &BottomLeft, Vector2 &BottomRight) |
Applies rotation to a quad in 2D space. More... | |
virtual void | RotationTransform (Vector2 &TopLeft, Vector2 &TopRight, Vector2 &BottomLeft, Vector2 &BottomRight, const Vector2 &RotationCenter) |
Applies rotation to a quad in 2D space. More... | |
virtual void | RotationTransform (Vector2 *RotRect) |
Applies rotation to a quad in 2D space. More... | |
virtual void | RotationTransform (Vector2 *RotRect, const Vector2 &RotationCenter) |
Applies rotation to a quad in 2D space. More... | |
Protected Member Functions inherited from Mezzanine::UI::QuadRenderer | |
QuadRenderer () | |
Class constructor. | |
virtual | ~QuadRenderer () |
Class destructor. | |
virtual void | PushQuad (Vector2 *Positions, Vector2 *UVs, ColourValue *Colours, const String &Atlas) |
Pushes vertex information for a quad to a vector. Equivalent to calling "PushTriangle" twice. | |
virtual void | PushQuad2 (Vector2 *Positions, Vector2 *UVs, const ColourValue &Colour, const String &Atlas) |
Pushes vertex information for a quad to a vector. Equivalent to calling "PushTriangle" twice. | |
Protected Member Functions inherited from Mezzanine::UI::SimpleRenderer | |
SimpleRenderer () | |
Class constructor. | |
virtual | ~SimpleRenderer () |
Class destructor. | |
virtual void | PushTriangle (const Vector2 &A, const Vector2 &B, const Vector2 &C, const Vector2 &UV, const ColourValue &Colour, const String &Atlas) |
Pushes vertex information for a triangle to a vector. Equivalent to calling "PushVertex" three times. More... | |
virtual void | PushVertex (const Real &X, const Real &Y, const Vector2 &UV, const ColourValue &Colour, const String &Atlas) |
Collects all the relevant information for a single vertex and pushes it to a vector. More... | |
virtual void | RedrawImpl (Boole Force)=0 |
Provides the class specific implementation for regenerating vertices for this renderable. More... | |
Protected Attributes | |
Whole | IndexID |
Stores the index of this RenderLayer in it's parent QuadRenderable. More... | |
QuadRenderable * | Parent |
A pointer to the parent of this RenderLayer. More... | |
Real | RotAngle |
The amount of rotation to be applied to this RenderLayer in radians. More... | |
Vector2 | Scale |
The scaling applied to this RenderLayer. More... | |
Protected Attributes inherited from Mezzanine::UI::SimpleRenderer | |
Boole | Dirty |
This determines whether or not the vertices in this renderer need to be refreshed. More... | |
String | PriAtlas |
This contains the name of the atlas that will be used as default when one isn't specified. More... | |
std::vector< VertexData > | RenderVertices |
This is a container storing all the vertices generated by this renderer. More... | |
This is the base class for the types of layers that can be added to a renderable.
Definition at line 58 of file renderlayer.h.
|
protected |
Class constructor.
ParentRenderable | The renderable that created this layer. |
Definition at line 52 of file renderlayer.cpp.
|
virtual |
Marks this renderable as well as all parent objects as dirty.
Implements Mezzanine::UI::SimpleRenderer.
Definition at line 272 of file renderlayer.cpp.
|
virtual |
Notifies this RenderLayer that it's index in the parent QuadRenderable has been updated.
Index | The new index being given to this RenderLayer. |
Definition at line 278 of file renderlayer.cpp.
|
virtual |
Gets a rect containing the actual position and size of this layer.
Definition at line 144 of file renderlayer.cpp.
|
virtual |
Gets the most derived serializable name of this Renderable.
Reimplemented from Mezzanine::UI::QuadRenderer.
Reimplemented in Mezzanine::UI::TextLayer, Mezzanine::UI::MultiImageLayer, Mezzanine::UI::ImageLayer, Mezzanine::UI::SingleImageLayer, Mezzanine::UI::SingleLineTextLayer, and Mezzanine::UI::MultiLineTextLayer.
Definition at line 259 of file renderlayer.cpp.
|
virtual |
Gets the index position of this RenderLayer in it's parent.
Definition at line 127 of file renderlayer.cpp.
|
pure virtual |
Gets the type of render layer this is.
Implemented in Mezzanine::UI::MultiImageLayer, Mezzanine::UI::SingleLineTextLayer, Mezzanine::UI::MultiLineTextLayer, and Mezzanine::UI::SingleImageLayer.
|
virtual |
Gets the parent of this render layer.
Definition at line 210 of file renderlayer.cpp.
|
virtual |
Gets the current rotation applied to this renderable in degrees.
Definition at line 201 of file renderlayer.cpp.
|
virtual |
Gets the current rotation applied to this renderable in radians.
Definition at line 204 of file renderlayer.cpp.
|
virtual |
Gets the scaling currently applied to this render layer.
Definition at line 160 of file renderlayer.cpp.
|
virtual |
Gets the screen the parent renderable is being rendered on.
Definition at line 213 of file renderlayer.cpp.
|
static |
Get the name of the the XML tag the Renderable class will leave behind as its instances are serialized.
Definition at line 264 of file renderlayer.cpp.
|
virtual |
Gets whether or not this is an ImageLayer.
Definition at line 168 of file renderlayer.cpp.
|
virtual |
Gets whether or not this is an LineLayer.
Definition at line 165 of file renderlayer.cpp.
|
virtual |
Gets whether or not this is a MultiImageLayer.
Definition at line 174 of file renderlayer.cpp.
|
virtual |
Gets whether or not this is a MultiLineTextLayer.
Definition at line 183 of file renderlayer.cpp.
|
virtual |
Gets whether or not this is a SingleImageLayer.
Definition at line 171 of file renderlayer.cpp.
|
virtual |
Gets whether or not this is a SingleLineTextLayer.
Definition at line 180 of file renderlayer.cpp.
|
virtual |
Gets whether or not this is a TextLayer.
Definition at line 177 of file renderlayer.cpp.
|
virtual |
Notifies this RenderLayer that the group this layer belongs to has become the active group.
Definition at line 132 of file renderlayer.cpp.
|
virtual |
Notifies this RenderLayer that the group this layer belongs to is no longer the active group.
Definition at line 138 of file renderlayer.cpp.
|
virtual |
Take the data stored in an XML Node and overwrite the properties of this object with it.
SelfRoot | An XML::Node containing the data to populate this class with. |
Reimplemented from Mezzanine::UI::QuadRenderer.
Reimplemented in Mezzanine::UI::TextLayer, Mezzanine::UI::MultiImageLayer, Mezzanine::UI::ImageLayer, Mezzanine::UI::SingleImageLayer, Mezzanine::UI::SingleLineTextLayer, and Mezzanine::UI::MultiLineTextLayer.
Definition at line 236 of file renderlayer.cpp.
|
virtual |
Convert the properties of this class to an XML::Node ready for serialization.
SelfRoot | The root node containing all the serialized data for this instance. |
Reimplemented from Mezzanine::UI::QuadRenderer.
Reimplemented in Mezzanine::UI::TextLayer, Mezzanine::UI::MultiImageLayer, Mezzanine::UI::ImageLayer, Mezzanine::UI::SingleImageLayer, Mezzanine::UI::SingleLineTextLayer, and Mezzanine::UI::MultiLineTextLayer.
Definition at line 219 of file renderlayer.cpp.
|
protectedvirtual |
Applies rotation to a point in 2D space.
Point | A point in 2D space that will be rotated around another point. |
RotationCenter | The point that will be rotated around. |
Definition at line 64 of file renderlayer.cpp.
|
protectedvirtual |
Applies rotation to a quad in 2D space.
TopLeft | The top left corner of the quad to be rotated. |
TopRight | The top right corner of the quad to be rotated. |
BottomLeft | The bottom left corner of the quad to be rotated. |
BottomRight | The bottom right corner of the quad to be rotated. |
Definition at line 81 of file renderlayer.cpp.
|
protectedvirtual |
Applies rotation to a quad in 2D space.
TopLeft | The top left corner of the quad to be rotated. |
TopRight | The top right corner of the quad to be rotated. |
BottomLeft | The bottom left corner of the quad to be rotated. |
BottomRight | The bottom right corner of the quad to be rotated. |
RotationCenter | The point that will be rotated around. |
Definition at line 92 of file renderlayer.cpp.
|
protectedvirtual |
Applies rotation to a quad in 2D space.
RotRect | An array of 4 Vector2s storing the quad corners to be rotated. |
Definition at line 102 of file renderlayer.cpp.
|
protectedvirtual |
Applies rotation to a quad in 2D space.
RotRect | An array of 4 Vector2s storing the quad corners to be rotated. |
RotationCenter | The point that will be rotated around. |
Definition at line 114 of file renderlayer.cpp.
|
virtual |
Sets the rotation to be applied to this renderable.
Degrees | The angle of rotation in degrees. |
Definition at line 189 of file renderlayer.cpp.
|
virtual |
Sets the rotation to be applied to this renderable.
Radians | The angle of rotation in radians. |
Definition at line 195 of file renderlayer.cpp.
|
virtual |
Sets the scaling to be applied to this render layer.
Scaling | A Vector2 representing the X and Y scaling to be applied to this render layer. |
Definition at line 151 of file renderlayer.cpp.
|
protected |
Stores the index of this RenderLayer in it's parent QuadRenderable.
Definition at line 70 of file renderlayer.h.
|
protected |
A pointer to the parent of this RenderLayer.
Definition at line 67 of file renderlayer.h.
|
protected |
The amount of rotation to be applied to this RenderLayer in radians.
Definition at line 73 of file renderlayer.h.
|
protected |
The scaling applied to this RenderLayer.
Definition at line 64 of file renderlayer.h.