# CEGUIFalImageryComponent.h

    00001 /************************************************************************
    00002     filename:   CEGUIFalImageryComponent.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 _CEGUIFalImageryComponent_h_
    00025 #define _CEGUIFalImageryComponent_h_
    00026
    00027 #include "falagard/CEGUIFalComponentBase.h"
    00028
    00029 // Start of CEGUI namespace section
    00030 namespace CEGUI
    00031 {
    00036     class CEGUIEXPORT ImageryComponent : public FalagardComponentBase
    00037     {
    00038     public:
    00043         ImageryComponent();
    00044
    00052         const Image* getImage() const;
    00053
    00064         void setImage(const Image* image);
    00065
    00079         void setImage(const String& imageset, const String& image);
    00080
    00088         VerticalFormatting getVerticalFormatting() const;
    00089
    00100         void setVerticalFormatting(VerticalFormatting fmt);
    00101
    00109         HorizontalFormatting getHorizontalFormatting() const;
    00110
    00121         void setHorizontalFormatting(HorizontalFormatting fmt);
    00122
    00133         void writeXMLToStream(OutStream& out_stream) const;
    00134
    00143         bool isImageFetchedFromProperty() const;
    00144
    00152         const String& getImagePropertySource() const;
    00153
    00164         void setImagePropertySource(const String& property);
    00165
    00166     protected:
    00167         // implemets abstract from base
    00168         void render_impl(Window& srcWindow, Rect& destRect, float base_z, const CEGUI::ColourRect* modColours, const Rect* clipper, bool clipToDisplay) const;
    00169
    00170         const Image*         d_image;
    00171         VerticalFormatting   d_vertFormatting;
    00172         HorizontalFormatting d_horzFormatting;
    00173         String  d_imagePropertyName;
    00174     };
    00175
    00176 } // End of  CEGUI namespace section
    00177
    00178
    00179 #endif  // end of guard _CEGUIFalImageryComponent_h_