OpenBarnyard
 
Loading...
Searching...
No Matches
AGUI2MenuGridTextItem.cpp
Go to the documentation of this file.
1#include "pch.h"
3
4//-----------------------------------------------------------------------------
5// Enables memory debugging.
6// Note: Should be the last include!
7//-----------------------------------------------------------------------------
9
11
13{
14 m_bScaleOnFocus = TTRUE;
15 m_bFocused = TFALSE;
16 m_fRectangle1Width = 0.0f;
17 m_fRectangle1Height = 0.0f;
18 m_bUseRectangle1 = TFALSE;
19 m_Unk1 = 0;
20 m_uiFocusedColour = 0xffffff80;
21 m_uiEnabledColour = 0xffffffff;
22 m_uiDisabledColour = 0xffc0c0c0;
23 m_fFocusedScale = 1.25f;
24 m_fScale = 1.0f;
25 m_pFont = TNULL;
26 m_fGap = 0.0f;
27 m_wszText = TNULL;
28}
29
31{
32 delete[] m_wszText;
33 m_oTextBox.RemoveSelf();
34 m_oRectangle2.RemoveSelf();
35}
36
37void AGUI2MenuGridTextItem::Create( AGUI2Font* a_pFont, TFLOAT a_fWidth, const TWCHAR* a_wszText, TFLOAT a_fGap )
38{
39 m_fWidth = a_fWidth;
40 m_fGap = a_fGap;
41 m_pFont = a_pFont;
42
43 m_oTextBox.Create( a_pFont, a_fWidth );
44 m_oTextBox.SetColour( m_uiEnabledColour );
45
46 // Delete previously allocated string
47 if ( m_wszText )
48 {
49 delete[] m_wszText;
50 m_wszText = TNULL;
51 }
52
53 // Copy string
54 if ( a_wszText )
55 m_wszText = T2String16::CreateCopy( a_wszText );
56
57 m_oTextBox.SetText( m_wszText );
58 AddChildTail( m_oTextBox );
59
60 m_oTextBox.SetTextAlign( AGUI2Font::TextAlign_Center );
61 AGUI2MenuGridItem::SetDimensions( m_oTextBox.GetWidth(), m_oTextBox.GetHeight() );
62}
63
65{
66 m_oTextBox.SetWidth( a_fWidth );
67 AGUI2MenuGridItem::SetDimensions( a_fWidth, a_fHeight );
68}
69
71{
72 m_oTextBox.SetAlpha( a_fAlpha );
73 m_oRectangle1.SetAlpha( a_fAlpha );
74 m_oRectangle2.SetAlpha( a_fAlpha );
75}
76
78{
79 m_oTextBox.SetShadowAlpha( a_fAlpha );
80}
81
83{
84 m_bFocused = TTRUE;
85
86 if ( m_bScaleOnFocus )
87 {
88 m_oTextBox.SetScale( m_fFocusedScale );
89 m_oTextBox.SetWidth( m_fWidth * m_fFocusedScale );
90 }
91
92 m_oTextBox.SetColour( m_uiFocusedColour );
93
94 if ( m_bUseRectangle1 )
95 {
96 TFLOAT fWidth, fHeight;
97 GetDimensions( fWidth, fHeight );
98
99 m_oRectangle1.SetDimensions( fWidth + m_fRectangle1Width, fHeight + m_fRectangle1Height );
100 LinkChildBefore( m_oRectangle1, m_oTextBox );
101 }
102}
103
105{
106 m_bFocused = TFALSE;
107
108 if ( m_bScaleOnFocus )
109 {
110 m_oTextBox.SetScale( m_fScale );
111 m_oTextBox.SetWidth( m_fWidth * m_fScale );
112 }
113
114 m_oTextBox.SetColour( m_uiEnabledColour );
115
116 if ( m_bUseRectangle1 )
117 m_oRectangle1.RemoveSelf();
118}
119
121{
122 AGUI2MenuGridItem::SetEnabled( a_bEnabled );
123 m_oTextBox.SetColour( IsEnabled() ? m_uiEnabledColour : m_uiDisabledColour );
124}
125
127{
128 TVALIDPTR( m_pFont );
129 return m_pFont->GetLinesMargin() + m_fGap;
130}
131
133{
134 TVALIDPTR( m_pFont );
135 return m_pFont->GetLinesMargin() + m_fGap;
136}
#define TOSHI_NAMESPACE_USING
Definition Defines.h:46
#define TVALIDPTR(PTR)
Definition Defines.h:139
wchar_t TWCHAR
Definition Typedefs.h:21
float TFLOAT
Definition Typedefs.h:4
#define TNULL
Definition Typedefs.h:23
#define TFALSE
Definition Typedefs.h:24
#define TTRUE
Definition Typedefs.h:25
bool TBOOL
Definition Typedefs.h:6
static TWCHAR * CreateCopy(const TWCHAR *a_wszString, TSIZE a_uiSize=-1)
void AddChildTail(AGUI2Element &a_rElement)
virtual void GetDimensions(TFLOAT &a_rWidth, TFLOAT &a_rHeight)
void LinkChildBefore(AGUI2Element &a_rNewChildren, AGUI2Element &a_rInsertAfter)
virtual void SetDimensions(TFLOAT a_fWidth, TFLOAT a_fHeight)
TBOOL Create(AGUI2FontDef *a_pFontDef)
Definition AGUI2Font.cpp:13
@ TextAlign_Center
Definition AGUI2Font.h:40
TBOOL IsEnabled() const
virtual void SetEnabled(TBOOL a_bEnabled)
virtual void SetDimensions(TFLOAT a_fWidth, TFLOAT a_fHeight) override
virtual void SetShadowAlpha(TFLOAT a_fAlpha) override
virtual void OnFocusLost() override
void Create(AGUI2Font *a_pFont, TFLOAT a_fWidth, const TWCHAR *a_wszText, TFLOAT a_fGap)
virtual void SetAlpha(TFLOAT a_fAlpha) override
virtual TFLOAT GetFlowVisualOffset() override
virtual void SetEnabled(TBOOL a_bEnabled)
virtual void OnFocus() override
virtual TFLOAT GetFlowOffset() override