Magic_Game/Easy2D/v1/Node/Text.cpp

92 lines
1.7 KiB
C++
Raw Normal View History

2017-10-13 11:45:20 +08:00
#include "..\easy2d.h"
#include "..\EasyX\easyx.h"
Text::Text() :
m_sText(_T("")),
m_color(Color::white),
m_pFontStyle(FontStyle::getDefault())
{
m_pFontStyle->retain(); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ü<EFBFBD><C3BC><EFBFBD><EFBFBD><EFBFBD>һ
}
Text::Text(TString text, COLORREF color, FontStyle * font) :
m_color(color),
m_pFontStyle(font)
{
setText(text);
m_pFontStyle->retain(); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ü<EFBFBD><C3BC><EFBFBD><EFBFBD><EFBFBD>һ
}
Text::Text(int x, int y, TString text, COLORREF color, FontStyle * font) :
m_color(color),
m_pFontStyle(font)
{
setText(text);
setPos(x, y);
m_pFontStyle->retain(); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ü<EFBFBD><C3BC><EFBFBD><EFBFBD><EFBFBD>һ
}
Text::~Text()
{
SafeRelease(m_pFontStyle); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ü<EFBFBD><C3BC><EFBFBD><EFBFBD><EFBFBD>һ
}
void Text::_onDraw()
{
// <20><> display <20><><EFBFBD><EFBFBD>Ϊ false<73><65><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD>
if (!m_bDisplay)
{
return;
}
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
settextstyle(&m_pFontStyle->m_font);
// <20><><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><C4B1><EFBFBD>ɫ
settextcolor(m_color);
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
outtextxy(getX(), getY(), m_sText.c_str());
}
COLORREF Text::getColor() const
{
return m_color;
}
TString Text::getText() const
{
return m_sText;
}
FontStyle * Text::getFontStyle()
{
return m_pFontStyle;
}
bool Text::isEmpty() const
{
return m_sText.empty(); // <20>ı<EFBFBD><C4B1>Ƿ<EFBFBD>Ϊ<EFBFBD><CEAA>
}
void Text::setText(TString text)
{
m_sText = text;
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>壬Ȼ<E5A3AC><C8BB><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD>ı<EFBFBD><C4B1>ڸ<EFBFBD><DAB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>µĿ<C2B5><C4BF>Ⱥ͸߶<CDB8>
settextstyle(&m_pFontStyle->m_font);
setSize(textwidth(getText().c_str()), textheight(getText().c_str()));
}
void Text::setColor(COLORREF color)
{
m_color = color;
}
void Text::setFontStyle(FontStyle * style)
{
SafeRelease(m_pFontStyle); // ԭ<><D4AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ü<EFBFBD><C3BC><EFBFBD><EFBFBD><EFBFBD>һ
m_pFontStyle = style; // <20>޸<EFBFBD><DEB8><EFBFBD><EFBFBD><EFBFBD>
m_pFontStyle->retain(); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ü<EFBFBD><C3BC><EFBFBD><EFBFBD><EFBFBD>һ
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>壬Ȼ<E5A3AC><C8BB><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD>ı<EFBFBD><C4B1>ڸ<EFBFBD><DAB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>µĿ<C2B5><C4BF>Ⱥ͸߶<CDB8>
settextstyle(&m_pFontStyle->m_font);
setSize(textwidth(getText().c_str()), textheight(getText().c_str()));
}