This is a container class for placing child objects in succession on a single axis. More...
#include <linearcontainer.h>
Public Types | |
enum | SizeEnforcement { SE_None = 0, SE_OnAdd = 1, SE_OnUpdate = 2 } |
This enum is used to determine if and when a child should be forced to a specific size for this container. More... | |
Public Types inherited from Mezzanine::UI::PagedContainer | |
typedef VisibleChildContainer::const_iterator | ConstVisibleChildIterator |
Const Iterator type for Visible QuadRenderable instances stored by this class. | |
enum | ProviderMode { PM_Error = 0, PM_Single_X = 1, PM_Single_Y = 2, PM_Single_XY = 3, PM_Dual_XY = 4 } |
An enum describing how the providers for this container are configured and being used. More... | |
typedef std::vector < QuadRenderable * > | VisibleChildContainer |
Basic container type for Visible QuadRenderable storage by this class. | |
typedef VisibleChildContainer::iterator | VisibleChildIterator |
Iterator type for Visible QuadRenderable instances stored by this class. | |
Public Types inherited from Mezzanine::UI::Widget | |
typedef StateLayerGroupMap::const_iterator | ConstStateLayerGroupIterator |
Const Iterator type for RenderLayerGroup instances stored in relation to widget states. | |
typedef StateLayerGroupMap::iterator | StateLayerGroupIterator |
Iterator type for RenderLayerGroup instances stored in relation to widget states. | |
typedef std::map< UInt32, RenderLayerGroup * > | StateLayerGroupMap |
Container class for storing RenderLayerGroup instances in relation to widget states. | |
enum | WidgetState { WS_Untouched = 0, WS_Hovered = 1, WS_Focused = 2, WS_Dragged = 4 } |
Enum describing the current state of the widget. | |
Public Types inherited from Mezzanine::UI::QuadRenderable | |
typedef std::list< 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::pair< UInt16, String > | GroupOrderEntry |
An std::pair type for storing ZOrders in relation to a named RenderLayerGroup. | |
typedef std::vector < GroupOrderEntry > | GroupOrderEntryVector |
Container type for GroupOrderEntry storage by this class. | |
typedef std::vector < RenderLayer * > | RenderLayerContainer |
Basic container type for RenderLayer storage by this class. | |
typedef std::map< String, 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 Types inherited from Mezzanine::EventPublisher | |
typedef EventContainer::const_iterator | ConstEventIterator |
Const Iterator type for Event instances stored by this class. | |
typedef std::map< String, Event * > | EventContainer |
Basic container type for Event storage by this class. | |
typedef EventContainer::iterator | EventIterator |
Iterator type for Event instances stored by this class. | |
Public Member Functions | |||
LinearContainer (Screen *Parent) | |||
Blank constructor. More... | |||
LinearContainer (const String &RendName, Screen *Parent) | |||
Standard initialization constructor. More... | |||
LinearContainer (const String &RendName, const UnifiedRect &RendRect, Screen *Parent) | |||
Rect constructor. More... | |||
virtual | ~LinearContainer () | ||
Class destructor. | |||
virtual void | AddChild (Widget *Child) | ||
Adds a Widget to this as a child of this quad. More... | |||
virtual const SizingInfo & | GetChildSize () const | ||
Gets the size to be given to children processed by this container if forced sizing is enabled. More... | |||
virtual Whole | GetChildSizeEnforcement () const | ||
Gets when the set child sizing will be applied to any given child. More... | |||
virtual const UnifiedDim & | GetPadding () const | ||
Gets the spacing being split between both sides of each child quad on the relevant axis. More... | |||
virtual UI::LinearAlignment | GetVisibleChildAlignment () const | ||
Gets the alignment for visible children of this container when they don't take up all the visible space provided by the container. 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 | SetChildSize (const SizingInfo &ForcedSize) | ||
Sets the size to be given to children processed by this container if forced sizing is enabled. More... | |||
virtual void | SetChildSizeEnforcement (const Whole Enforcement) | ||
Sets when the set child sizing will be applied to any given child. More... | |||
virtual void | SetChildSizing (const SizingInfo &ForcedSize, const Whole Enforcement) | ||
Sets both the size and enforcement rules for forced child sizing in this container. More... | |||
virtual void | SetPadding (const UnifiedDim &Padding) | ||
Sets the spacing to be split between both sides of each child quad on the relevant axis. More... | |||
virtual void | SetVisibleChildAlignment (const UI::LinearAlignment ChildAlign) | ||
Sets the alignment for visible children of this container when they don't take up all the visible space provided by the container. More... | |||
Public Member Functions inherited from Mezzanine::UI::PagedContainer | |||
PagedContainer (Screen *Parent) | |||
Blank constructor. More... | |||
PagedContainer (const String &RendName, Screen *Parent) | |||
Standard initialization constructor. More... | |||
PagedContainer (const String &RendName, const UnifiedRect &RendRect, Screen *Parent) | |||
Rect constructor. More... | |||
virtual | ~PagedContainer () | ||
Class destructor. | |||
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 | _NotifyEvent (const EventArguments &Args) | ||
Notifies this subscriber of an event being fired. More... | |||
virtual void | _OnChildFocusGained (const String &ChildName) | ||
Self logic to be executed when focus is given to a child of this widget. More... | |||
virtual Vector2 | GetActualWorkAreaSize () const | ||
Gets the size of this containers work area in pixels. More... | |||
virtual Widget * | GetLastFocusedWidget () const | ||
Gets a pointer to the last focused child widget in this container. More... | |||
virtual ProviderMode | GetProviderConfig () const | ||
Gets the current provider configuration of this container. More... | |||
virtual ProviderMode | GetProviderConfig (const PageProvider *Prov) const | ||
Gets the role of the specified PageProvider in this container. More... | |||
virtual const UnifiedVec2 & | GetWorkAreaSize () const | ||
Gets the size of this containers work area. More... | |||
virtual PageProvider * | GetXProvider () const | ||
Gets the PageProvider for the X axis. More... | |||
virtual PageProvider * | GetYProvider () const | ||
Gets the PageProvider for the Y axis. More... | |||
virtual void | ProtoDeSerializePageData (const XML::Node &SelfRoot) | ||
Take the data stored in an XML Node and overwrite the PageProvider data of this object with it. More... | |||
virtual void | ProtoSerializePageData (XML::Node &SelfRoot) const | ||
Convert the PageProvider data of this class to an XML::Node ready for serialization. More... | |||
virtual void | RemoveAllChildren () | ||
Removes all child Widgets from this QuadRenderable. More... | |||
virtual void | RemoveChild (Widget *Child) | ||
Removes a child Widget by pointer. More... | |||
virtual void | SetProviders (PageProvider *XProv, PageProvider *YProv)=0 | ||
Sets the page providers for both axes. More... | |||
virtual void | SetWorkAreaSize (const UnifiedVec2 &Area) | ||
Sets the size of this containers work area. More... | |||
virtual void | SetXProvider (PageProvider *XProv)=0 | ||
Sets the PageProvider for the X axis. More... | |||
virtual void | SetYProvider (PageProvider *YProv)=0 | ||
Sets the PageProvider for the Y axis. More... | |||
virtual void | UnbindProvider (PageProvider *Prov) | ||
Unbinds a provider being used by this container. 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::Widget | |||
virtual bool | _HandleInput (const Input::MetaCode &Code) | ||
Handles input passed to this widget. More... | |||
virtual void | _OnFocusGained () | ||
Self logic to be executed when focus is given to this widget. More... | |||
virtual void | _OnFocusLocked () | ||
Self logic to be executed when focus is locked to this widget. More... | |||
virtual void | _OnFocusLost () | ||
Self logic to be executed when focus is removed from this widget. More... | |||
virtual void | _OnFocusUnlocked () | ||
Self logic to be executed when focus is no longer locked to this widget. More... | |||
virtual void | _OnMouseDragEnd () | ||
Self logic to be executed when the mouse cursor stops dragging across the bounds of this widget. More... | |||
virtual void | _OnMouseDragging () | ||
Self logic to be executed when the mouse cursor is dragging across the bounds of this widget. More... | |||
virtual void | _OnMouseDragStart () | ||
Self logic to be executed when the mouse cursor starts dragging across the bounds of this widget. More... | |||
virtual void | _OnMouseEnter () | ||
Self logic to be executed when the mouse cursor enters the bounds of this widget. More... | |||
virtual void | _OnMouseExit () | ||
Self logic to be executed when the mouse cursor leaves the bounds of thiw widget. More... | |||
virtual void | _OnVisibilityHidden () | ||
Self logic to be executed when this widget becomes invisible. | |||
virtual void | _OnVisibilityShown () | ||
Self logic to be executed when this widget becomes visible. | |||
virtual void | BindGroupToState (const UInt32 BindState, RenderLayerGroup *ToBind) | ||
Binds a RenderLayerGroup to a WidgetState. More... | |||
Widget * | GetBottomMostHoveredWidget () | ||
Gets a pointer to the Widget at the bottom of the hovered SubWidget chain. More... | |||
virtual String | GetDerivedSerializableName () const | ||
Gets the most derived serializable name of this Renderable. More... | |||
virtual RenderLayerGroup * | GetGroupBoundToState (const UInt32 BindState) const | ||
Gets the current RenderLayerGroup bound to a specified WidgetState. More... | |||
Widget * | GetHoveredSubWidget () const | ||
Gets the hovered sub-widget within this widget, if any. More... | |||
RenderableType | GetRenderableType () const | ||
Gets the type of renderable this is. More... | |||
virtual const String & | GetTypeName () const | ||
Gets the type of widget this is. More... | |||
virtual Boolean | GetVisible () const | ||
Gets the visibility setting of this renderable. More... | |||
virtual Boolean | HasFocus () const | ||
Gets whether or not this widget currently has focus. More... | |||
virtual void | Hide () | ||
Forces this renderable to hide. More... | |||
virtual Boolean | IsBeingDragged () const | ||
Gets whether or not this widget is being dragged. More... | |||
virtual Boolean | IsHovered () const | ||
Gets the result of the last mouse hover check. More... | |||
virtual Boolean | IsVisible () const | ||
Gets whether or not this renderable is being drawn. More... | |||
virtual void | ProtoDeSerializeEvents (const XML::Node &SelfRoot) | ||
Take the data stored in an XML Node and overwrite the Events of this object with it. More... | |||
virtual void | ProtoDeSerializeStateGroupBindings (const XML::Node &SelfRoot) | ||
Take the data stored in an XML Node and overwrite the state-group bindings of this object with it. More... | |||
virtual void | ProtoSerializeEvents (XML::Node &SelfRoot) const | ||
Convert the Events of this class to an XML::Node ready for serialization. More... | |||
virtual void | ProtoSerializeStateGroupBindings (XML::Node &SelfRoot) const | ||
Convert the state-group bindings of this class to an XML::Node ready for serialization. More... | |||
virtual bool | SetGroupFromState (const UInt32 BindState) | ||
Sets the group bound to the specified WidgetState as active. More... | |||
virtual void | SetVisible (Boolean CanSee) | ||
virtual void | Show () | ||
Forces this renderable to be shown. More... | |||
Public Member Functions inherited from Mezzanine::UI::QuadRenderable | |||
virtual void | _AppendRenderData (ScreenRenderData &RenderData) | ||
Appends the vertices of this renderable to another vector. More... | |||
virtual Boolean | _HasAvailableRenderData () const | ||
Checks if there are available render data from this QuadRenderable (or it's subrenderables). 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 | _SetZOrder (const UInt16 &Zorder) | ||
Ssts the ZOrder value for this renderable. More... | |||
virtual void | AddChild (Widget *Child, const UInt16 ZOrder) | ||
Adds a Widget to this as a child of this quad. More... | |||
void | AddLayerToGroup (RenderLayer *Layer, const UInt16 ZOrder, const String &GroupName) | ||
Adds a RenderLayer to the specified group. More... | |||
void | AddLayerToGroups (RenderLayer *Layer, const GroupOrderEntryVector &Entrys) | ||
Adds a RenderLayer to multiple groups. More... | |||
virtual Boolean | 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... | |||
ImageLayer * | CreateImageLayer () | ||
Creates an ImageLayer for this renderable. More... | |||
ImageLayer * | CreateImageLayer (const UInt16 ZOrder, const String &GroupName) | ||
Creates an ImageLayer for this renderable and adds it to a RenderLayerGroup. More... | |||
ImageLayer * | CreateImageLayer (const GroupOrderEntryVector &Entrys) | ||
Creates an ImageLayer for this renderable and adds it to all the specified RenderLayerGroups at the provided ZOrders. More... | |||
MultiLineTextLayer * | CreateMultiLineTextLayer () | ||
Creats a MultiLineTextLayer for this renderable. More... | |||
MultiLineTextLayer * | CreateMultiLineTextLayer (const UInt16 ZOrder, const String &GroupName) | ||
Creats a MultiLineTextLayer for this renderable. More... | |||
MultiLineTextLayer * | CreateMultiLineTextLayer (const GroupOrderEntryVector &Entrys) | ||
Creates a MultiLineTextLayer for this renderable and adds it to all the specified RenderLayerGroups at the provided ZOrders. More... | |||
MultiLineTextLayer * | CreateMultiLineTextLayer (const String &FontName) | ||
Creats a MultiLineTextLayer for this renderable. More... | |||
MultiLineTextLayer * | CreateMultiLineTextLayer (const String &FontName, const UInt16 ZOrder, const String &GroupName) | ||
Creats a MultiLineTextLayer for this renderable. More... | |||
MultiLineTextLayer * | CreateMultiLineTextLayer (const String &FontName, const GroupOrderEntryVector &Entrys) | ||
Creates a MultiLineTextLayer for this renderable and adds it to all the specified RenderLayerGroups at the provided ZOrders. More... | |||
MultiLineTextLayer * | CreateMultiLineTextLayer (const Real &LineHeight) | ||
Creats a MultiLineTextLayer for this renderable. More... | |||
MultiLineTextLayer * | CreateMultiLineTextLayer (const Real &LineHeight, const UInt16 ZOrder, const String &GroupName) | ||
Creats a MultiLineTextLayer for this renderable. More... | |||
MultiLineTextLayer * | CreateMultiLineTextLayer (const Real &LineHeight, const GroupOrderEntryVector &Entrys) | ||
Creates a MultiLineTextLayer for this renderable and adds it to all the specified RenderLayerGroups at the provided ZOrders. More... | |||
RenderLayerGroup * | CreateOrRetrieveRenderLayerGroup (const String &Name) | ||
Gets the named RenderLayerGroup or creates one with the specified name if it does not exist. More... | |||
RenderLayerGroup * | CreateRenderLayerGroup (const String &Name) | ||
Creates a new RenderLayerGroup that can have.
| |||
SingleLineTextLayer * | CreateSingleLineTextLayer () | ||
Creats a SingleLineTextLayer for this renderable. More... | |||
SingleLineTextLayer * | CreateSingleLineTextLayer (const UInt16 ZOrder, const String &GroupName) | ||
Creats a SingleLineTextLayer for this renderable. More... | |||
SingleLineTextLayer * | CreateSingleLineTextLayer (const GroupOrderEntryVector &Entrys) | ||
Creates a SingleLineTextLayer for this renderable and adds it to all the specified RenderLayerGroups at the provided ZOrders. More... | |||
SingleLineTextLayer * | CreateSingleLineTextLayer (const String &FontName) | ||
Creats a SingleLineTextLayer for this renderable. More... | |||
SingleLineTextLayer * | CreateSingleLineTextLayer (const String &FontName, const UInt16 ZOrder, const String &GroupName) | ||
Creats a SingleLineTextLayer for this renderable. More... | |||
SingleLineTextLayer * | CreateSingleLineTextLayer (const String &FontName, const GroupOrderEntryVector &Entrys) | ||
Creates a SingleLineTextLayer for this renderable and adds it to all the specified RenderLayerGroups at the provided ZOrders. More... | |||
SingleLineTextLayer * | CreateSingleLineTextLayer (const Real &LineHeight) | ||
Creats a SingleLineTextLayer for this renderable. More... | |||
SingleLineTextLayer * | CreateSingleLineTextLayer (const Real &LineHeight, const UInt16 ZOrder, const String &GroupName) | ||
Creats a SingleLineTextLayer for this renderable. More... | |||
SingleLineTextLayer * | CreateSingleLineTextLayer (const Real &LineHeight, const GroupOrderEntryVector &Entrys) | ||
Creates a SingleLineTextLayer for this renderable and adds it to all the specified RenderLayerGroups at the provided ZOrders. More... | |||
void | DestroyAllRenderLayerGroups () | ||
Destroy's all RenderLayerGroups being stored/managed by this QuadRenderable. | |||
void | DestroyAllRenderLayers () | ||
Destroys all RenderLayers being stored by this renderable. | |||
void | DestroyRenderLayer (RenderLayer *ToBeDestroyed) | ||
Destroys a RenderLayer being stored by this renderable. More... | |||
void | DestroyRenderLayerGroup (const String &Name) | ||
Destroy's a RenderLayerGroup by name. 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 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... | |||
virtual UI::SizingRules | 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 bool | 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 bool | GetMousePassthrough () const | ||
Gets whether or not Mouse Passthrough is enabled. More... | |||
QuadRenderable * | GetNextSibling (Boolean 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... | |||
virtual UI::PositioningFlags | GetPositioningRules () const | ||
Gets the current behavior this quad will follow when it is positioned automatically. More... | |||
QuadRenderable * | GetPrevSibling (Boolean 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... | |||
RenderLayerGroup * | GetRenderLayerGroup (const String &Name) const | ||
Gets a RenderLayerGroup by name. More... | |||
virtual UI::RenderPriority | GetRenderPriority () const | ||
Gets the priority this QuadRenderable should be rendered with. More... | |||
virtual const SizingInfo & | GetSizingPolicy () const | ||
Gets the current behavior this QuadRenderable will use when it is sized. More... | |||
virtual 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 UI::SizingRules | 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 Boolean | IsChildOfScreen () const | ||
Gets whether or not this QuadRenderable is a direct child of it's screen. More... | |||
virtual Boolean | IsInside (const Vector2 &Point) const | ||
Checks to see if a point in 2D space is inside this quad. More... | |||
Boolean | IsVertexCachingEnabled () const | ||
Gets whether or not vertex caching is enabled for 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 | 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 | 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... | |||
void | RemoveLayerFromAllGroups (RenderLayer *Layer) | ||
Removes a single RenderLayer from all RenderLayerGroups owned by this QuadRenderable. More... | |||
void | RemoveLayerFromGroup (RenderLayer *Layer, const String &GroupName) | ||
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... | |||
Boolean | RenderLayerGroupExists (const String &Name) const | ||
Checks to see if a RenderLayerGroup exists. More... | |||
void | SetActiveGroup (const String &Name) | ||
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 | SetHorizontalSizingRules (const UI::SizingRules Rules) | ||
Sets the behavior this quad will have on the X axis when it is resized. More... | |||
void | SetLocalVertexCaching (Boolean Enable) | ||
Enables or disables caching of vertex's belonging to this and all child renderables. More... | |||
virtual void | SetManualTransformUpdates (Boolean 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 (Boolean 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 | SetPositioningRules (const UI::PositioningFlags Rules) | ||
Sets the behavior this quad will have when it is positioned automatically. More... | |||
virtual void | SetRenderPriority (const UI::RenderPriority RP) | ||
Sets the priority this QuadRenderable should be rendered with. More... | |||
virtual void | SetRenderPriorityCascading (const UI::RenderPriority RP) | ||
Sets the priority this QuadRenderable and all it's children should be rendered with. 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 | SetVerticalSizingRules (const UI::SizingRules 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 | UpdateDimensions () | ||
Updates the dimensions of this QuadRenderable based on the transform of it's parent. More... | |||
Public Member Functions inherited from Mezzanine::UI::Renderable | |||
bool | _IsDirty () const | ||
Gets whether or not this renderable is dirty. More... | |||
const String & | GetName () const | ||
Gets the name of this renderable. More... | |||
Screen * | GetScreen () const | ||
Gets the parent screen of this renderable. More... | |||
Public Member Functions inherited from Mezzanine::EventPublisher | |||
EventPublisher () | |||
Class constructor. | |||
virtual | ~EventPublisher () | ||
Class destructor. | |||
Event * | GetEvent (const String &EventName) const | ||
Gets an event in this publisher. More... | |||
Event * | GetEventExcept (const String &EventName) const | ||
Gets an event in this publisher.
| |||
EventSubscriberSlot * | Subscribe (const String &EventName, EventSubscriber *Sub) | ||
Adds a subscriber to this event. More... | |||
EventSubscriberSlot * | Subscribe (const String &EventName, FunctorSubscriberSlot::FunctorDefinition *Funct, Boolean CleanUpAfter) | ||
Subscribes a functor object to this event. More... | |||
EventSubscriberSlot * | Subscribe (const String &EventName, CFunctionSubscriberSlot::SubscriberFunction *CFunct) | ||
Subscribes a C-style function to this event. More... | |||
EventSubscriberSlot * | Subscribe (const String &EventName, Scripting::iScript *SubScript) | ||
Subscribes a script to this event. More... | |||
void | Unsubscribe (EventSubscriber *Subscriber) | ||
Unsubscribes a single subscriber all events in this publisher. More... | |||
void | Unsubscribe (FunctorSubscriberSlot::FunctorDefinition *Funct) | ||
Unsubscribes a single subscriber all events in this publisher. More... | |||
void | Unsubscribe (CFunctionSubscriberSlot::SubscriberFunction *CFunct) | ||
Unsubscribes a single subscriber from all events in this publisher. More... | |||
void | Unsubscribe (Scripting::iScript *SubScript) | ||
Unsubscribes a single subscriber from all events in this publisher. More... | |||
void | Unsubscribe (EventSubscriberSlot *SubSlot) | ||
Unsubscribes a single subscriber from all events in this publisher. More... | |||
void | Unsubscribe (const String &EventName, EventSubscriber *Subscriber) | ||
Unsubscribes a single subscriber from the named event. More... | |||
void | Unsubscribe (const String &EventName, FunctorSubscriberSlot::FunctorDefinition *Funct) | ||
Unsubscribes a single subscriber from the named event. More... | |||
void | Unsubscribe (const String &EventName, CFunctionSubscriberSlot::SubscriberFunction *CFunct) | ||
Unsubscribes a single subscriber from the named event. More... | |||
void | Unsubscribe (const String &EventName, Scripting::iScript *SubScript) | ||
Unsubscribes a single subscriber from the named event. More... | |||
void | Unsubscribe (const String &EventName, EventSubscriberSlot *SubSlot) | ||
Unsubscribes a single subscriber from the named event. More... | |||
Whole | UnsubscribeAll () | ||
Unsubscribes all subscribers from all events in this publisher. More... | |||
Whole | UnsubscribeAll (const String &EventName) | ||
Unsubscribes all subscribers from the named Event. 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::PagedContainer | |
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::Widget | |
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::QuadRenderable | |
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 | |
virtual void | UpdateInvisibleChild (const Rect &OldSelfRect, const Rect &NewSelfRect, QuadRenderable *InvisibleChild) |
Updates a child that hasn't been selected to be visible. More... | |
Protected Member Functions inherited from Mezzanine::UI::PagedContainer | |
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... | |
virtual void | UpdateContainerDimensionsImpl (const Rect &OldSelfRect, const Rect &NewSelfRect)=0 |
The container specific logic for updating it's dimensions. More... | |
Protected Member Functions inherited from Mezzanine::UI::Widget | |
Widget (Screen *Parent) | |
Blank constructor. More... | |
Widget (const String &RendName, Screen *Parent) | |
Standard initialization constructor. More... | |
Widget (const String &RendName, const UnifiedRect &RendRect, Screen *Parent) | |
Rect constructor. More... | |
Widget (const XML::Node &XMLNode, Screen *Parent) | |
XML constructor. More... | |
virtual | ~Widget () |
Standard destructor. | |
void | ConstructWidget () |
Contains all the common necessary startup initializations for this class. More... | |
virtual Boolean | HandleInputImpl (const Input::MetaCode &Code) |
Consumes input for this widget's use. More... | |
Protected Member Functions inherited from Mezzanine::UI::QuadRenderable | |
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... | |
void | AppendLayerVertices (std::vector< VertexData > &Vertices) |
Adds all the vertices belonging to all the layers of this renderable to the provided vector. More... | |
void | CleanLayers () |
Redraws all dirty layers. 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 Member Functions inherited from Mezzanine::EventPublisher | |
Event * | AddEvent (const String &EventName) |
Creates a new event this Publisher can fire. More... | |
void | FireEvent (const EventArguments &Args) |
Fires an event. More... | |
void | RemoveAllEvents () |
Removes all events in this Publisher. More... | |
void | RemoveEvent (const String &EventName) |
Removes an existing event in this Publisher. More... | |
Protected Member Functions inherited from Mezzanine::EventSubscriber | |
EventSubscriber () | |
Class constructor. | |
virtual | ~EventSubscriber () |
Class destructor. | |
Protected Attributes | |
SizingInfo | ChildSizing |
The size given to children layed out by this container. More... | |
Whole | ForcedSizingRules |
The current enforcement for child size in this container. More... | |
UnifiedDim | LinearPadding |
The amount of space to add to both sides of a child object on the relevant axis. More... | |
UI::LinearAlignment | VisibleChildAlign |
The alignment to be given to the sequence of children visible in this container. More... | |
Protected Attributes inherited from Mezzanine::UI::PagedContainer | |
Widget * | LastFocusedChild |
A pointer to the last child widget that was focused by this container. More... | |
VisibleChildContainer | VisibleChildren |
A container of children that meet the criteria for rendering in this container. More... | |
UnifiedVec2 | WorkAreaSize |
Unified rect storing the size alloted for children of this container. More... | |
PageProvider * | XProvider |
A pointer to the X axis provider. More... | |
PageProvider * | YProvider |
A pointer to the Y axis provider. More... | |
Protected Attributes inherited from Mezzanine::UI::Widget | |
Widget * | HoveredSubWidget |
The child widget of this widget the mouse is over, if any. More... | |
UInt32 | State |
UInt32 describing the current state of this widget. More... | |
StateLayerGroupMap | StateGroupBindings |
Map containing all the RenderLayerGroups bound to specific widget states. More... | |
Protected Attributes inherited from Mezzanine::UI::QuadRenderable | |
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... | |
Boolean | 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... | |
Boolean | ManualTransformUpdates |
Controls whether or not this Quad and it's children will recieve automatic transform updates. More... | |
Boolean | 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... | |
UI::RenderPriority | Priority |
Determines the "higher ZOrder" of this Quad compared to all other renderables on screen. 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 | |
Boolean | 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... | |
Boolean | Visible |
Stores whether this Renderable is to be rendered (also dependent on parent visibility). More... | |
Protected Attributes inherited from Mezzanine::EventPublisher | |
EventContainer | Events |
A container storing all the Events published by this class by name. More... | |
Additional Inherited Members | |
Static Public Attributes inherited from Mezzanine::UI::PagedContainer | |
static const String | EventChildFocusGained = "ChildFocusGained" |
Event name for when a child of this widget gains focus. | |
static const String | TypeName = "PagedContainer" |
String containing the type name for this class: "PagedContainer". | |
This is a container class for placing child objects in succession on a single axis.
Definition at line 55 of file linearcontainer.h.
This enum is used to determine if and when a child should be forced to a specific size for this container.
Definition at line 60 of file linearcontainer.h.
Mezzanine::UI::LinearContainer::LinearContainer | ( | Screen * | Parent) |
Blank constructor.
Parent | The parent Screen that created this widget. |
Definition at line 51 of file linearcontainer.cpp.
Standard initialization constructor.
RendName | The name to be given to this renderable. |
Parent | The parent Screen that created this widget. |
Definition at line 57 of file linearcontainer.cpp.
Mezzanine::UI::LinearContainer::LinearContainer | ( | const String & | RendName, |
const UnifiedRect & | RendRect, | ||
Screen * | Parent | ||
) |
Rect constructor.
RendName | The name to be given to this renderable. |
RendRect | The rect describing this widget's transform relative to it's parent. |
Parent | The parent screen that created this renderable. |
Definition at line 63 of file linearcontainer.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 from Mezzanine::UI::PagedContainer.
Definition at line 125 of file linearcontainer.cpp.
|
virtual |
Gets the size to be given to children processed by this container if forced sizing is enabled.
Definition at line 101 of file linearcontainer.cpp.
|
virtual |
Gets when the set child sizing will be applied to any given child.
Definition at line 107 of file linearcontainer.cpp.
|
virtual |
Gets the spacing being split between both sides of each child quad on the relevant axis.
Definition at line 113 of file linearcontainer.cpp.
|
static |
Get the name of the the XML tag the Renderable class will leave behind as its instances are serialized.
Definition at line 191 of file linearcontainer.cpp.
|
virtual |
Gets the alignment for visible children of this container when they don't take up all the visible space provided by the container.
Definition at line 119 of file linearcontainer.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::PagedContainer.
Reimplemented in Mezzanine::UI::HorizontalContainer, and Mezzanine::UI::VerticalContainer.
Definition at line 157 of file linearcontainer.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::PagedContainer.
Reimplemented in Mezzanine::UI::HorizontalContainer, and Mezzanine::UI::VerticalContainer.
Definition at line 137 of file linearcontainer.cpp.
|
virtual |
Sets the size to be given to children processed by this container if forced sizing is enabled.
ForcedSize | A SizingInfo describing how all children should size themselves on dimension updates. |
Definition at line 98 of file linearcontainer.cpp.
|
virtual |
Sets when the set child sizing will be applied to any given child.
Enforcement | A bitmask containing when the child sizing will be enforced by this container. See SizeEnforcement enum for more details. |
Definition at line 104 of file linearcontainer.cpp.
|
virtual |
Sets both the size and enforcement rules for forced child sizing in this container.
ForcedSize | A SizingInfo describing how all children should size themselves on dimension updates. |
Enforcement | A bitmask containing when the child sizing will be enforced by this container. See SizeEnforcement enum for more details. |
Definition at line 92 of file linearcontainer.cpp.
|
virtual |
Sets the spacing to be split between both sides of each child quad on the relevant axis.
Padding | The amount of space to apply on both sides of each child. |
Definition at line 110 of file linearcontainer.cpp.
|
virtual |
Sets the alignment for visible children of this container when they don't take up all the visible space provided by the container.
ChildAlign | The alignment to be given to visible children of this linear container. |
Definition at line 116 of file linearcontainer.cpp.
|
protectedvirtual |
Updates a child that hasn't been selected to be visible.
OldSelfRect | The previous dimensions of this quad prior to it's dimensions being updated. |
NewSelfRect | The updated and current dimensions of this quad. |
InvisibleChild | The child to be updated. |
Definition at line 72 of file linearcontainer.cpp.
|
protected |
The size given to children layed out by this container.
Definition at line 69 of file linearcontainer.h.
|
protected |
The current enforcement for child size in this container.
Definition at line 75 of file linearcontainer.h.
|
protected |
The amount of space to add to both sides of a child object on the relevant axis.
Definition at line 72 of file linearcontainer.h.
|
protected |
The alignment to be given to the sequence of children visible in this container.
Definition at line 78 of file linearcontainer.h.