00001 /************************************************************************ 00002 filename: CEGUIFalTextComponent.h 00003 created: Sun Jun 19 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 _CEGUIFalTextComponent_h_ 00025 #define _CEGUIFalTextComponent_h_ 00026 00027 #include "falagard/CEGUIFalComponentBase.h" 00028 00029 // Start of CEGUI namespace section 00030 namespace CEGUI 00031 { 00036 class CEGUIEXPORT TextComponent : public FalagardComponentBase 00037 { 00038 public: 00043 TextComponent(); 00044 00052 const String& getText() const; 00053 00067 void setText(const String& text); 00068 00076 const String& getFont() const; 00077 00091 void setFont(const String& font); 00092 00100 VerticalTextFormatting getVerticalFormatting() const; 00101 00112 void setVerticalFormatting(VerticalTextFormatting fmt); 00113 00121 HorizontalTextFormatting getHorizontalFormatting() const; 00122 00133 void setHorizontalFormatting(HorizontalTextFormatting fmt); 00134 00145 void writeXMLToStream(OutStream& out_stream) const; 00146 00147 protected: 00148 // implemets abstract from base 00149 void render_impl(Window& srcWindow, Rect& destRect, float base_z, const CEGUI::ColourRect* modColours, const Rect* clipper, bool clipToDisplay) const; 00150 00151 private: 00152 String d_text; 00153 String d_font; 00154 VerticalTextFormatting d_vertFormatting; 00155 HorizontalTextFormatting d_horzFormatting; 00156 }; 00157 00158 } // End of CEGUI namespace section 00159 00160 00161 #endif // end of guard _CEGUIFalTextComponent_h_