40 #ifndef _uirenderable_h
41 #define _uirenderable_h
43 #include "uienumerations.h"
44 #include "UI/vertex.h"
52 class ScreenRenderData;
86 virtual void ProtoSerializeImpl(
XML::Node& SelfRoot)
const;
90 virtual void ProtoDeSerializeImpl(
const XML::Node& SelfRoot);
108 const String& GetName()
const;
114 Screen* GetScreen()
const;
118 Boole IsWidget()
const;
121 Boole IsScreen()
const;
128 virtual void SetVisible(
Boole CanSee) = 0;
131 virtual Boole GetVisible()
const = 0;
137 virtual Boole IsVisible()
const = 0;
139 virtual void Show() = 0;
141 virtual void Hide() = 0;
148 virtual void ProtoSerialize(
XML::Node& ParentNode)
const;
151 virtual void ProtoSerializeProperties(
XML::Node& SelfRoot)
const;
155 virtual void ProtoDeSerialize(
const XML::Node& SelfRoot);
158 virtual void ProtoDeSerializeProperties(
const XML::Node& SelfRoot);
163 virtual String GetDerivedSerializableName()
const;
166 static String GetSerializableName();
174 Boole _IsDirty()
const;
177 virtual void _Clean() = 0;
180 virtual void _MarkDirty() = 0;
Basic class for all structures that get inserted into the rendering hierarchy.
bool Boole
Generally acts a single bit, true or false.
Boole Visible
Stores whether this Renderable is to be rendered (also dependent on parent visibility).
A light-weight handle for manipulating nodes in DOM tree.
String Name
The unique name of this Renderable.
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.
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.
RenderableType
A small enum to describe the type of renderable this is.
Screen * ParentScreen
A pointer to the Screen that created this Renderable.