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

CEGUIFalSectionSpecification.h

Go to the documentation of this file.
00001 /************************************************************************
00002     filename:   CEGUIFalSectionSpecification.h
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 #ifndef _CEGUIFalSectionSpecification_h_
00025 #define _CEGUIFalSectionSpecification_h_
00026 
00027 #include "CEGUIWindow.h"
00028 
00029 
00030 // Start of CEGUI namespace section
00031 namespace CEGUI
00032 {
00033     // forward refs
00034     class WidgetLookFeel;
00035 
00043     class CEGUIEXPORT SectionSpecification
00044     {
00045     public:
00056         SectionSpecification(const String& owner, const String& sectionName);
00057 
00071         SectionSpecification(const String& owner, const String& sectionName, const ColourRect& cols);
00072 
00086         void render(Window& srcWindow, float base_z, const ColourRect* modcols = 0, const Rect* clipper = 0, bool clipToDisplay = false) const;
00087 
00104         void render(Window& srcWindow, const Rect& baseRect, float base_z, const ColourRect* modcols = 0, const Rect* clipper = 0, bool clipToDisplay = false) const;
00105 
00113         const String& getOwnerWidgetLookFeel() const;
00114 
00122         const String& getSectionName() const;
00123 
00132         const ColourRect& getOverrideColours() const;
00133 
00144         void setOverrideColours(const ColourRect& cols);
00145 
00154         bool isUsingOverrideColours() const;
00155 
00167         void setUsingOverrideColours(bool setting = true);
00168 
00179         void setOverrideColoursPropertySource(const String& property);
00180 
00192         void setOverrideColoursPropertyIsColourRect(bool setting = true);
00193 
00204         void writeXMLToStream(OutStream& out_stream) const;
00205 
00206     protected:
00217         void initColourRectForOverride(const Window& wnd, ColourRect& cr) const;
00218 
00219     private:
00220         String          d_owner;                
00221         String          d_sectionName;          
00222         ColourRect      d_coloursOverride;      
00223         bool            d_usingColourOverride;  
00224         String          d_colourPropertyName;   
00225         bool            d_colourProperyIsRect;  
00226     };
00227 
00228 
00229 } // End of  CEGUI namespace section
00230 
00231 
00232 #endif  // end of guard _CEGUIFalSectionSpecification_h_

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