This is the base class for the types of layers that can be added to a renderable. More...
#include <renderlayer.h>
Public Types | |
enum | RenderLayerType { RLT_Image, RLT_MultiLineText, RLT_SingleLineText } |
This enum describes the type of RenderLayer this is for use in casting. | |
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 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 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... | |
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... | |
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 (bool 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... | |
This is the base class for the types of layers that can be added to a renderable.
Definition at line 59 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 228 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 234 of file renderlayer.cpp.
|
virtual |
Gets a rect containing the actual position and size of this layer.
Definition at line 113 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::ImageLayer, Mezzanine::UI::SingleLineTextLayer, and Mezzanine::UI::MultiLineTextLayer.
Definition at line 215 of file renderlayer.cpp.
|
virtual |
Gets the index position of this RenderLayer in it's parent.
Definition at line 96 of file renderlayer.cpp.
|
pure virtual |
Gets the type of render layer this is.
Implemented in Mezzanine::UI::SingleLineTextLayer, Mezzanine::UI::MultiLineTextLayer, and Mezzanine::UI::ImageLayer.
|
virtual |
Gets the parent of this render layer.
Definition at line 162 of file renderlayer.cpp.
|
virtual |
Gets the current rotation applied to this renderable in degrees.
Definition at line 149 of file renderlayer.cpp.
|
virtual |
Gets the current rotation applied to this renderable in radians.
Definition at line 154 of file renderlayer.cpp.
|
virtual |
Gets the scaling currently applied to this render layer.
Definition at line 129 of file renderlayer.cpp.
|
virtual |
Gets the screen the parent renderable is being rendered on.
Definition at line 167 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 220 of file renderlayer.cpp.
|
virtual |
Notifies this RenderLayer that the group this layer belongs to has become the active group.
Definition at line 101 of file renderlayer.cpp.
|
virtual |
Notifies this RenderLayer that the group this layer belongs to is no longer the active group.
Definition at line 107 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::ImageLayer, Mezzanine::UI::SingleLineTextLayer, and Mezzanine::UI::MultiLineTextLayer.
Definition at line 192 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::ImageLayer, Mezzanine::UI::SingleLineTextLayer, and Mezzanine::UI::MultiLineTextLayer.
Definition at line 175 of file renderlayer.cpp.
|
protectedvirtual |
Applies rotation to a point in 2D space.
Definition at line 64 of file renderlayer.cpp.
|
protectedvirtual |
Applies rotation to a quad in 2D space.
Definition at line 81 of file renderlayer.cpp.
|
virtual |
Sets the rotation to be applied to this renderable.
Degrees | The angle of rotation in degrees. |
Definition at line 137 of file renderlayer.cpp.
|
virtual |
Sets the rotation to be applied to this renderable.
Radians | The angle of rotation in radians. |
Definition at line 143 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. |
Reimplemented in Mezzanine::UI::TextLayer.
Definition at line 120 of file renderlayer.cpp.
|
protected |
Stores the index of this RenderLayer in it's parent QuadRenderable.
Definition at line 79 of file renderlayer.h.
|
protected |
A pointer to the parent of this RenderLayer.
Definition at line 76 of file renderlayer.h.
|
protected |
The amount of rotation to be applied to this RenderLayer in radians.
Definition at line 82 of file renderlayer.h.
|
protected |
The scaling applied to this RenderLayer.
Definition at line 73 of file renderlayer.h.