Subversion Repositories spk

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
11 cycrow 1
#ifndef __DISPLAYTEXT_H__
2
#define __DISPLAYTEXT_H__
3
 
4
#include "Display.h"
5
#include "RenderText.h"
6
 
7
class CDisplayText : public CDisplay
8
{
9
public:
10
	CDisplayText ( COverlay *overlay, MyDirect3DDevice9 *device, CyString name, CyString text ) : CDisplay ( overlay, device, name )
11
	{
12
		m_pText = new CRenderText ( 20 );
13
		m_pText->InitFont ( device, TEXT("Ariel"), 20 );
14
		m_pText->SetPosition ( 1, 1 );
15
		m_bNoBorder = true;
16
		AddObject ( m_pText );
17
		SetText(text);
18
	}
19
 
20
	virtual void SetSize ( int width, int height, int maxwidth, int maxheight )
21
	{
22
		CDisplay::SetSize ( width, height, maxwidth, maxheight );
23
		m_pText->SetSize ( m_iSizeX, m_iSizeY );
24
	}
25
 
26
	virtual void SetSize(int width, int height)
27
	{
28
		CDisplay::SetSize(width, height);
29
		m_pText->SetSize(m_iSizeX, m_iSizeY);
30
	}
31
 
32
	void SetText(const CyString &text)
33
	{
34
		m_pText->SetText(text);
35
	}
36
 
37
	void SetPosition(int x, int y)
38
	{
39
		if ( x == 0 )
40
		{
41
			x = (m_iMaxWidth / 2) - (m_iSizeX / 2);
42
			m_pText->SetAlignment(DT_CENTER | DT_WORDBREAK);
43
		}
44
		else if ( x < 0 )
45
		{
46
			m_pText->SetAlignment(DT_RIGHT);
47
			x = (m_iMaxWidth + x) - m_iSizeX;
48
		}
49
 
50
		if ( y == 0 )
51
			y = (m_iMaxHeight / 2) - 10;
52
		else if ( y < 0 )
53
			y = m_iMaxHeight - 20;
54
		m_pText->SetPosition(x, y);
55
	}
56
 
57
protected:
58
	CRenderText *m_pText;
59
};
60
 
61
#endif //__DISPLAYMESSAGE_H__