/* GWEN Copyright (c) 2010 Facepunch Studios See license in Gwen.h */ #pragma once #ifndef GWEN_CONTROLS_TEXT_H #define GWEN_CONTROLS_TEXT_H #include "Gwen/BaseRender.h" #include "Gwen/Controls/Base.h" namespace Gwen { namespace ControlsInternal { class GWEN_EXPORT Text : public Controls::Base { public: GWEN_CONTROL(Text, Controls::Base); virtual ~Text(); Gwen::Font* GetFont(); void SetString(const UnicodeString& str); void SetString(const String& str); void Render(Skin::Base* skin); void Layout(Skin::Base* skin); void RefreshSize(); void SetFont(Gwen::Font* pFont) { m_Font = pFont; } const UnicodeString& GetText() const { return m_String; } Gwen::Point GetCharacterPosition(int iChar); int GetClosestCharacter(Gwen::Point p); int Length() const { return (int)m_String.size(); } virtual void SetTextColor(const Gwen::Color& col) { m_Color = col; } virtual void OnScaleChanged(); inline const Gwen::Color& TextColor() const { return m_Color; } private: Gwen::UnicodeString m_String; Gwen::Font* m_Font; Gwen::Color m_Color; }; } // namespace ControlsInternal } // namespace Gwen #endif