92 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			C++
		
	
	
	
		
		
			
		
	
	
			92 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			C++
		
	
	
	
|  | #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())); | |||
|  | } |