Spinning Topp Logo BlackTopp Studios
inc
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
Mezzanine::UI::ImageLayer Class Reference

This layer is for placing images and basic colours in it's parents' quad space. More...

#include <imagelayer.h>

+ Inheritance diagram for Mezzanine::UI::ImageLayer:
+ Collaboration diagram for Mezzanine::UI::ImageLayer:

Public Member Functions

 ImageLayer (QuadRenderable *ParentRenderable)
 Class constructor. More...
 
virtual ~ImageLayer ()
 Class destructor.
 
virtual const ColourValueGetBorderColour (const UI::Border Side) const
 Gets the colour of a border on this renderable. More...
 
virtual Real GetBorderWidth () const
 Gets the border width of this renderable. More...
 
virtual String GetDerivedSerializableName () const
 Gets the most derived serializable name of this Renderable. More...
 
virtual void NoBorder ()
 Disables any border set on this renderable if one is currently set.
 
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 SetBorder (const Real Width, const ColourValue &Colour)
 Sets all parameters for enabling a border. More...
 
virtual void SetBorder (const Real Width, const ColourValue &North, const ColourValue &South, const ColourValue &East, const ColourValue &West)
 Sets all parameters for enabling a border. More...
 
virtual void SetBorderColour (const ColourValue &Colour)
 Sets the colour of the border for this renderable. More...
 
virtual void SetBorderColour (const UI::Border Side, const ColourValue &Colour)
 Sets the colour of one side of the border for this renderable. More...
 
virtual void SetBorderWidth (const Real Width)
 Sets the width of the border for this renderable. More...
 
- Public Member Functions inherited from Mezzanine::UI::RenderLayer
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 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 QuadRenderableGetParent () 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 ScreenGetScreen () 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 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::RenderLayer
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

void DrawBorder (const Vector2 *InnerRect, const Vector2 *OuterRect)
 Draws the border, if any is set. More...
 
void DrawFill (const Vector2 *FillRect, const Sprite *FillSprite, const ColourValue *FillColours)
 Draws the main rectangle. More...
 
- Protected Member Functions inherited from Mezzanine::UI::RenderLayer
 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

ColourValue BorderColours [4]
 An array of colours to be used for each corner section of the border being rendered with this layer. More...
 
Real BorderWidth
 The width of the border to render around this layer in pixels. More...
 
- Protected Attributes inherited from Mezzanine::UI::RenderLayer
Whole IndexID
 Stores the index of this RenderLayer in it's parent QuadRenderable. More...
 
QuadRenderableParent
 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< VertexDataRenderVertices
 This is a container storing all the vertices generated by this renderer. More...
 

Detailed Description

This layer is for placing images and basic colours in it's parents' quad space.

Definition at line 55 of file imagelayer.h.

Constructor & Destructor Documentation

Mezzanine::UI::ImageLayer::ImageLayer ( QuadRenderable ParentRenderable)

Class constructor.

Parameters
ParentRenderableThe renderable that created this layer.

Definition at line 51 of file imagelayer.cpp.

Member Function Documentation

void Mezzanine::UI::ImageLayer::DrawBorder ( const Vector2 InnerRect,
const Vector2 OuterRect 
)
protected

Draws the border, if any is set.

Parameters
InnerRectAn array of 4 Vector2s storing the 4 points of the inner rect for the border.
OuterRectAn array of 4 Vector2s storing the 4 points of the outer rect for the border.

Definition at line 64 of file imagelayer.cpp.

void Mezzanine::UI::ImageLayer::DrawFill ( const Vector2 FillRect,
const Sprite FillSprite,
const ColourValue FillColours 
)
protected

Draws the main rectangle.

Parameters
FillRectAn array of 4 Vector2s storing the 4 points of the rect to render.
FillSpriteA pointer to the Sprite that will be rendered within the provided rect.
FillColoursAn array of 4 ColourValues storing the colour to render at each corner.

Definition at line 90 of file imagelayer.cpp.

const ColourValue & Mezzanine::UI::ImageLayer::GetBorderColour ( const UI::Border  Side) const
virtual

Gets the colour of a border on this renderable.

