This is the base class for containers that have a render area and work area of different sizes. More...
#include <pagedcontainer.h>
Public Types | |
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 | |||
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 void | AddChild (Widget *Child) | ||
Adds a Widget to this as a child of this quad. 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 | 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 | ProtoSerializePageData (XML::Node &SelfRoot) const | ||
Convert the PageProvider data 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 | 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::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... | |
Static Public Attributes | |
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". | |
Static Public Attributes inherited from Mezzanine::UI::Widget | |
static const String | EventFocusGained = "FocusGained" |
Event name for when this widget gains focus. | |
static const String | EventFocusLocked = "FocusLocked" |
Event name for when the system locks focus on this widget. | |
static const String | EventFocusLost = "FocusLost" |
Event name for when this widget loses focus. | |
static const String | EventFocusUnlocked = "FocusUnlocked" |
Event name fow when the system removes the focus lock from this widget. | |
static const String | EventMouseDragEnd = "MouseDragEnd" |
Event name for when the mouse stops dragging this widget. | |
static const String | EventMouseDragging = "MouseDragging" |
Event name for when a mouse activation button is pressed, and held while moving. | |
static const String | EventMouseDragStart = "MouseDragStart" |
Event name for when the mouse starts dragging this widget. | |
static const String | EventMouseEnter = "MouseEnter" |
Event name for when the mouse enters this widget. | |
static const String | EventMouseExit = "MouseExit" |
Event name for when the mouse leaves this widget. | |
static const String | EventVisibilityHidden = "VisibilityHidden" |
Event name for when this widget is switched from being shown to being hidden. | |
static const String | EventVisibilityShown = "VisibilityShown" |
Event name for when this widget is switched from being hidden to being shown. | |
static const String | TypeName = "GenericWidget" |
String containing the type name for this class: "GenericWidget". | |
Protected Member Functions | |
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 | |
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... | |
This is the base class for containers that have a render area and work area of different sizes.
The central premise of all PagedLayoutContainers is that their render dimensions does not accurately express their total dimensions, or "work area" where widgets can be placed. The work area of a PagedLayoutContainer can be nagivated via a small selection of specific widgets.
Definition at line 79 of file pagedcontainer.h.
An enum describing how the providers for this container are configured and being used.
Depending on the method returning the values, these values can mean slightly different things. The documentation provided below describes the meaning when querying the overall configuration first, and the second description describes what it means when an individual provider is queried on a given container.
Enumerator | |
---|---|
PM_Error |
The PageProvider configuration is invalid, or the queried PageProvider isn't in use by the container. |
PM_Single_X |
There is only one PageProvider providing pages for the X axis of this container, or the queried provider is being used only for the X axis by the container. |
PM_Single_Y |
There is only one PageProvider providing pages for the Y axis of this container, or the queried provider is being used only for the Y axis by the container. |
PM_Single_XY |
There is only one PageProvider providing pages for both the X and Y axes of this container, or the queried provider is being used for both the X and Y axes be the container. |
PM_Dual_XY |
There are two different PageProviders each providing pages for their respective axis. This value isn't returned by a provider query. |
Definition at line 94 of file pagedcontainer.h.
Mezzanine::UI::PagedContainer::PagedContainer | ( | Screen * | Parent) |
Blank constructor.
Parent | The parent Screen that created this widget. |
Definition at line 54 of file pagedcontainer.cpp.
Standard initialization constructor.
RendName | The name to be given to this renderable. |
Parent | The parent Screen that created this widget. |
Definition at line 61 of file pagedcontainer.cpp.
Mezzanine::UI::PagedContainer::PagedContainer | ( | 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 68 of file pagedcontainer.cpp.
|
virtual |
Appends the vertices of this renderable to another vector, and then does the same for this renderable's children.
Reimplemented from Mezzanine::UI::QuadRenderable.
Definition at line 398 of file pagedcontainer.cpp.
|
virtual |
Notifies this subscriber of an event being fired.
Reimplemented from Mezzanine::UI::Widget.
Definition at line 386 of file pagedcontainer.cpp.
|
virtual |
Self logic to be executed when focus is given to a child of this widget.
ChildName | The name of the child that has gained focus. |
Definition at line 377 of file pagedcontainer.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::QuadRenderable.
Reimplemented in Mezzanine::UI::LinearContainer.
Definition at line 194 of file pagedcontainer.cpp.
|
virtual |
Gets the size of this containers work area in pixels.
Definition at line 110 of file pagedcontainer.cpp.
|
virtual |
Gets a pointer to the last focused child widget in this container.
Definition at line 142 of file pagedcontainer.cpp.
|
virtual |
Gets the current provider configuration of this container.
Definition at line 147 of file pagedcontainer.cpp.
|
virtual |
Gets the role of the specified PageProvider in this container.
Prov | The PageProvider to check this container for. |
Definition at line 160 of file pagedcontainer.cpp.
|
static |
Get the name of the the XML tag the Renderable class will leave behind as its instances are serialized.
Definition at line 369 of file pagedcontainer.cpp.
|
virtual |
Gets the size of this containers work area.
Definition at line 105 of file pagedcontainer.cpp.
|
virtual |
Gets the PageProvider for the X axis.
Definition at line 173 of file pagedcontainer.cpp.
|
virtual |
Gets the PageProvider for the Y axis.
Definition at line 176 of file pagedcontainer.cpp.
|
protectedvirtual |
Implementation method for deseriailizing additional sets of data.
Reimplemented from Mezzanine::UI::Widget.
Definition at line 89 of file pagedcontainer.cpp.
|
virtual |
Take the data stored in an XML Node and overwrite the PageProvider data of this object with it.
SelfRoo | tAn XML::Node containing the data to populate this class with. |
Definition at line 276 of file pagedcontainer.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::Widget.
Reimplemented in Mezzanine::UI::LinearContainer, Mezzanine::UI::HorizontalContainer, and Mezzanine::UI::VerticalContainer.
Definition at line 348 of file pagedcontainer.cpp.
|
protectedvirtual |
Implementation method for serializing additional sets of data.
Reimplemented from Mezzanine::UI::Widget.
Definition at line 83 of file pagedcontainer.cpp.
|
virtual |
Convert the PageProvider data 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 224 of file pagedcontainer.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::Widget.
Reimplemented in Mezzanine::UI::LinearContainer, Mezzanine::UI::HorizontalContainer, and Mezzanine::UI::VerticalContainer.
Definition at line 259 of file pagedcontainer.cpp.
|
virtual |
Removes all child Widgets from this QuadRenderable.
Reimplemented from Mezzanine::UI::QuadRenderable.
Definition at line 209 of file pagedcontainer.cpp.
|
virtual |
Removes a child Widget by pointer.
Child | A point to the child to be removed. |
Reimplemented from Mezzanine::UI::QuadRenderable.
Definition at line 200 of file pagedcontainer.cpp.
|
pure virtual |
Sets the page providers for both axes.
XProv | The PageProvider controlling the current horizontal page. |
YProv | The PageProvider controlling the current vertical page. |
Implemented in Mezzanine::UI::HorizontalContainer, and Mezzanine::UI::VerticalContainer.
|
virtual |
Sets the size of this containers work area.
Area | The new size for this containers work area. |
Definition at line 98 of file pagedcontainer.cpp.
|
pure virtual |
Sets the PageProvider for the X axis.
XProv | The PageProvider controlling the current horizontal page. |
Implemented in Mezzanine::UI::HorizontalContainer, and Mezzanine::UI::VerticalContainer.
|
pure virtual |
Sets the PageProvider for the Y axis.
YProv | The PageProvider controlling the current vertical page. |
Implemented in Mezzanine::UI::HorizontalContainer, and Mezzanine::UI::VerticalContainer.
|
virtual |
Unbinds a provider being used by this container.
Prov | A pointer to the PageProvider to be unbound if it is used by this container. |
Definition at line 179 of file pagedcontainer.cpp.
|
protectedpure virtual |
The container specific logic for updating it's dimensions.
Implemented in Mezzanine::UI::HorizontalContainer, and Mezzanine::UI::VerticalContainer.
|
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 from Mezzanine::UI::QuadRenderable.
Definition at line 119 of file pagedcontainer.cpp.
|
protected |
A pointer to the last child widget that was focused by this container.
Definition at line 116 of file pagedcontainer.h.
|
protected |
A container of children that meet the criteria for rendering in this container.
Definition at line 113 of file pagedcontainer.h.
|
protected |
Unified rect storing the size alloted for children of this container.
Definition at line 110 of file pagedcontainer.h.
|
protected |
A pointer to the X axis provider.
Definition at line 119 of file pagedcontainer.h.
|
protected |
A pointer to the Y axis provider.
Definition at line 122 of file pagedcontainer.h.