This represents a nestable quad for an object in a GUI layout. More...
#include <quadrenderable.h>
Public Types | |
typedef std::vector< Widget * > | ChildContainer |
Basic container type for Widget storage by this class. | |
typedef ChildContainer::iterator | ChildIterator |
Iterator type for Widget instances stored by this class. | |
typedef ChildContainer::const_iterator | ConstChildIterator |
Const Iterator type for Widget instances stored by this class. | |
typedef RenderLayerGroupContainer::const_iterator | ConstRenderLayerGroupIterator |
Const Iterator type for RenderLayerGroup instances stored by this class. | |
typedef RenderLayerContainer::const_iterator | ConstRenderLayerIterator |
Const Iterator type for RenderLayer instances stored by this class. | |
typedef ChildContainer::const_reverse_iterator | ConstReverseChildIterator |
Const Reverse Iterator type for Widget instances stored by this class. | |
typedef std::vector< RenderLayer * > | RenderLayerContainer |
Basic container type for RenderLayer storage by this class. | |
typedef std::vector< RenderLayerGroup * > | RenderLayerGroupContainer |
Basic container type for RenderLayerGroup storage by this class. | |
typedef RenderLayerGroupContainer::iterator | RenderLayerGroupIterator |
Iterator type for RenderLayerGroup instances stored by this class. | |
typedef RenderLayerContainer::iterator | RenderLayerIterator |
Iterator type for RenderLayer instances stored by this class. | |
typedef ChildContainer::reverse_iterator | ReverseChildIterator |
Reverse Iterator type for Widget instances stored by this class. | |
Public Types inherited from Mezzanine::UI::Renderable | |
enum | RenderableType { RT_LineList, RT_Screen, RT_Widget } |
A small enum to describe the type of renderable this is. | |
Public Member Functions | |||
QuadRenderable (Screen *Parent) | |||
Blank constructor. More... | |||
QuadRenderable (const String &RendName, Screen *Parent) | |||
Class constructor. More... | |||
QuadRenderable (const String &RendName, const UnifiedRect &RendRect, Screen *Parent) | |||
Parent-less constructor. More... | |||
virtual | ~QuadRenderable () | ||
Class destructor. More... | |||
virtual void | _AppendRenderData (ScreenRenderData &RenderData) | ||
Appends the vertices of this renderable to another vector. More... | |||
virtual void | _AppendRenderDataCascading (ScreenRenderData &RenderData) | ||
Appends the vertices of this renderable to another vector, and then does the same for this renderable's children. More... | |||
virtual void | _Clean () | ||
Refreshes the render data of this renderable. More... | |||
virtual void | _MarkAllChildrenDirty () | ||
Tells this QuadRenderable to mark each of it's children (and their children) as dirty. More... | |||
virtual void | _MarkAllLayersDirty () | ||
Tells this QuadRenderable that all of it's layers are dirty. More... | |||
virtual void | _MarkDirty () | ||
Marks this renderable as dirty, and informs other renderables if needed. More... | |||
virtual void | _NotifyParenthood (QuadRenderable *NewParent) | ||
Notifies this QuadRenderable that it has been added to another QuadRenderable. More... | |||
virtual void | _SetLayoutStrat (LayoutStrategy *ToSet) | ||
Sets a new LayoutStrategy for this quad to use. More... | |||
virtual void | _SetZOrder (const UInt16 &Zorder) | ||
Ssts the ZOrder value for this renderable. More... | |||
virtual void | AddChild (Widget *Child) | ||
Adds a Widget to this as a child of this quad. More... | |||
virtual void | AddChild (Widget *Child, const UInt16 ZOrder) | ||
Adds a Widget to this as a child of this quad. More... | |||
void | AddLayerToExistingGroup (RenderLayer *Layer, const UInt16 LayerZOrder, const UInt16 GroupID) | ||
Adds a RenderLayer to the specified group. More... | |||
void | AddLayerToGroup (RenderLayer *Layer, const UInt16 LayerZOrder, const UInt16 GroupID) | ||
Adds a RenderLayer to the specified group. More... | |||
void | AddLayerToGroup (RenderLayer *Layer, const GroupOrderEntry &GroupAndZ) | ||
Adds a RenderLayer to the specified group. More... | |||
void | AddLayerToGroups (RenderLayer *Layer, const GroupOrderEntryVector &Entrys) | ||
Adds a RenderLayer to multiple groups. More... | |||
virtual Boole | CheckOverlap (const QuadRenderable *Quad) const | ||
Checks to see if another Quad is overlapping with this one. More... | |||
ChildIterator | ChildrenBegin () | ||
Gets an iterator to the first child Widget. More... | |||
ConstChildIterator | ChildrenBegin () const | ||
Gets a const iterator to the first child Widget. More... | |||
ChildIterator | ChildrenEnd () | ||
Gets an iterator to one passed the last child Widget. More... | |||
ConstChildIterator | ChildrenEnd () const | ||
Gets an iterator to one passed the last child Widget. More... | |||
MultiImageLayer * | CreateMultiImageLayer () | ||
Creates an MultiImageLayer for this renderable. More... | |||
MultiImageLayer * | CreateMultiImageLayer (const UInt16 NormalZ, const UInt16 HoveredZ) | ||
Creates an MultiImageLayer for this renderable. More... | |||
MultiImageLayer * | CreateMultiImageLayer (const GroupOrderEntry &GroupAndZ) | ||
Creates an MultiImageLayer for this renderable and adds it to a RenderLayerGroup. More... | |||
MultiLineTextLayer * | CreateMultiLineTextLayer () | ||
Creats a MultiLineTextLayer for this renderable. More... | |||
MultiLineTextLayer * | CreateMultiLineTextLayer (const UInt16 NormalZ, const UInt16 HoveredZ) | ||
Creats a MultiLineTextLayer for this renderable. More... | |||
MultiLineTextLayer * | CreateMultiLineTextLayer (const GroupOrderEntry &GroupAndZ) | ||
Creats a MultiLineTextLayer for this renderable. More... | |||
MultiLineTextLayer * | CreateMultiLineTextLayer (const String &FontName) | ||
Creats a MultiLineTextLayer for this renderable. More... | |||
MultiLineTextLayer * | CreateMultiLineTextLayer (const String &FontName, const UInt16 NormalZ, const UInt16 HoveredZ) | ||
Creats a MultiLineTextLayer for this renderable. More... | |||
MultiLineTextLayer * | CreateMultiLineTextLayer (const String &FontName, const GroupOrderEntry &GroupAndZ) | ||
Creats a MultiLineTextLayer for this renderable. More... | |||
RenderLayerGroup * | CreateOrRetrieveRenderLayerGroup (const UInt16 GroupID) | ||
Gets the named RenderLayerGroup or creates one with the specified ID if it does not exist. More... | |||
RenderLayerGroup * | CreateRenderLayerGroup (const UInt16 GroupID) | ||
Creates a new RenderLayerGroup that can have.
| |||
SingleImageLayer * | CreateSingleImageLayer () | ||
Creates a SingleImageLayer for this renderable. More... | |||
SingleImageLayer * | CreateSingleImageLayer (const UInt16 NormalZ, const UInt16 HoveredZ) | ||
Creates a SingleImageLayer for this renderable. More... | |||
SingleImageLayer * | CreateSingleImageLayer (const GroupOrderEntry &GroupAndZ) | ||
Creates a SingleImageLayer for this renderable and adds it to a RenderLayerGroup. More... | |||
SingleImageLayer * | CreateSingleImageLayer (const String &SpriteName) | ||
Creates a SingleImageLayer for this renderable. More... | |||
SingleImageLayer * | CreateSingleImageLayer (const String &SpriteName, const UInt16 NormalZ, const UInt16 HoveredZ) | ||
Creates a SingleImageLayer for this renderable. More... | |||
SingleImageLayer * | CreateSingleImageLayer (const String &SpriteName, const GroupOrderEntry &GroupAndZ) | ||
Creates a SingleImageLayer for this renderable and adds it to a RenderLayerGroup. More... | |||
SingleLineTextLayer * | CreateSingleLineTextLayer () | ||
Creats a SingleLineTextLayer for this renderable. More... | |||
SingleLineTextLayer * | CreateSingleLineTextLayer (const UInt16 NormalZ, const UInt16 HoveredZ) | ||
Creats a SingleLineTextLayer for this renderable. More... | |||
SingleLineTextLayer * | CreateSingleLineTextLayer (const GroupOrderEntry &GroupAndZ) | ||
Creats a SingleLineTextLayer for this renderable. More... | |||
SingleLineTextLayer * | CreateSingleLineTextLayer (const String &FontName) | ||
Creats a SingleLineTextLayer for this renderable. More... | |||
SingleLineTextLayer * | CreateSingleLineTextLayer (const String &FontName, const UInt16 NormalZ, const UInt16 HoveredZ) | ||
Creats a SingleLineTextLayer for this renderable. More... | |||
SingleLineTextLayer * | CreateSingleLineTextLayer (const String &FontName, const GroupOrderEntry &GroupAndZ) | ||
Creats a SingleLineTextLayer for this renderable. More... | |||
virtual void | DestroyAllChildren () | ||
Destroys all child Widgets currently inside this QuadRenderable. | |||
void | DestroyAllRenderLayerGroups () | ||
Destroy's all RenderLayerGroups being stored/managed by this QuadRenderable. | |||
void | DestroyAllRenderLayers () | ||
Destroys all RenderLayers being stored by this renderable. | |||
virtual void | DestroyChild (Widget *ToBeDestroyed) | ||
Destroys a child Widget currently inside this QuadRenderable. More... | |||
void | DestroyRenderLayer (RenderLayer *ToBeDestroyed) | ||
Destroys a RenderLayer being stored by this renderable. More... | |||
void | DestroyRenderLayerGroup (const UInt16 GroupID) | ||
Destroy's a RenderLayerGroup by ID. More... | |||
void | DestroyRenderLayerGroup (RenderLayerGroup *ToBeDestroyed) | ||
Destroy's a RenderLayerGroup by pointer. More... | |||
RenderLayerGroup * | GetActiveGroup () const | ||
Gets the current RenderLayerGroup used for rendering. More... | |||
virtual Vector2 | GetActualPosition () const | ||
Gets the pixel position of this widget. More... | |||
virtual Vector2 | GetActualSize () const | ||
Gets the pixel size of this widget. More... | |||
virtual UI::AspectRatioLock | GetAspectRationLock () const | ||
Gets how (and if) the aspect ratio of this quad is locked. More... | |||
virtual Widget * | GetChild (const UInt16 Zorder) const | ||
Gets a child by it's ZOrder. More... | |||
virtual Widget * | GetChild (const String &RendName) const | ||
Gets a child by it's name. More... | |||
Widget * | GetClosestChild (Widget *Child) | ||
Gets a pointer to the child of this QuadRenderable that is storing a child, or another quad that is. More... | |||
virtual String | GetDerivedSerializableName () const | ||
Gets the most derived serializable name of this Renderable. More... | |||
virtual UInt16 | GetHighestChildZOrder () const | ||
Gets the highest ZOrder among the children of this QuadRenderable. More... | |||
virtual Whole | GetHorizontalPositioningRules () const | ||
Gets the current behavior this quad will follow when it is positioned automatically on the X axis. More... | |||
virtual Whole | GetHorizontalSizingRules () const | ||
Gets the current behavior this quad will follow for the X axis when it is resized. More... | |||
virtual Real | GetIdealHeightForText () const | ||
Gets the height needed for this quadrenderable to be able to completely display text in it's child text layers. More... | |||
virtual UInt16 | GetLowestChildZOrder () const | ||
Gets the lowest ZOrder among the children of this QuadRenderable. More... | |||
virtual Boole | GetManualTransformUpdates () const | ||
Gets whether or not this quad will be automatically updated when parent transforms are updated. More... | |||
virtual UnifiedVec2 | GetMaxSize () const | ||
Gets the currently set maximum size for this quad. More... | |||
virtual UnifiedVec2 | GetMinSize () const | ||
Gets the currently set minimum size for this quad. More... | |||
virtual Boole | GetMousePassthrough () const | ||
Gets whether or not Mouse Passthrough is enabled. More... | |||
QuadRenderable * | GetNextSibling (Boole Wrap=true) | ||
Gets the QuadRenderable after this one among the QuadRenderables owned by it's parent. More... | |||
virtual Whole | GetNumChildren () const | ||
Gets the number of children in this QuadRenderable. More... | |||
UInt32 | GetNumRenderLayerGroups () const | ||
Gets the number of RenderLayerGroup's created for this renderable. More... | |||
UInt32 | GetNumRenderLayers () const | ||
Gets the number of RenderLayers created for this renderable. More... | |||
UInt32 | GetNumVisibleRenderLayers () const | ||
Gets the number of RenderLayers that are visible in this renderable. More... | |||
QuadRenderable * | GetParent () const | ||
Gets the parent of this quad. More... | |||
virtual const PositioningInfo & | GetPositioningPolicy () const | ||
Gets the current behavior this QuadRenderable will use when it is positioned. More... | |||
QuadRenderable * | GetPrevSibling (Boole Wrap=true) | ||
Gets the QuadRenderable before this one among the QuadRenderables owned by it's parent. More... | |||
virtual Rect | GetRect () const | ||
Gets this QuadRenderables' Rect. More... | |||
RenderLayer * | GetRenderLayer (const UInt32 &Index) const | ||
Gets a RenderLayer belonging to this QuadRenderable by index. More... | |||
RenderLayer * | GetRenderLayer (const Whole Which, const UI::RenderLayerType Type) | ||
Gets a RenderLayer belonging to this QuadRenderable by it's type. More... | |||
RenderLayerGroup * | GetRenderLayerGroup (const UInt16 GroupID) const | ||
Gets a RenderLayerGroup by ID. More... | |||
virtual const SizingInfo & | GetSizingPolicy () const | ||
Gets the current behavior this QuadRenderable will use when it is sized. More... | |||
QuadRenderable * | GetTopMostQuad () | ||
Gets the QuadRenderable that is both an ancestor of this quad, and a direct child of the screen. More... | |||
virtual UnifiedVec2 | GetUnifiedPosition () const | ||
Gets the position of this QuadRenderable as a Unified Vector2. More... | |||
virtual UnifiedRect | GetUnifiedRect () const | ||
Gets the Unified positiona nd size of this QuadRenderable as a unified rect. More... | |||
virtual UnifiedVec2 | GetUnifiedSize () const | ||
Gets the size of this QuadRenderable as a Unified Vector2. More... | |||
virtual Whole | GetVerticalPositioningRules () const | ||
Gets the current behavior this quad will follow when it is positioned automatically on the Y axis. More... | |||
virtual Whole | GetVerticalSizingRules () const | ||
Gets the current behavior this quad will follow for the Y axis when it is resized. More... | |||
virtual const UInt16 & | GetZOrder () const | ||
Gets the currently set ZOrder of this QuadRenderable with it's parent. More... | |||
virtual Boole | IsChildOfScreen () const | ||
Gets whether or not this QuadRenderable is a direct child of it's screen. More... | |||
virtual Boole | IsInside (const Vector2 &Point) const | ||
Checks to see if a point in 2D space is inside this quad. More... | |||
Boole | IsVertexCachingEnabled () const | ||
Gets whether or not vertex caching is enabled for this Quad. More... | |||
virtual void | PopulateTextLinesInLayers (const Real MaxWidth) | ||
Populates all text lines in all text layers owned by this quad. 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 | ProtoDeSerializeChildQuads (const XML::Node &SelfRoot) | ||
Take the data stored in an XML Node and overwrite the ChildQuads of this object with it. 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 | ProtoDeSerializeRenderLayerGroups (const XML::Node &SelfRoot) | ||
Take the data stored in an XML Node and overwrite the RenderLayerGroups of this object with it. More... | |||
virtual void | ProtoDeSerializeRenderLayers (const XML::Node &SelfRoot) | ||
Take the data stored in an XML Node and overwrite the RenderLayers of 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 | ProtoSerializeChildQuads (XML::Node &SelfRoot) const | ||
Convert the child quads of this class to an XML::Node ready for serialization. More... | |||
virtual void | ProtoSerializeProperties (XML::Node &SelfRoot) const | ||
Convert the properties of this class to an XML::Node ready for serialization. More... | |||
virtual void | ProtoSerializeRenderLayerGroups (XML::Node &SelfRoot) const | ||
Convert the RenderLayerGroups of this class to an XML::Node ready for seriailization. More... | |||
virtual void | ProtoSerializeRenderLayers (XML::Node &SelfRoot) const | ||
Convert the RenderLayers of this class to an XML::Node ready for serialization. More... | |||
ReverseChildIterator | RChildrenBegin () | ||
Gets an iterator to the last Widget. More... | |||
ConstReverseChildIterator | RChildrenBegin () const | ||
Gets a const iterator to the last Widget. More... | |||
ReverseChildIterator | RChildrenEnd () | ||
Gets an iterator to one before the first child Widget. More... | |||
ConstReverseChildIterator | RChildrenEnd () const | ||
Gets a const iterator to one before the first child Widget. More... | |||
virtual void | RemoveAllChildren () | ||
Removes all child Widgets from this QuadRenderable. More... | |||
virtual void | RemoveChild (Widget *ToBeRemoved) | ||
Removes a child Widget from this quadrenderable. More... | |||
void | RemoveLayerFromAllGroups (RenderLayer *Layer) | ||
Removes a single RenderLayer from all RenderLayerGroups owned by this QuadRenderable. More... | |||
void | RemoveLayerFromGroup (RenderLayer *Layer, const UInt16 GroupID) | ||
Removes a single RenderLayer from a specified RenderLayerGroup. 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... | |||
RenderLayerGroupIterator | RenderLayerGroupBegin () | ||
Gets an iterator to the first RenderLayerGroup. More... | |||
ConstRenderLayerGroupIterator | RenderLayerGroupBegin () const | ||
Gets a const iterator to the first RenderLayerGroup. More... | |||
RenderLayerGroupIterator | RenderLayerGroupEnd () | ||
Gets an iterator to one passed the last RenderLayerGroup. More... | |||
ConstRenderLayerGroupIterator | RenderLayerGroupEnd () const | ||
Gets an iterator to one passed the last RenderLayerGroup. More... | |||
Boole | RenderLayerGroupExists (const UInt16 GroupID) const | ||
Checks to see if a RenderLayerGroup exists. More... | |||
void | SetActiveGroup (const UInt16 GroupID) | ||
Sets the RenderLayerGroup that will be used to render this renderable. More... | |||
void | SetActiveGroup (RenderLayerGroup *Group) | ||
Sets the RenderLayerGroup that will be used to render this renderable. More... | |||
virtual void | SetAspectRatioLock (const UI::AspectRatioLock Lock) | ||
Sets how (and if) the aspect ratio of this quad is locked. More... | |||
virtual void | SetHorizontalPositioningRules (const Whole Rules) | ||
Sets the behavior this quad will have when it is positioned automatically on the X axis. More... | |||
virtual void | SetHorizontalSizingRules (const Whole Rules) | ||
Sets the behavior this quad will have on the X axis when it is resized. More... | |||
void | SetLocalVertexCaching (Boole Enable) | ||
Enables or disables caching of vertex's belonging to this and all child renderables. More... | |||
virtual void | SetManualTransformUpdates (Boole Enable) | ||
Sets whether or not this quad has specific behaviors for it's transform updates and they should not be done automatically. More... | |||
virtual void | SetMaxSize (const UnifiedVec2 &Max) | ||
Sets the maximum size this quad is allowed to have. More... | |||
virtual void | SetMinSize (const UnifiedVec2 &Min) | ||
Sets the minimum size this quad is allowed to have. More... | |||
virtual void | SetMousePassthrough (Boole Enable) | ||
Sets whether or not this quad should be skipped when determining if the mouse is hovered over this quad. More... | |||
virtual void | SetPositioningPolicy (const PositioningInfo &Policy) | ||
Sets the behavior to be used when this QuadRenderable is positioned. More... | |||
virtual void | SetSizingPolicy (const SizingInfo &Policy) | ||
Sets the behavior to be used when this QuadRenderable is sized. More... | |||
virtual void | SetUnifiedPosition (const UnifiedVec2 &Position) | ||
Sets the position this QuadRenderable will have within it's parent. More... | |||
virtual void | SetUnifiedSize (const UnifiedVec2 &Size) | ||
Sets the size this QuadRenderable will have within it's parent. More... | |||
virtual void | SetVerticalPositioningRules (const Whole Rules) | ||
Sets the behavior this quad will have when it is positioned automatically on the Y axis. More... | |||
virtual void | SetVerticalSizingRules (const Whole Rules) | ||
Sets the behavior this quad will have on the Y axis when it is resized. More... | |||
virtual void | UpdateChildDimensions () | ||
Updates the dimensions of the children in this QuadRenderable. More... | |||
virtual void | UpdateChildOrder () | ||
Updates the order of children in this QuadRenderable based on the ZOrder set on each child. | |||
virtual void | UpdateDimensions () | ||
Updates the dimensions of this QuadRenderable based on the transform of it's parent. More... | |||
virtual void | UpdateDimensions (const Rect &OldSelfRect, const Rect &NewSelfRect) | ||
Updates the dimensions of this QuadRenderable based on the transform of it's parent. More... | |||
Public Member Functions inherited from Mezzanine::UI::Renderable | |||
Boole | _IsDirty () const | ||
Gets whether or not this renderable is dirty. More... | |||
const String & | GetName () const | ||
Gets the name of this renderable. More... | |||
virtual RenderableType | GetRenderableType () const =0 | ||
Gets the type of renderable this is. More... | |||
Screen * | GetScreen () const | ||
Gets the parent screen of this renderable. More... | |||
virtual Boole | GetVisible () const =0 | ||
Gets the visibility setting of this renderable. More... | |||
virtual void | Hide ()=0 | ||
Forces this renderable to hide. | |||
Boole | IsScreen () const | ||
Gets whether or not this renderable is a Screen. More... | |||
virtual Boole | IsVisible () const =0 | ||
Gets whether or not this renderable is being drawn. More... | |||
Boole | IsWidget () const | ||
Gets whether or not this renderable is a Widget. More... | |||
virtual void | SetVisible (Boole CanSee)=0 | ||
Sets the visibility of this renderable. More... | |||
virtual void | Show ()=0 | ||
Forces this renderable to be shown. | |||
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::Renderable | |
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 | AppendLayerVertices (std::vector< VertexData > &Vertices) |
Adds all the vertices belonging to all the layers of this renderable to the provided vector. More... | |
RenderLayerGroup * | CreateRenderLayerGroupNoCheck (const UInt16 ID) |
Creates a new RenderLayerGroup with the provided ID, without checking if it is unique. More... | |
virtual void | ProtoDeSerializeImpl (const XML::Node &SelfRoot) |
Implementation method for deseriailizing additional sets of data. More... | |
virtual void | ProtoSerializeImpl (XML::Node &SelfRoot) const |
Implementation method for serializing additional sets of data. More... | |
void | ResizeLayers (const Whole NewSize) |
Resizes the container for RenderLayers in this QuadRenderable. More... | |
Protected Member Functions inherited from Mezzanine::UI::Renderable | |
Renderable (Screen *Parent) | |
Blank constructor. More... | |
Renderable (const String &RendName, Screen *Parent) | |
Class constructor. More... | |
virtual | ~Renderable () |
Class destructor. | |
Protected Attributes | |
Rect | ActDims |
The actual (pixel) position and size of this Quad on the screen it belongs to. More... | |
RenderLayerGroup * | ActiveGroup |
This is a pointer to the group of RenderLayers currently being used for rendering. More... | |
Boole | AllLayersDirty |
Determines whether or not this Quad needs all of it's layers refreshed. Usually after a transform update. More... | |
ChildContainer | ChildWidgets |
This is a container storing all the children that belong to this Quad. More... | |
LayoutStrategy * | LayoutStrat |
This is a pointer to the strategy being used by this Quad to determine the positions and sizes of children during transform updates. More... | |
Boole | ManualTransformUpdates |
Controls whether or not this Quad and it's children will recieve automatic transform updates. More... | |
Boole | MousePassthrough |
Controls whether or not this Quad will be considered for mouse hover checks. More... | |
QuadRenderable * | ParentQuad |
This is a pointer to the Quad that owns this Quad and is responsible for transform updates applied to this Quad. More... | |
PositioningInfo | PositioningPolicy |
This stores all the information needed to determine the specific behaviors this Quad should have when it's position is being updated. More... | |
RenderLayerGroupContainer | RenderLayerGroups |
This is a container storing all the RenderLayerGroup instances created by and belonging to this Quad. More... | |
RenderLayerContainer | RenderLayers |
This is a container storing all the RenderLayer instances created by and belonging to this Quad. More... | |
SizingInfo | SizingPolicy |
This stores all the information needed to determine the specific behaviors this Quad should have when it's size is being updated. More... | |
ScreenRenderData * | VertexCache |
This is a pointer to the optional cache of vertex's belonging to this Quad and all of it's children. More... | |
UInt16 | ZOrder |
This is the ZOrder of this Quad in relation to all other Quads in it's parent. More... | |
Protected Attributes inherited from Mezzanine::UI::Renderable | |
Boole | Dirty |
Stores whether this Renderables vertices need to be regenerated. More... | |
String | Name |
The unique name of this Renderable. More... | |
Screen * | ParentScreen |
A pointer to the Screen that created this Renderable. More... | |
Boole | Visible |
Stores whether this Renderable is to be rendered (also dependent on parent visibility). More... | |
This represents a nestable quad for an object in a GUI layout.
QuadRenderables use "Unified" units for setting their position and size. Unified units contain both relative and absolute information for their position on screen or inside their parent. It is important to note that the Relative portion of the Unified unit is always calculated first.
The relative portions of the Unified units used to set the dimensions aren't relative to the screen size, but instead their parents size. For the most part QuadRenderables are oblivious to the size of the screen they are in.
It is important to note that the RenderLayer's stored directly by this class are all the layers that were created by this class, in creation order. They aren't not what will be rendered, nor are they in the order they will be rendered in. To get either of these bits of information you must check the active RenderLayerGroup and check the RenderLayers there.
Also only one RenderLayerGroup may render at a time, but a single RenderLayer can be shared between as many groups under the same QuadRenderable as you want.
Definition at line 104 of file quadrenderable.h.
Mezzanine::UI::QuadRenderable::QuadRenderable | ( | Screen * | Parent | ) |
Blank constructor.
Parent | The parent screen that created this renderable. |
Definition at line 67 of file quadrenderable.cpp.
Class constructor.
RendName | The name to be given to this renderable. |
Parent | The parent screen that created this renderable. |
Definition at line 79 of file quadrenderable.cpp.
Mezzanine::UI::QuadRenderable::QuadRenderable | ( | const String & | RendName, |
const UnifiedRect & | RendRect, | ||
Screen * | Parent | ||
) |
Parent-less constructor.
RendName | The name to be given to this renderable. |
RendRect | The rect describing this quad's transform relative to it's parent. |
Parent | The parent screen that created this renderable. |
Definition at line 91 of file quadrenderable.cpp.
|
virtual |
Class destructor.
Definition at line 108 of file quadrenderable.cpp.
|
virtual |
Appends the vertices of this renderable to another vector.
RenderData | The vector of vertex's to append to. |
Implements Mezzanine::UI::Renderable.
Definition at line 1316 of file quadrenderable.cpp.
|
virtual |
Appends the vertices of this renderable to another vector, and then does the same for this renderable's children.
RenderData | The vector of vertex's to append to. |
Reimplemented in Mezzanine::UI::PagedContainer, and Mezzanine::UI::LayoutContainer.
Definition at line 1324 of file quadrenderable.cpp.
|
virtual |
Refreshes the render data of this renderable.
Implements Mezzanine::UI::Renderable.
Definition at line 1279 of file quadrenderable.cpp.
|
virtual |
Tells this QuadRenderable to mark each of it's children (and their children) as dirty.
Definition at line 1299 of file quadrenderable.cpp.
|
virtual |
Tells this QuadRenderable that all of it's layers are dirty.
Reimplemented in Mezzanine::UI::Screen.
Definition at line 1306 of file quadrenderable.cpp.
|
virtual |
Marks this renderable as dirty, and informs other renderables if needed.
Implements Mezzanine::UI::Renderable.
Reimplemented in Mezzanine::UI::Screen.
Definition at line 1289 of file quadrenderable.cpp.
|
virtual |
Notifies this QuadRenderable that it has been added to another QuadRenderable.
NewParent | A pointer to the QuadRenderable this is becoming the child of. |
Reimplemented in Mezzanine::UI::MenuEntry.
Definition at line 1268 of file quadrenderable.cpp.
|
virtual |
Sets a new LayoutStrategy for this quad to use.
ToSet | A pointer to the new LayoutStrategy for this quad to use. |
Definition at line 1271 of file quadrenderable.cpp.
|
virtual |
Ssts the ZOrder value for this renderable.
Zorder | The ZOrder this renderable has among the renderables belonging to it's parent. |
Definition at line 1265 of file quadrenderable.cpp.
|
virtual |
Adds a Widget to this as a child of this quad.
Child | A pointer to the Widget that is to become a child of this. |
Reimplemented in Mezzanine::UI::PagedContainer, and Mezzanine::UI::LinearContainer.
Definition at line 765 of file quadrenderable.cpp.
Adds a Widget to this as a child of this quad.
Child | A pointer to the Widget that is to become a child of this. |
ZOrder | The ZOrder to assign to the child renderable. |
Reimplemented in Mezzanine::UI::PagedContainer, and Mezzanine::UI::LinearContainer.
Definition at line 791 of file quadrenderable.cpp.
void Mezzanine::UI::QuadRenderable::AddLayerToExistingGroup | ( | RenderLayer * | Layer, |
const UInt16 | LayerZOrder, | ||
const UInt16 | GroupID | ||
) |
Adds a RenderLayer to the specified group.
Layer | The RenderLayer to be added to the named group. |
LayerZOrder | The ZOrder that will be given to this layer to determine the order it is rendered with other layers. |
GroupID | The ID of the group the created ImageLayer should be added to. |
Definition at line 667 of file quadrenderable.cpp.
void Mezzanine::UI::QuadRenderable::AddLayerToGroup | ( | RenderLayer * | Layer, |
const UInt16 | LayerZOrder, | ||
const UInt16 | GroupID | ||
) |
Adds a RenderLayer to the specified group.
Layer | The RenderLayer to be added to the named group. |
LayerZOrder | The ZOrder that will be given to this layer to determine the order it is rendered with other layers. |
GroupID | The ID of the group the created ImageLayer should be added to. |
Definition at line 661 of file quadrenderable.cpp.
void Mezzanine::UI::QuadRenderable::AddLayerToGroup | ( | RenderLayer * | Layer, |
const GroupOrderEntry & | GroupAndZ | ||
) |
Adds a RenderLayer to the specified group.
Layer | The RenderLayer to be added to the named group. |
GroupAndZ | A GroupOrderEntry containing the ID of the RenderLayerGroup to add the specified layer to and the ZOrder to insert it at. |
Definition at line 664 of file quadrenderable.cpp.
void Mezzanine::UI::QuadRenderable::AddLayerToGroups | ( | RenderLayer * | Layer, |
const GroupOrderEntryVector & | Entrys | ||
) |
Adds a RenderLayer to multiple groups.
Layer | The RenderLayer to be added to the named groups. |
Entrys | A vector of std::pair's that contain the ZOrders and the names of the groups the provided layer should be added to. |
Definition at line 675 of file quadrenderable.cpp.
|
protected |
Adds all the vertices belonging to all the layers of this renderable to the provided vector.
Vertices | The vector to store the generated vertices. |
Definition at line 137 of file quadrenderable.cpp.
|
virtual |
Checks to see if another Quad is overlapping with this one.
Quad | The other Quad to check for overlap. |
Definition at line 198 of file quadrenderable.cpp.
QuadRenderable::ChildIterator Mezzanine::UI::QuadRenderable::ChildrenBegin | ( | ) |
Gets an iterator to the first child Widget.
Definition at line 870 of file quadrenderable.cpp.
QuadRenderable::ConstChildIterator Mezzanine::UI::QuadRenderable::ChildrenBegin | ( | ) | const |
Gets a const iterator to the first child Widget.
Definition at line 876 of file quadrenderable.cpp.
QuadRenderable::ChildIterator Mezzanine::UI::QuadRenderable::ChildrenEnd | ( | ) |
Gets an iterator to one passed the last child Widget.
Definition at line 873 of file quadrenderable.cpp.
QuadRenderable::ConstChildIterator Mezzanine::UI::QuadRenderable::ChildrenEnd | ( | ) | const |
Gets an iterator to one passed the last child Widget.
Definition at line 879 of file quadrenderable.cpp.
MultiImageLayer * Mezzanine::UI::QuadRenderable::CreateMultiImageLayer | ( | ) |
Creates an MultiImageLayer for this renderable.
Definition at line 432 of file quadrenderable.cpp.
MultiImageLayer * Mezzanine::UI::QuadRenderable::CreateMultiImageLayer | ( | const UInt16 | NormalZ, |
const UInt16 | HoveredZ | ||
) |
Creates an MultiImageLayer for this renderable.
NormalZ | The Zorder which will be used when inserting the created layer into the "Normal" RenderLayerGroup, if it exists. |
HoveredZ | The Zorder which will be used when inserting the created layer into the "Hovered" RenderLayerGroup, if it exists. |
Definition at line 441 of file quadrenderable.cpp.
MultiImageLayer * Mezzanine::UI::QuadRenderable::CreateMultiImageLayer | ( | const GroupOrderEntry & | GroupAndZ | ) |
Creates an MultiImageLayer for this renderable and adds it to a RenderLayerGroup.
GroupAndZ | A GroupOrderEntry containing the ID of the RenderLayerGroup to add the created layer to and the ZOrder to insert it at. |
Definition at line 449 of file quadrenderable.cpp.
MultiLineTextLayer * Mezzanine::UI::QuadRenderable::CreateMultiLineTextLayer | ( | ) |
Creats a MultiLineTextLayer for this renderable.
Definition at line 504 of file quadrenderable.cpp.
MultiLineTextLayer * Mezzanine::UI::QuadRenderable::CreateMultiLineTextLayer | ( | const UInt16 | NormalZ, |
const UInt16 | HoveredZ | ||
) |
Creats a MultiLineTextLayer for this renderable.
NormalZ | The Zorder which will be used when inserting the created layer into the "Normal" RenderLayerGroup, if it exists. |
HoveredZ | The Zorder which will be used when inserting the created layer into the "Hovered" RenderLayerGroup, if it exists. |
Definition at line 513 of file quadrenderable.cpp.
MultiLineTextLayer * Mezzanine::UI::QuadRenderable::CreateMultiLineTextLayer | ( | const GroupOrderEntry & | GroupAndZ | ) |
Creats a MultiLineTextLayer for this renderable.
GroupAndZ | A GroupOrderEntry containing the ID of the RenderLayerGroup to add the created layer to and the ZOrder to insert it at. |
Definition at line 521 of file quadrenderable.cpp.
MultiLineTextLayer * Mezzanine::UI::QuadRenderable::CreateMultiLineTextLayer | ( | const String & | FontName | ) |
Creats a MultiLineTextLayer for this renderable.
FontName | The name of the font to use when rendering characters on the created layer. |
Definition at line 528 of file quadrenderable.cpp.
MultiLineTextLayer * Mezzanine::UI::QuadRenderable::CreateMultiLineTextLayer | ( | const String & | FontName, |
const UInt16 | NormalZ, | ||
const UInt16 | HoveredZ | ||
) |
Creats a MultiLineTextLayer for this renderable.
NormalZ | The Zorder which will be used when inserting the created layer into the "Normal" RenderLayerGroup, if it exists. |
HoveredZ | The Zorder which will be used when inserting the created layer into the "Hovered" RenderLayerGroup, if it exists. |
FontName | The name of the font to use when rendering characters on the created layer. |
Definition at line 537 of file quadrenderable.cpp.
MultiLineTextLayer * Mezzanine::UI::QuadRenderable::CreateMultiLineTextLayer | ( | const String & | FontName, |
const GroupOrderEntry & | GroupAndZ | ||
) |
Creats a MultiLineTextLayer for this renderable.
FontName | The name of the font to use when rendering characters on the created layer. |
GroupAndZ | A GroupOrderEntry containing the ID of the RenderLayerGroup to add the created layer to and the ZOrder to insert it at. |
Definition at line 545 of file quadrenderable.cpp.
RenderLayerGroup * Mezzanine::UI::QuadRenderable::CreateOrRetrieveRenderLayerGroup | ( | const UInt16 | GroupID | ) |
Gets the named RenderLayerGroup or creates one with the specified ID if it does not exist.
GroupID | The unique ID of the RenderLayerGroup to get or create. |
Definition at line 706 of file quadrenderable.cpp.
RenderLayerGroup * Mezzanine::UI::QuadRenderable::CreateRenderLayerGroup | ( | const UInt16 | GroupID | ) |
Creates a new RenderLayerGroup that can have.
This | function will throw an exception if a group already exists with the provided name. |
GroupID | The unique ID to be given to the new RenderLayerGroup. |
Definition at line 695 of file quadrenderable.cpp.
|
protected |
Creates a new RenderLayerGroup with the provided ID, without checking if it is unique.
ID | The ID to be given to the RenderLayerGroup. |
Definition at line 156 of file quadrenderable.cpp.
SingleImageLayer * Mezzanine::UI::QuadRenderable::CreateSingleImageLayer | ( | ) |
Creates a SingleImageLayer for this renderable.
Definition at line 386 of file quadrenderable.cpp.
SingleImageLayer * Mezzanine::UI::QuadRenderable::CreateSingleImageLayer | ( | const UInt16 | NormalZ, |
const UInt16 | HoveredZ | ||
) |
Creates a SingleImageLayer for this renderable.
NormalZ | The Zorder which will be used when inserting the created layer into the "Normal" RenderLayerGroup, if it exists. |
HoveredZ | The Zorder which will be used when inserting the created layer into the "Hovered" RenderLayerGroup, if it exists. |
Definition at line 395 of file quadrenderable.cpp.
SingleImageLayer * Mezzanine::UI::QuadRenderable::CreateSingleImageLayer | ( | const GroupOrderEntry & | GroupAndZ | ) |
Creates a SingleImageLayer for this renderable and adds it to a RenderLayerGroup.
GroupAndZ | A GroupOrderEntry containing the ID of the RenderLayerGroup to add the created layer to and the ZOrder to insert it at. |
Definition at line 403 of file quadrenderable.cpp.
SingleImageLayer * Mezzanine::UI::QuadRenderable::CreateSingleImageLayer | ( | const String & | SpriteName | ) |
Creates a SingleImageLayer for this renderable.
SpriteName | The name of the sprite to be set to the created layer. |
Definition at line 410 of file quadrenderable.cpp.
SingleImageLayer * Mezzanine::UI::QuadRenderable::CreateSingleImageLayer | ( | const String & | SpriteName, |
const UInt16 | NormalZ, | ||
const UInt16 | HoveredZ | ||
) |
Creates a SingleImageLayer for this renderable.
NormalZ | The Zorder which will be used when inserting the created layer into the "Normal" RenderLayerGroup, if it exists. |
HoveredZ | The Zorder which will be used when inserting the created layer into the "Hovered" RenderLayerGroup, if it exists. |
SpriteName | The name of the sprite to be set to the created layer. |
Definition at line 417 of file quadrenderable.cpp.
SingleImageLayer * Mezzanine::UI::QuadRenderable::CreateSingleImageLayer | ( | const String & | SpriteName, |
const GroupOrderEntry & | GroupAndZ | ||
) |
Creates a SingleImageLayer for this renderable and adds it to a RenderLayerGroup.
SpriteName | The name of the sprite to be set to the created layer. |
GroupAndZ | A GroupOrderEntry containing the ID of the RenderLayerGroup to add the created layer to and the ZOrder to insert it at. |
Definition at line 425 of file quadrenderable.cpp.
SingleLineTextLayer * Mezzanine::UI::QuadRenderable::CreateSingleLineTextLayer | ( | ) |
Creats a SingleLineTextLayer for this renderable.
Definition at line 456 of file quadrenderable.cpp.
SingleLineTextLayer * Mezzanine::UI::QuadRenderable::CreateSingleLineTextLayer | ( | const UInt16 | NormalZ, |
const UInt16 | HoveredZ | ||
) |
Creats a SingleLineTextLayer for this renderable.
NormalZ | The Zorder which will be used when inserting the created layer into the "Normal" RenderLayerGroup, if it exists. |
HoveredZ | The Zorder which will be used when inserting the created layer into the "Hovered" RenderLayerGroup, if it exists. |
Definition at line 465 of file quadrenderable.cpp.
SingleLineTextLayer * Mezzanine::UI::QuadRenderable::CreateSingleLineTextLayer | ( | const GroupOrderEntry & | GroupAndZ | ) |
Creats a SingleLineTextLayer for this renderable.
GroupAndZ | A GroupOrderEntry containing the ID of the RenderLayerGroup to add the created layer to and the ZOrder to insert it at. |
Definition at line 473 of file quadrenderable.cpp.
SingleLineTextLayer * Mezzanine::UI::QuadRenderable::CreateSingleLineTextLayer | ( | const String & | FontName | ) |
Creats a SingleLineTextLayer for this renderable.
FontName | The name of the font to use when rendering characters on the created layer. |
Definition at line 480 of file quadrenderable.cpp.
SingleLineTextLayer * Mezzanine::UI::QuadRenderable::CreateSingleLineTextLayer | ( | const String & | FontName, |
const UInt16 | NormalZ, | ||
const UInt16 | HoveredZ | ||
) |
Creats a SingleLineTextLayer for this renderable.
NormalZ | The Zorder which will be used when inserting the created layer into the "Normal" RenderLayerGroup, if it exists. |
HoveredZ | The Zorder which will be used when inserting the created layer into the "Hovered" RenderLayerGroup, if it exists. |
FontName | The name of the font to use when rendering characters on the created layer. |
Definition at line 489 of file quadrenderable.cpp.
SingleLineTextLayer * Mezzanine::UI::QuadRenderable::CreateSingleLineTextLayer | ( | const String & | FontName, |
const GroupOrderEntry & | GroupAndZ | ||
) |
Creats a SingleLineTextLayer for this renderable.
FontName | The name of the font to use when rendering characters on the created layer. |
GroupAndZ | A GroupOrderEntry containing the ID of the RenderLayerGroup to add the created layer to and the ZOrder to insert it at. |
Definition at line 497 of file quadrenderable.cpp.
|
virtual |
Destroys a child Widget currently inside this QuadRenderable.
ToBeDestroyed | A pointer to the child to be destroyed. |
Reimplemented in Mezzanine::UI::GridContainer, and Mezzanine::UI::PagedContainer.
Definition at line 845 of file quadrenderable.cpp.
void Mezzanine::UI::QuadRenderable::DestroyRenderLayer | ( | RenderLayer * | ToBeDestroyed | ) |
Destroys a RenderLayer being stored by this renderable.
ToBeDestroyed | The RenderLayer to be destroyed. |
Definition at line 576 of file quadrenderable.cpp.
void Mezzanine::UI::QuadRenderable::DestroyRenderLayerGroup | ( | const UInt16 | GroupID | ) |
Destroy's a RenderLayerGroup by ID.
GroupID | The unique ID of the RenderLayerGroup to destroy. |
Definition at line 726 of file quadrenderable.cpp.
void Mezzanine::UI::QuadRenderable::DestroyRenderLayerGroup | ( | RenderLayerGroup * | ToBeDestroyed | ) |
Destroy's a RenderLayerGroup by pointer.
ToBeDestroyed | The RenderLayerGroup to be destroyed. |
Definition at line 738 of file quadrenderable.cpp.
RenderLayerGroup * Mezzanine::UI::QuadRenderable::GetActiveGroup | ( | ) | const |
Gets the current RenderLayerGroup used for rendering.
Definition at line 652 of file quadrenderable.cpp.
|
virtual |
Gets the pixel position of this widget.
Definition at line 920 of file quadrenderable.cpp.
|
virtual |
Gets the pixel size of this widget.
Definition at line 923 of file quadrenderable.cpp.
|
virtual |
Gets how (and if) the aspect ratio of this quad is locked.
Definition at line 354 of file quadrenderable.cpp.
Gets a child by it's ZOrder.
Zorder | The ZOrder on the child to search for. |
Definition at line 797 of file quadrenderable.cpp.
Gets a child by it's name.
RendName | The name of the child to search for. |
Definition at line 807 of file quadrenderable.cpp.
Gets a pointer to the child of this QuadRenderable that is storing a child, or another quad that is.
Child | A pointer to the Widget to check for. |
Definition at line 976 of file quadrenderable.cpp.
|
virtual |
Gets the most derived serializable name of this Renderable.
Reimplemented from Mezzanine::UI::Renderable.
Reimplemented in Mezzanine::UI::Screen, and Mezzanine::UI::Widget.
Definition at line 1256 of file quadrenderable.cpp.
|
virtual |
Gets the highest ZOrder among the children of this QuadRenderable.
Definition at line 172 of file quadrenderable.cpp.
|
virtual |
Gets the current behavior this quad will follow when it is positioned automatically on the X axis.
Definition at line 306 of file quadrenderable.cpp.
|
virtual |
Gets the current behavior this quad will follow for the X axis when it is resized.
Definition at line 330 of file quadrenderable.cpp.
|
virtual |
Gets the height needed for this quadrenderable to be able to completely display text in it's child text layers.
Definition at line 218 of file quadrenderable.cpp.
|
virtual |
Gets the lowest ZOrder among the children of this QuadRenderable.
Definition at line 175 of file quadrenderable.cpp.
|
virtual |
Gets whether or not this quad will be automatically updated when parent transforms are updated.
Definition at line 269 of file quadrenderable.cpp.
|
virtual |
Gets the currently set maximum size for this quad.
Definition at line 378 of file quadrenderable.cpp.
|
virtual |
Gets the currently set minimum size for this quad.
Definition at line 366 of file quadrenderable.cpp.
|
virtual |
Gets whether or not Mouse Passthrough is enabled.
Definition at line 263 of file quadrenderable.cpp.
QuadRenderable * Mezzanine::UI::QuadRenderable::GetNextSibling | ( | Boole | Wrap = true | ) |
Gets the QuadRenderable after this one among the QuadRenderables owned by it's parent.
Wrap | Whether or not you want to return the first QuadRenderable owned by this Quad's parent if this Quad is last. |
Definition at line 935 of file quadrenderable.cpp.
|
virtual |
Gets the number of children in this QuadRenderable.
Definition at line 817 of file quadrenderable.cpp.
UInt32 Mezzanine::UI::QuadRenderable::GetNumRenderLayerGroups | ( | ) | const |
Gets the number of RenderLayerGroup's created for this renderable.
Definition at line 658 of file quadrenderable.cpp.
UInt32 Mezzanine::UI::QuadRenderable::GetNumRenderLayers | ( | ) | const |
Gets the number of RenderLayers created for this renderable.
Definition at line 570 of file quadrenderable.cpp.
UInt32 Mezzanine::UI::QuadRenderable::GetNumVisibleRenderLayers | ( | ) | const |
Gets the number of RenderLayers that are visible in this renderable.
Definition at line 573 of file quadrenderable.cpp.
QuadRenderable * Mezzanine::UI::QuadRenderable::GetParent | ( | ) | const |
Gets the parent of this quad.
Definition at line 932 of file quadrenderable.cpp.
|
virtual |
Gets the current behavior this QuadRenderable will use when it is positioned.
Definition at line 282 of file quadrenderable.cpp.
QuadRenderable * Mezzanine::UI::QuadRenderable::GetPrevSibling | ( | Boole | Wrap = true | ) |
Gets the QuadRenderable before this one among the QuadRenderables owned by it's parent.
Wrap | Whether or not you want to return the last QuadRenderable owned by this Quad's parent if this Quad is first. |
Definition at line 951 of file quadrenderable.cpp.
|
virtual |
Gets this QuadRenderables' Rect.
Definition at line 926 of file quadrenderable.cpp.
RenderLayer * Mezzanine::UI::QuadRenderable::GetRenderLayer | ( | const UInt32 & | Index | ) | const |
Gets a RenderLayer belonging to this QuadRenderable by index.
Index | The index of the RenderLayer to retrieve. |
Definition at line 552 of file quadrenderable.cpp.
RenderLayer * Mezzanine::UI::QuadRenderable::GetRenderLayer | ( | const Whole | Which, |
const UI::RenderLayerType | Type | ||
) |
Gets a RenderLayer belonging to this QuadRenderable by it's type.
Which | The Nth RenderLayer of the specified type to retrieve. |
Type | The type of RenderLayer to be considered for retrieval. |
Definition at line 555 of file quadrenderable.cpp.
RenderLayerGroup * Mezzanine::UI::QuadRenderable::GetRenderLayerGroup | ( | const UInt16 | GroupID | ) | const |
Gets a RenderLayerGroup by ID.
GroupID | The unique ID of the RenderLayerGroup to retrieve. |
Definition at line 715 of file quadrenderable.cpp.
|
static |
Get the name of the the XML tag the Renderable class will leave behind as its instances are serialized.
Definition at line 1259 of file quadrenderable.cpp.
|
virtual |
Gets the current behavior this QuadRenderable will use when it is sized.
Definition at line 294 of file quadrenderable.cpp.
QuadRenderable * Mezzanine::UI::QuadRenderable::GetTopMostQuad | ( | ) |
Gets the QuadRenderable that is both an ancestor of this quad, and a direct child of the screen.
Definition at line 967 of file quadrenderable.cpp.
|
virtual |
Gets the position of this QuadRenderable as a Unified Vector2.
Definition at line 911 of file quadrenderable.cpp.
|
virtual |
Gets the Unified positiona nd size of this QuadRenderable as a unified rect.
Definition at line 917 of file quadrenderable.cpp.
|
virtual |
Gets the size of this QuadRenderable as a Unified Vector2.
Definition at line 914 of file quadrenderable.cpp.
|
virtual |
Gets the current behavior this quad will follow when it is positioned automatically on the Y axis.
Definition at line 318 of file quadrenderable.cpp.
|
virtual |
Gets the current behavior this quad will follow for the Y axis when it is resized.
Definition at line 342 of file quadrenderable.cpp.
|
virtual |
Gets the currently set ZOrder of this QuadRenderable with it's parent.
A QuadRenderable without a parent yet will have the default ZOrder of 0, which is a valid ZOrder when it gains a parent. In these cases it is recommended to check to see if this QuadRenderable has a parent.
Definition at line 169 of file quadrenderable.cpp.
|
virtual |
Gets whether or not this QuadRenderable is a direct child of it's screen.
Definition at line 204 of file quadrenderable.cpp.
Checks to see if a point in 2D space is inside this quad.
Point | The point in 2D space to check. |
Definition at line 201 of file quadrenderable.cpp.
Boole Mezzanine::UI::QuadRenderable::IsVertexCachingEnabled | ( | ) | const |
Gets whether or not vertex caching is enabled for this Quad.
Definition at line 1004 of file quadrenderable.cpp.
|
virtual |
Populates all text lines in all text layers owned by this quad.
MaxWidth | The maximum line width to assume for all text lines that are to be populated. |
Definition at line 207 of file quadrenderable.cpp.
|
virtual |
Take the data stored in an XML Node and overwrite this object with it.
SelfRoot | An XML::Node containing the data to populate this class with. |
Reimplemented from Mezzanine::UI::Renderable.
Definition at line 1104 of file quadrenderable.cpp.
|
virtual |
Take the data stored in an XML Node and overwrite the ChildQuads of this object with it.
SelfRoot | An XML::Node containing the data to populate this class with. |
Reimplemented in Mezzanine::UI::ListBox, Mezzanine::UI::DropDownList, Mezzanine::UI::HorizontalScrollbar, and Mezzanine::UI::VerticalScrollbar.
Definition at line 1241 of file quadrenderable.cpp.
|
protectedvirtual |
Implementation method for deseriailizing additional sets of data.
SelfRoot | An XML::Node containing the data to populate this class with. |
Reimplemented from Mezzanine::UI::Renderable.
Reimplemented in Mezzanine::UI::Widget, Mezzanine::UI::GridContainer, Mezzanine::UI::PagedContainer, Mezzanine::UI::RadioButton, Mezzanine::UI::TabSet, and Mezzanine::UI::PageProvider.
Definition at line 129 of file quadrenderable.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::Renderable.
Reimplemented in Mezzanine::UI::Screen, Mezzanine::UI::Widget, Mezzanine::UI::GridContainer, Mezzanine::UI::PagedContainer, Mezzanine::UI::Spinner, Mezzanine::UI::ListBox, Mezzanine::UI::Scrollbar, Mezzanine::UI::Button, Mezzanine::UI::RadioButton, Mezzanine::UI::MenuEntry, Mezzanine::UI::EditBox, Mezzanine::UI::TabSet, Mezzanine::UI::DropDownList, Mezzanine::UI::LinearContainer, Mezzanine::UI::CheckBox, Mezzanine::UI::HorizontalContainer, Mezzanine::UI::VerticalContainer, Mezzanine::UI::LayoutContainer, Mezzanine::UI::StackButton, and Mezzanine::UI::StackedContainer.
Definition at line 1112 of file quadrenderable.cpp.
|
virtual |
Take the data stored in an XML Node and overwrite the RenderLayerGroups of this object with it.
SelfRoot | An XML::Node containing the data to populate this class with. |
Definition at line 1205 of file quadrenderable.cpp.
|
virtual |
Take the data stored in an XML Node and overwrite the RenderLayers of this object with it.
SelfRoot | An XML::Node containing the data to populate this class with. |
Definition at line 1162 of file quadrenderable.cpp.
|
virtual |
Convert this class to an XML::Node ready for serialization.
ParentNode | The point in the XML hierarchy that this renderable should be appended to. |
Reimplemented from Mezzanine::UI::Renderable.
Definition at line 1012 of file quadrenderable.cpp.
|
virtual |
Convert the child quads of this class to an XML::Node ready for serialization.
SelfRoot | The root node containing all the serialized data for this instance. |
Reimplemented in Mezzanine::UI::ListBox, Mezzanine::UI::DropDownList, Mezzanine::UI::HorizontalScrollbar, and Mezzanine::UI::VerticalScrollbar.
Definition at line 1091 of file quadrenderable.cpp.
|
protectedvirtual |
Implementation method for serializing additional sets of data.
SelfRoot | The root node containing all the serialized data for this instance. |
Reimplemented from Mezzanine::UI::Renderable.
Reimplemented in Mezzanine::UI::Widget, Mezzanine::UI::GridContainer, Mezzanine::UI::PagedContainer, Mezzanine::UI::RadioButton, Mezzanine::UI::TabSet, and Mezzanine::UI::PageProvider.
Definition at line 122 of file quadrenderable.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::Renderable.
Reimplemented in Mezzanine::UI::Screen, Mezzanine::UI::Widget, Mezzanine::UI::GridContainer, Mezzanine::UI::PagedContainer, Mezzanine::UI::Spinner, Mezzanine::UI::ListBox, Mezzanine::UI::Scrollbar, Mezzanine::UI::Button, Mezzanine::UI::MenuEntry, Mezzanine::UI::RadioButton, Mezzanine::UI::EditBox, Mezzanine::UI::TabSet, Mezzanine::UI::DropDownList, Mezzanine::UI::LinearContainer, Mezzanine::UI::CheckBox, Mezzanine::UI::HorizontalContainer, Mezzanine::UI::VerticalContainer, Mezzanine::UI::LayoutContainer, Mezzanine::UI::StackButton, and Mezzanine::UI::StackedContainer.
Definition at line 1022 of file quadrenderable.cpp.
|
virtual |
Convert the RenderLayerGroups of this class to an XML::Node ready for seriailization.
SelfRoot | The root node containing all the serialized data for this instance. |
Definition at line 1063 of file quadrenderable.cpp.
|
virtual |
Convert the RenderLayers of this class to an XML::Node ready for serialization.
SelfRoot | The root node containing all the serialized data for this instance. |
Definition at line 1050 of file quadrenderable.cpp.
QuadRenderable::ReverseChildIterator Mezzanine::UI::QuadRenderable::RChildrenBegin | ( | ) |
Gets an iterator to the last Widget.
Definition at line 882 of file quadrenderable.cpp.
QuadRenderable::ConstReverseChildIterator Mezzanine::UI::QuadRenderable::RChildrenBegin | ( | ) | const |
Gets a const iterator to the last Widget.
Definition at line 888 of file quadrenderable.cpp.
QuadRenderable::ReverseChildIterator Mezzanine::UI::QuadRenderable::RChildrenEnd | ( | ) |
Gets an iterator to one before the first child Widget.
Definition at line 885 of file quadrenderable.cpp.
QuadRenderable::ConstReverseChildIterator Mezzanine::UI::QuadRenderable::RChildrenEnd | ( | ) | const |
Gets a const iterator to one before the first child Widget.
Definition at line 891 of file quadrenderable.cpp.
|
virtual |
Removes all child Widgets from this QuadRenderable.
Reimplemented in Mezzanine::UI::GridContainer, and Mezzanine::UI::PagedContainer.
Definition at line 835 of file quadrenderable.cpp.
|
virtual |
Removes a child Widget from this quadrenderable.
ToBeRemoved | A pointer to the child to be removed. |
Reimplemented in Mezzanine::UI::GridContainer, and Mezzanine::UI::PagedContainer.
Definition at line 822 of file quadrenderable.cpp.
void Mezzanine::UI::QuadRenderable::RemoveLayerFromAllGroups | ( | RenderLayer * | Layer | ) |
Removes a single RenderLayer from all RenderLayerGroups owned by this QuadRenderable.
Layer | The RenderLayer to be removed from all groups. |
Definition at line 689 of file quadrenderable.cpp.
void Mezzanine::UI::QuadRenderable::RemoveLayerFromGroup | ( | RenderLayer * | Layer, |
const UInt16 | GroupID | ||
) |
Removes a single RenderLayer from a specified RenderLayerGroup.
Layer | The RenderLayer to be removed from the named group. |
GroupID | The ID of the RenderLayerGroup the provided layer will be removed from. |
Definition at line 681 of file quadrenderable.cpp.
QuadRenderable::RenderLayerIterator Mezzanine::UI::QuadRenderable::RenderLayerBegin | ( | ) |
Gets an iterator to the first RenderLayer.
Definition at line 611 of file quadrenderable.cpp.
QuadRenderable::ConstRenderLayerIterator Mezzanine::UI::QuadRenderable::RenderLayerBegin | ( | ) | const |
Gets a const iterator to the first RenderLayer.
Definition at line 617 of file quadrenderable.cpp.
QuadRenderable::RenderLayerIterator Mezzanine::UI::QuadRenderable::RenderLayerEnd | ( | ) |
Gets an iterator to one passed the last RenderLayer.
Definition at line 614 of file quadrenderable.cpp.
QuadRenderable::ConstRenderLayerIterator Mezzanine::UI::QuadRenderable::RenderLayerEnd | ( | ) | const |
Gets an iterator to one passed the last RenderLayer.
Definition at line 620 of file quadrenderable.cpp.
QuadRenderable::RenderLayerGroupIterator Mezzanine::UI::QuadRenderable::RenderLayerGroupBegin | ( | ) |
Gets an iterator to the first RenderLayerGroup.
Definition at line 750 of file quadrenderable.cpp.
QuadRenderable::ConstRenderLayerGroupIterator Mezzanine::UI::QuadRenderable::RenderLayerGroupBegin | ( | ) | const |
Gets a const iterator to the first RenderLayerGroup.
Definition at line 756 of file quadrenderable.cpp.
QuadRenderable::RenderLayerGroupIterator Mezzanine::UI::QuadRenderable::RenderLayerGroupEnd | ( | ) |
Gets an iterator to one passed the last RenderLayerGroup.
Definition at line 753 of file quadrenderable.cpp.
QuadRenderable::ConstRenderLayerGroupIterator Mezzanine::UI::QuadRenderable::RenderLayerGroupEnd | ( | ) | const |
Gets an iterator to one passed the last RenderLayerGroup.
Definition at line 759 of file quadrenderable.cpp.
Checks to see if a RenderLayerGroup exists.
GroupID | The ID of the RenderLayerGroup to check for. |
Definition at line 655 of file quadrenderable.cpp.
|
protected |
Resizes the container for RenderLayers in this QuadRenderable.
NewSize | The new capacity for RenderLayer storage. |
Definition at line 145 of file quadrenderable.cpp.
void Mezzanine::UI::QuadRenderable::SetActiveGroup | ( | const UInt16 | GroupID | ) |
Sets the RenderLayerGroup that will be used to render this renderable.
GroupID | The ID of the RenderLayerGroup that will be used. |
Definition at line 626 of file quadrenderable.cpp.
void Mezzanine::UI::QuadRenderable::SetActiveGroup | ( | RenderLayerGroup * | Group | ) |
Sets the RenderLayerGroup that will be used to render this renderable.
Group | Pointer to the RenderLayerGroup that will be used. |
Definition at line 636 of file quadrenderable.cpp.
|
virtual |
Sets how (and if) the aspect ratio of this quad is locked.
Lock | An AspectRatioLock enum value expressing the action this quad will take when it's aspect ratio would change. |
Definition at line 347 of file quadrenderable.cpp.
|
virtual |
Sets the behavior this quad will have when it is positioned automatically on the X axis.
Rules | The action to take when this is positioned on the X axis. See PositioningFlags enum for more info. |
Definition at line 299 of file quadrenderable.cpp.
|
virtual |
Sets the behavior this quad will have on the X axis when it is resized.
Rules | The action to take when this is resized. See SizingRules enum for more info. |
Definition at line 323 of file quadrenderable.cpp.
void Mezzanine::UI::QuadRenderable::SetLocalVertexCaching | ( | Boole | Enable | ) |
Enables or disables caching of vertex's belonging to this and all child renderables.
Enable | Whether to enable or disable this feature. |
Definition at line 993 of file quadrenderable.cpp.
|
virtual |
Sets whether or not this quad has specific behaviors for it's transform updates and they should not be done automatically.
Enable | True to make this quad skip automatic updating and intent to provide that logic explicitly elsewhere, false for automatic transform updates. |
Definition at line 266 of file quadrenderable.cpp.
|
virtual |
Sets the maximum size this quad is allowed to have.
Max | The size this quad is not allowed to exceed. |
Definition at line 371 of file quadrenderable.cpp.
|
virtual |
Sets the minimum size this quad is allowed to have.
Min | The size this quad is not allowed to go under. |
Definition at line 359 of file quadrenderable.cpp.
|
virtual |
Sets whether or not this quad should be skipped when determining if the mouse is hovered over this quad.
Enable | True if you want to have this quad be skipped for mouse hover checks, false if you want this quad checked. |
Definition at line 260 of file quadrenderable.cpp.
|
virtual |
Sets the behavior to be used when this QuadRenderable is positioned.
Policy | The PositioningInfo to be applied to this QuadRenderable. |
Definition at line 275 of file quadrenderable.cpp.
|
virtual |
Sets the behavior to be used when this QuadRenderable is sized.
Policy | The SizingInfo to be applied to this QuadRenderable. |
Definition at line 287 of file quadrenderable.cpp.
|
virtual |
Sets the position this QuadRenderable will have within it's parent.
Position | The top-left position relative to it's parents' rect. |
Definition at line 897 of file quadrenderable.cpp.
|
virtual |
Sets the size this QuadRenderable will have within it's parent.
Size | The width and height relative to it's parents' rect. |
Definition at line 904 of file quadrenderable.cpp.
|
virtual |
Sets the behavior this quad will have when it is positioned automatically on the Y axis.
Rules | The action to take when this is positioned on the Y axis. See PositioningFlags enum for more info. |
Definition at line 311 of file quadrenderable.cpp.
|
virtual |
Sets the behavior this quad will have on the Y axis when it is resized.
Rules | The action to take when this is resized. See SizingRules enum for more info. |
Definition at line 335 of file quadrenderable.cpp.
|
virtual |
Updates the dimensions of the children in this QuadRenderable.
This is a convenience function that will call the more descriptive version of "UpdateDimensions" on this object using its existing dimensions as both parameters, causing all of this quads children to be updated. This method can be expensive based on the number of children this quad has.
Definition at line 241 of file quadrenderable.cpp.
|
virtual |
Updates the dimensions of this QuadRenderable based on the transform of it's parent.
This is a convenience function that will call the more descriptive version of "UpdateDimensions" on this objects parent using its existing dimensions as both parameters, causing all of its children to be updated (including this). This method can be expensive based on the number of siblings this quad has.
Definition at line 233 of file quadrenderable.cpp.
|
virtual |
Updates the dimensions of this QuadRenderable based on the transform of it's parent.
This function is called automatically by this objects parent when it changes in size or position, and should only need to be called manually if the positioning or sizing rules were updated manually.
OldSelfRect | The previous dimensions of this quad prior to it's dimensions being updated. |
NewSelfRect | The updated and current dimensions of this quad. |
Reimplemented in Mezzanine::UI::PagedContainer, Mezzanine::UI::ListBox, Mezzanine::UI::DropDownList, Mezzanine::UI::HorizontalScrollbar, Mezzanine::UI::VerticalScrollbar, and Mezzanine::UI::LayoutContainer.
Definition at line 247 of file quadrenderable.cpp.
|
protected |
The actual (pixel) position and size of this Quad on the screen it belongs to.
Definition at line 147 of file quadrenderable.h.
|
protected |
This is a pointer to the group of RenderLayers currently being used for rendering.
Definition at line 153 of file quadrenderable.h.
|
protected |
Determines whether or not this Quad needs all of it's layers refreshed. Usually after a transform update.
Definition at line 171 of file quadrenderable.h.
|
protected |
This is a container storing all the children that belong to this Quad.
Definition at line 138 of file quadrenderable.h.
|
protected |
This is a pointer to the strategy being used by this Quad to determine the positions and sizes of children during transform updates.
Definition at line 156 of file quadrenderable.h.
|
protected |
Controls whether or not this Quad and it's children will recieve automatic transform updates.
Definition at line 168 of file quadrenderable.h.
|
protected |
Controls whether or not this Quad will be considered for mouse hover checks.
Definition at line 165 of file quadrenderable.h.
|
protected |
This is a pointer to the Quad that owns this Quad and is responsible for transform updates applied to this Quad.
Definition at line 150 of file quadrenderable.h.
|
protected |
This stores all the information needed to determine the specific behaviors this Quad should have when it's position is being updated.
Definition at line 144 of file quadrenderable.h.
|
protected |
This is a container storing all the RenderLayerGroup instances created by and belonging to this Quad.
Definition at line 132 of file quadrenderable.h.
|
protected |
This is a container storing all the RenderLayer instances created by and belonging to this Quad.
Definition at line 135 of file quadrenderable.h.
|
protected |
This stores all the information needed to determine the specific behaviors this Quad should have when it's size is being updated.
Definition at line 141 of file quadrenderable.h.
|
protected |
This is a pointer to the optional cache of vertex's belonging to this Quad and all of it's children.
Definition at line 159 of file quadrenderable.h.
|
protected |
This is the ZOrder of this Quad in relation to all other Quads in it's parent.
Definition at line 162 of file quadrenderable.h.