Parameters
SideThe side to retrieve the colour for.
Returns
Returns the colour of the border on the specified side.

Definition at line 163 of file imagelayer.cpp.

Real Mezzanine::UI::ImageLayer::GetBorderWidth ( ) const
virtual

Gets the border width of this renderable.

Returns
Returns a Real with the currently set width of the border.

Definition at line 158 of file imagelayer.cpp.

String Mezzanine::UI::ImageLayer::GetDerivedSerializableName ( ) const
virtual

Gets the most derived serializable name of this Renderable.

Note
When creating a new Renderable class verify this method has a valid return for it in order for serialization to work properly.
Returns
Returns the name of the XML tag from the most derived class of "this".

Reimplemented from Mezzanine::UI::RenderLayer.

Reimplemented in Mezzanine::UI::MultiImageLayer, and Mezzanine::UI::SingleImageLayer.

Definition at line 235 of file imagelayer.cpp.

String Mezzanine::UI::ImageLayer::GetSerializableName ( )
static

Get the name of the the XML tag the Renderable class will leave behind as its instances are serialized.

Returns
A string containing the name of this class.

Definition at line 238 of file imagelayer.cpp.

void Mezzanine::UI::ImageLayer::ProtoDeSerializeProperties ( const XML::Node SelfRoot)
virtual

Take the data stored in an XML Node and overwrite the properties of this object with it.

Parameters
SelfRootAn XML::Node containing the data to populate this class with.

Reimplemented from Mezzanine::UI::RenderLayer.

Reimplemented in Mezzanine::UI::MultiImageLayer, and Mezzanine::UI::SingleImageLayer.

Definition at line 199 of file imagelayer.cpp.

void Mezzanine::UI::ImageLayer::ProtoSerializeProperties ( XML::Node SelfRoot) const
virtual

Convert the properties of this class to an XML::Node ready for serialization.

Parameters
SelfRootThe root node containing all the serialized data for this instance.

Reimplemented from Mezzanine::UI::RenderLayer.

Reimplemented in Mezzanine::UI::MultiImageLayer, and Mezzanine::UI::SingleImageLayer.

Definition at line 171 of file imagelayer.cpp.

void Mezzanine::UI::ImageLayer::SetBorder ( const Real  Width,
const ColourValue Colour 
)
virtual

Sets all parameters for enabling a border.

Parameters
WidthThe width to set for the border.
ColourThe colour to be applied to all sides of the border.

Definition at line 137 of file imagelayer.cpp.

void Mezzanine::UI::ImageLayer::SetBorder ( const Real  Width,
const ColourValue North,
const ColourValue South,
const ColourValue East,
const ColourValue West 
)
virtual

Sets all parameters for enabling a border.

Parameters
WidthThe width to set for the border.
NorthThe colour to apply to the north side of the border.
SouthThe colour to apply to the south side of the border.
EastThe colour to apply to the east side of the border.
WestThe colour to apply to the west side of the border.

Definition at line 143 of file imagelayer.cpp.

void Mezzanine::UI::ImageLayer::SetBorderColour ( const ColourValue Colour)
virtual

Sets the colour of the border for this renderable.

Parameters
ColourThe colour to set for the border.

Definition at line 122 of file imagelayer.cpp.

void Mezzanine::UI::ImageLayer::SetBorderColour ( const UI::Border  Side,
const ColourValue Colour 
)
virtual

Sets the colour of one side of the border for this renderable.

Parameters
SideThe side to have the colour applied to.
ColourThe colour to be applied.

Definition at line 131 of file imagelayer.cpp.

void Mezzanine::UI::ImageLayer::SetBorderWidth ( const Real  Width)
virtual

Sets the width of the border for this renderable.

Parameters
WidthThe width to set for the border.

Definition at line 116 of file imagelayer.cpp.

Member Data Documentation

ColourValue Mezzanine::UI::ImageLayer::BorderColours[4]
protected

An array of colours to be used for each corner section of the border being rendered with this layer.

Definition at line 60 of file imagelayer.h.

Real Mezzanine::UI::ImageLayer::BorderWidth
protected

The width of the border to render around this layer in pixels.

Definition at line 63 of file imagelayer.h.


The documentation for this class was generated from the following files: