Gered
c5cdddbeaa
current versions of all of my basic framework sources, build configurations/scripts, and supporting assets
85 lines
2.5 KiB
C++
85 lines
2.5 KiB
C++
/*
|
|
GWEN
|
|
Copyright (c) 2010 Facepunch Studios
|
|
See license in Gwen.h
|
|
*/
|
|
|
|
#pragma once
|
|
#ifndef GWEN_CONTROLS_LABEL_H
|
|
#define GWEN_CONTROLS_LABEL_H
|
|
|
|
#include "../gwen_baserender.h"
|
|
#include "gwen_base.h"
|
|
#include "gwen_text.h"
|
|
|
|
namespace Gwen
|
|
{
|
|
namespace Controls
|
|
{
|
|
class GWEN_EXPORT Label : public Controls::Base
|
|
{
|
|
public:
|
|
|
|
GWEN_CONTROL( Label, Controls::Base );
|
|
virtual void PreDelete( Gwen::Skin::Base* skin );
|
|
|
|
virtual void SetText( const TextObject& str, bool bDoEvents = true );
|
|
|
|
virtual const TextObject& GetText() const { return m_Text->GetText(); }
|
|
|
|
virtual void Render( Skin::Base* /*skin*/ ){}
|
|
|
|
virtual void PostLayout( Skin::Base* skin );
|
|
|
|
virtual void SizeToContents();
|
|
|
|
virtual void SetAlignment( int iAlign );
|
|
virtual int GetAlignment();
|
|
|
|
|
|
virtual void SetFont( Gwen::String strFacename, int iSize, bool bBold );
|
|
|
|
virtual void SetFont( Gwen::Font* pFont ){ m_Text->SetFont( pFont ); }
|
|
virtual Gwen::Font* GetFont(){ return m_Text->GetFont(); }
|
|
virtual void SetTextColor( const Gwen::Color& col ){ m_Text->SetTextColor( col ); }
|
|
virtual void SetTextColorOverride( const Gwen::Color& col ){ m_Text->SetTextColorOverride( col ); }
|
|
inline const Gwen::Color &TextColor() const { return m_Text->TextColor(); }
|
|
|
|
virtual int TextWidth() { return m_Text->Width(); }
|
|
virtual int TextRight() { return m_Text->Right(); }
|
|
virtual int TextHeight() { return m_Text->Height(); }
|
|
virtual int TextX() { return m_Text->X(); }
|
|
virtual int TextY() { return m_Text->Y(); }
|
|
virtual int TextLength() { return m_Text->Length(); }
|
|
|
|
Gwen::Rect GetCharacterPosition( int iChar );
|
|
|
|
virtual void SetTextPadding( const Padding& padding ){ m_Text->SetPadding( padding ); Invalidate(); InvalidateParent(); }
|
|
virtual const Padding& GetTextPadding(){ return m_Text->GetPadding(); }
|
|
|
|
inline int Alignment() const { return m_iAlign; }
|
|
|
|
virtual void MakeColorNormal(){ SetTextColor( GetSkin()->Colors.Label.Default ); }
|
|
virtual void MakeColorBright(){ SetTextColor( GetSkin()->Colors.Label.Bright ); }
|
|
virtual void MakeColorDark(){ SetTextColor( GetSkin()->Colors.Label.Dark ); }
|
|
virtual void MakeColorHighlight(){ SetTextColor( GetSkin()->Colors.Label.Highlight ); }
|
|
|
|
virtual bool Wrap(){ return m_Text->Wrap(); }
|
|
virtual void SetWrap( bool b ){ m_Text->SetWrap( b ); }
|
|
|
|
virtual void OnBoundsChanged( Gwen::Rect oldChildBounds );
|
|
|
|
protected:
|
|
|
|
virtual void OnTextChanged(){};
|
|
|
|
Gwen::Font* m_CreatedFont;
|
|
ControlsInternal::Text* m_Text;
|
|
int m_iAlign;
|
|
|
|
|
|
};
|
|
}
|
|
}
|
|
#endif
|