00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef _CEGUIFalLayerSpecification_h_
00025 #define _CEGUIFalLayerSpecification_h_
00026
00027 #include "falagard/CEGUIFalSectionSpecification.h"
00028 #include "CEGUIWindow.h"
00029
00030 #if defined(_MSC_VER)
00031 # pragma warning(push)
00032 # pragma warning(disable : 4251)
00033 #endif
00034
00035
00036 namespace CEGUI
00037 {
00042 class CEGUIEXPORT LayerSpecification
00043 {
00044 public:
00053 LayerSpecification(uint priority);
00054
00068 void render(Window& srcWindow, float base_z, const ColourRect* modcols = 0, const Rect* clipper = 0, bool clipToDisplay = false) const;
00069
00086 void render(Window& srcWindow, const Rect& baseRect, float base_z, const ColourRect* modcols = 0, const Rect* clipper = 0, bool clipToDisplay = false) const;
00087
00100 void addSectionSpecification(const SectionSpecification& section);
00101
00109 void clearSectionSpecifications();
00110
00118 uint getLayerPriority() const;
00119
00120
00121 bool operator<(const LayerSpecification& other) const;
00122
00133 void writeXMLToStream(OutStream& out_stream) const;
00134
00135 private:
00136 typedef std::vector<SectionSpecification> SectionList;
00137
00138 SectionList d_sections;
00139 uint d_layerPriority;
00140 };
00141
00142 }
00143
00144
00145 #if defined(_MSC_VER)
00146 # pragma warning(pop)
00147 #endif
00148
00149 #endif // end of guard _CEGUIFalLayerSpecification_h_