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

CEGUIFalFrameComponent.h

Go to the documentation of this file.
00001 /************************************************************************
00002     filename:   CEGUIFalFrameComponent.h
00003     created:    Mon Jul 18 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 _CEGUIFalFrameComponent_h_
00025 #define _CEGUIFalFrameComponent_h_
00026 
00027 #include "falagard/CEGUIFalComponentBase.h"
00028 
00029 // Start of CEGUI namespace section
00030 namespace CEGUI
00031 {
00040     class CEGUIEXPORT FrameComponent : public FalagardComponentBase
00041     {
00042     public:
00047         FrameComponent();
00048 
00056         VerticalFormatting getBackgroundVerticalFormatting() const;
00057 
00068         void setBackgroundVerticalFormatting(VerticalFormatting fmt);
00069 
00077         HorizontalFormatting getBackgroundHorizontalFormatting() const;
00078 
00089         void setBackgroundHorizontalFormatting(HorizontalFormatting fmt);
00090 
00101         const Image* getImage(FrameImageComponent part) const;
00102 
00116         void setImage(FrameImageComponent part, const Image* image);
00117 
00134         void setImage(FrameImageComponent part, const String& imageset, const String& image);
00135 
00146         void writeXMLToStream(OutStream& out_stream) const;
00147 
00148     protected:
00149         // implemets abstract from base
00150         void render_impl(Window& srcWindow, Rect& destRect, float base_z, const CEGUI::ColourRect* modColours, const Rect* clipper, bool clipToDisplay) const;
00151 
00152         // renders the background image (basically a clone of render_impl from ImageryComponent - maybe we need a helper class?)
00153         void doBackgroundRender(Window& srcWindow, Rect& destRect, float base_z, const ColourRect& colours, const Rect* clipper, bool clipToDisplay) const;
00154 
00155         // formatting options for background
00156         VerticalFormatting   d_vertFormatting;  
00157         HorizontalFormatting d_horzFormatting;  
00158         // images for the frame
00159         const Image* d_frameImages[FIC_FRAME_IMAGE_COUNT];  
00160     };
00161 
00162 } // End of  CEGUI namespace section
00163 
00164 
00165 #endif  // end of guard _CEGUIFalFrameComponent_h_

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