40 #ifndef _uilayoutcontainer_cpp
41 #define _uilayoutcontainer_cpp
43 #include "UI/layoutcontainer.h"
44 #include "UI/screen.h"
61 Widget(RendName,RendRect,Parent)
118 { (*ChildIt)->_AppendRenderDataCascading(*
VertexCache); }
124 { (*It)->_AppendRenderDataCascading(RenderData); }
virtual void ProtoDeSerializeProperties(const XML::Node &SelfRoot)
Take the data stored in an XML Node and overwrite the properties of this object with it...
void Clear()
Clears all Vertex vectors.
virtual void UpdateContainerDimensionsImpl(const Rect &OldSelfRect, const Rect &NewSelfRect)=0
The container specific logic for updating it's dimensions.
virtual void _MarkAllLayersDirty()
Tells this QuadRenderable that all of it's layers are dirty.
virtual void ProtoSerializeProperties(XML::Node &SelfRoot) const
Convert the properties of this class to an XML::Node ready for serialization.
LayoutContainer(Screen *Parent)
Blank constructor.
VisibleChildContainer::iterator VisibleChildIterator
Iterator type for Visible QuadRenderable instances stored by this class.
virtual ~LayoutContainer()
Class destructor.
void Append(ScreenRenderData &OtherData)
Appends the contents of another ScreenRenderData to the end of this.
This class represents a box shaped area on the screen.
static String GetSerializableName()
Get the name of the the XML tag the Renderable class will leave behind as its instances are serialize...
virtual void _AppendRenderDataCascading(ScreenRenderData &RenderData)
Appends the vertices of this renderable to another vector, and then does the same for this renderable...
Boole AllLayersDirty
Determines whether or not this Quad needs all of it's layers refreshed. Usually after a transform upd...
VisibleChildContainer VisibleChildren
A container of children that meet the criteria for rendering in this container.
Rect ActDims
The actual (pixel) position and size of this Quad on the screen it belongs to.
virtual void _AppendRenderData(ScreenRenderData &RenderData)
Appends the vertices of this renderable to another vector.
This class represents a 2D rect which can express the size and position of a renderable on screen...
A light-weight handle for manipulating nodes in DOM tree.
static const String TypeName
String containing the type name for this class: "LayoutContainer".
ScreenRenderData * VertexCache
This is a pointer to the optional cache of vertex's belonging to this Quad and all of it's children...
The bulk of the engine components go in this namspace.
This class stores all vertices pertaining to a layer sorted by their priority for rendering...
Boole Dirty
Stores whether this Renderables vertices need to be regenerated.
virtual void UpdateDimensions()
Updates the dimensions of this QuadRenderable based on the transform of it's parent.
This class is a helper class for creating UI's. It is responsible for storing and keeping track of al...
std::string String
A datatype used to a series of characters.