bullet3/btgui/Gwen/Controls/Text.h
2013-03-12 23:52:31 -07:00

60 lines
1.2 KiB
C++

/*
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;
};
}
}
#endif