Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

CEGUIFalLayerSpecification.cpp

Go to the documentation of this file.
00001 /************************************************************************
00002     filename:   CEGUIFalLayerSpecification.cpp
00003     created:    Mon Jun 13 2005
00004     author:     Paul D Turner <paul@cegui.org.uk>
00005 *************************************************************************/
00006 /*************************************************************************
00007     Crazy Eddie's GUI System (http://www.cegui.org.uk)
00008     Copyright (C)2004 - 2005 Paul D Turner (paul@cegui.org.uk)
00009  
00010     This library is free software; you can redistribute it and/or
00011     modify it under the terms of the GNU Lesser General Public
00012     License as published by the Free Software Foundation; either
00013     version 2.1 of the License, or (at your option) any later version.
00014  
00015     This library is distributed in the hope that it will be useful,
00016     but WITHOUT ANY WARRANTY; without even the implied warranty of
00017     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00018     Lesser General Public License for more details.
00019  
00020     You should have received a copy of the GNU Lesser General Public
00021     License along with this library; if not, write to the Free Software
00022     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
00023 *************************************************************************/
00024 #include "falagard/CEGUIFalLayerSpecification.h"
00025 #include <iostream>
00026 
00027 // Start of CEGUI namespace section
00028 namespace CEGUI
00029 {
00030     LayerSpecification::LayerSpecification(uint priority) :
00031         d_layerPriority(priority)
00032     {}
00033 
00034     void LayerSpecification::render(Window& srcWindow, float base_z, const ColourRect* modcols, const Rect* clipper, bool clipToDisplay) const
00035     {
00036         // render all sections in this layer
00037         for(SectionList::const_iterator curr = d_sections.begin(); curr != d_sections.end(); ++curr)
00038         {
00039             (*curr).render(srcWindow, base_z, modcols, clipper, clipToDisplay);
00040         }
00041     }
00042 
00043     void LayerSpecification::render(Window& srcWindow, const Rect& baseRect, float base_z, const ColourRect* modcols, const Rect* clipper, bool clipToDisplay) const
00044     {
00045         // render all sections in this layer
00046         for(SectionList::const_iterator curr = d_sections.begin(); curr != d_sections.end(); ++curr)
00047         {
00048             (*curr).render(srcWindow, baseRect, base_z, modcols, clipper, clipToDisplay);
00049         }
00050     }
00051 
00052     void LayerSpecification::addSectionSpecification(const SectionSpecification& section)
00053     {
00054         d_sections.push_back(section);
00055     }
00056 
00057     void LayerSpecification::clearSectionSpecifications()
00058     {
00059         d_sections.clear();
00060     }
00061 
00062     uint LayerSpecification::getLayerPriority() const
00063     {
00064         return d_layerPriority;
00065     }
00066 
00067     bool LayerSpecification::operator<(const LayerSpecification& other) const
00068     {
00069         return d_layerPriority < other.d_layerPriority;
00070     }
00071 
00072     void LayerSpecification::writeXMLToStream(OutStream& out_stream) const
00073     {
00074         out_stream << "<Layer";
00075 
00076         if (d_layerPriority != 0)
00077             out_stream << " priority=\"" << d_layerPriority << "\"";
00078 
00079         out_stream << ">" << std::endl;
00080 
00081         // ouput all sections in this layer
00082         for(SectionList::const_iterator curr = d_sections.begin(); curr != d_sections.end(); ++curr)
00083         {
00084             (*curr).writeXMLToStream(out_stream);
00085         }
00086 
00087         out_stream << "</Layer>" << std::endl;
00088     }
00089 
00090 } // End of  CEGUI namespace section

Generated on Wed Sep 7 09:56:31 2005 for Crazy Eddies GUI System by  doxygen 1.4.3