OpenBarnyard
 
Loading...
Searching...
No Matches
AGUI2MenuGridTextItem Class Reference

#include <AGUI2MenuGridTextItem.h>

Inheritance diagram for AGUI2MenuGridTextItem:
AGUI2MenuGridItem AGUI2Element AGUI2ElementNode

Public Member Functions

 AGUI2MenuGridTextItem ()
 
 ~AGUI2MenuGridTextItem ()
 
void Create (AGUI2Font *a_pFont, TFLOAT a_fWidth, const TWCHAR *a_wszText, TFLOAT a_fGap)
 
void SetId (TINT a_iID)
 
TINT GetId () const
 
void SetScaleOnFocus (TBOOL a_bScaleOnFocus)
 
void SetFocusedScale (TFLOAT a_fScale)
 
void SetFocusedColour (TUINT a_uiColour)
 
void SetEnabledColour (TUINT a_uiColour)
 
void SetDisabledColour (TUINT a_uiColour)
 
void SetTextShadow (TBOOL a_bEnabled, TUINT32 a_uiColour, TFLOAT a_fAlpha)
 
void SetTextShadowOffset (TFLOAT a_fOffset)
 
void SetTextShadowOffset (TFLOAT a_fOffsetX, TFLOAT a_fOffsetY)
 
AGUI2TextBoxGetTextBox ()
 
virtual void SetDimensions (TFLOAT a_fWidth, TFLOAT a_fHeight) override
 
virtual void SetAlpha (TFLOAT a_fAlpha) override
 
virtual void SetShadowAlpha (TFLOAT a_fAlpha) override
 
virtual void OnFocus () override
 
virtual void OnFocusLost () override
 
virtual void SetEnabled (TBOOL a_bEnabled)
 
virtual TFLOAT GetFlowVisualOffset () override
 
virtual TFLOAT GetFlowOffset () override
 
- Public Member Functions inherited from AGUI2MenuGridItem
 AGUI2MenuGridItem ()
 
 ~AGUI2MenuGridItem ()
 
void LinkMenuItemBefore (AGUI2MenuGridItem &a_rLinkAfter)
 
void SetSideElements (AGUI2MenuGridItem *a_pLeft, AGUI2MenuGridItem *a_pRight, AGUI2MenuGridItem *a_pTop, AGUI2MenuGridItem *a_pBottom)
 
TBOOL IsEnabled () const
 
TBOOL CanFocus () const
 
AGUI2MenuGridItemGetNextMenuItem () const
 
AGUI2MenuGridItemGetPrevMenuItem () const
 
virtual void OnUpdate (TFLOAT a_fDeltaTime)
 
virtual COMMANDRESULT OnInputCommand (AGUI2MenuGrid::ACTIONFLAGS &a_rActionFlags)
 
- Public Member Functions inherited from AGUI2Element
 AGUI2Element ()
 
virtual ~AGUI2Element ()=default
 
virtual void Tick (TFLOAT a_fDeltaTime)
 
virtual void PreRender ()
 
virtual void Render ()
 
virtual void PostRender ()
 
virtual void GetDimensions (TFLOAT &a_rWidth, TFLOAT &a_rHeight)
 
virtual TFLOAT GetWidth ()
 
virtual TFLOAT GetHeight ()
 
virtual void SetWidth (TFLOAT a_fWidth)
 
virtual void SetHeight (TFLOAT a_fHeight)
 
virtual void GetMins (TFLOAT &a_fX, TFLOAT &a_fY)
 
virtual void GetMaxs (TFLOAT &a_fX, TFLOAT &a_fY)
 
virtual void SetColour (TUINT32 a_uiColour)
 
virtual void SetFocus (TBOOL a_bFocused)
 
virtual TBOOL IsPointInside (TFLOAT a_fX, TFLOAT a_fY)
 
void AnchorPos (TFLOAT &a_rX, TFLOAT &a_rY, TFLOAT a_fWidth, TFLOAT a_fHeight)
 
void PivotPos (TFLOAT &a_rX, TFLOAT &a_rY, TFLOAT a_fWidth, TFLOAT a_fHeight)
 
void GetScreenTransform (AGUI2Transform &a_rOutTransform)
 
void GetInvScreenTransform (AGUI2Transform &a_rOutTransform)
 
void Show ()
 
void Hide ()
 
void SetInFront ()
 
void SetRenderBeforeChildren ()
 
TBOOL HasFlags (TUINT32 a_uiFlags) const
 
TBOOL IsVisible () const
 
TBOOL IsFocused () const
 
TBOOL ShouldRenderBeforeChildren ()
 
TBOOL IsInFront () const
 
TFLOAT GetAlpha () const
 
void AddChildTail (AGUI2Element &a_rElement)
 
void AddChildHead (AGUI2Element &a_rElement)
 
void SetTranslation (TFLOAT a_fX, TFLOAT a_fY)
 
void SetTranslation (const Toshi::TVector2 &a_rTranslation)
 
void SetTransform (TFLOAT a_fX, TFLOAT a_fY, float a_fRotAngle=0.0f)
 
void SetAnchor (AGUI2ATTACHMENT a_eAnchor)
 
void SetPivot (AGUI2ATTACHMENT a_ePivot)
 
void SetAttachment (AGUI2ATTACHMENT a_eAnchor, AGUI2ATTACHMENT a_ePivot)
 
t_PostRender SetPostRenderCallback (t_PostRender a_cbNewCallback)
 
AGUI2TransformGetTransform ()
 
AGUI2ElementChildBegin () const
 
AGUI2ElementChildRBegin () const
 
AGUI2ElementGetNextChild (AGUI2Element *a_pCurrentChild)
 
AGUI2ElementGetPrevChild (AGUI2Element *a_pCurrentChild)
 
void RemoveSelf ()
 
void LinkChildBefore (AGUI2Element &a_rNewChildren, AGUI2Element &a_rInsertAfter)
 
- Public Member Functions inherited from AGUI2ElementNode
 AGUI2ElementNode ()
 
virtual ~AGUI2ElementNode ()
 
void Unlink ()
 
void LinkAfter (AGUI2ElementNode &a_rNode)
 
void LinkBefore (AGUI2ElementNode &a_rNode)
 
TBOOL IsLinked () const
 
AGUI2ElementNodeGetNext () const
 
AGUI2ElementNodeGetPrev () const
 

Additional Inherited Members

- Public Types inherited from AGUI2MenuGridItem
enum  COMMANDRESULT { COMMANDRESULT_NONE , COMMANDRESULT_OK , COMMANDRESULT_CANCEL }
 
- Public Types inherited from AGUI2Element
using t_PostRender = void ( * )()
 
- Public Attributes inherited from AGUI2ElementNode
friend AGUI2Element
 
- Static Public Attributes inherited from AGUI2Element
static TUINT32 s_uiVisibilityMask = 0xFFFFFFFF
 
- Protected Attributes inherited from AGUI2Element
AGUI2Elementm_pParent
 
AGUI2Transform m_oTransform
 
AGUI2ElementNode m_Children
 
AGUI2ATTACHMENT m_eAnchor
 
AGUI2ATTACHMENT m_ePivot
 
TFLOAT m_fWidth
 
TFLOAT m_fHeight
 
TUINT32 m_uiColour
 
TUINT32 m_eFlags
 
t_PostRender m_cbPostRender
 
TUINT32 m_uiVisibilityMask
 
- Protected Attributes inherited from AGUI2ElementNode
AGUI2ElementNodem_pNext
 
AGUI2ElementNodem_pPrev
 

Detailed Description

Definition at line 6 of file AGUI2MenuGridTextItem.h.

Constructor & Destructor Documentation

◆ AGUI2MenuGridTextItem()

AGUI2MenuGridTextItem::AGUI2MenuGridTextItem ( )

Definition at line 12 of file AGUI2MenuGridTextItem.cpp.

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}
#define TNULL
Definition Typedefs.h:23
#define TFALSE
Definition Typedefs.h:24
#define TTRUE
Definition Typedefs.h:25

◆ ~AGUI2MenuGridTextItem()

AGUI2MenuGridTextItem::~AGUI2MenuGridTextItem ( )

Definition at line 30 of file AGUI2MenuGridTextItem.cpp.

31{
32 delete[] m_wszText;
33 m_oTextBox.RemoveSelf();
34 m_oRectangle2.RemoveSelf();
35}

Member Function Documentation

◆ Create()

void AGUI2MenuGridTextItem::Create ( AGUI2Font * a_pFont,
TFLOAT a_fWidth,
const TWCHAR * a_wszText,
TFLOAT a_fGap )

Definition at line 37 of file AGUI2MenuGridTextItem.cpp.

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}
static TWCHAR * CreateCopy(const TWCHAR *a_wszString, TSIZE a_uiSize=-1)
void AddChildTail(AGUI2Element &a_rElement)
virtual void SetDimensions(TFLOAT a_fWidth, TFLOAT a_fHeight)
TBOOL Create(AGUI2FontDef *a_pFontDef)
Definition AGUI2Font.cpp:13
@ TextAlign_Center
Definition AGUI2Font.h:40

◆ GetFlowOffset()

TFLOAT AGUI2MenuGridTextItem::GetFlowOffset ( )
overridevirtual

Reimplemented from AGUI2MenuGridItem.

Definition at line 132 of file AGUI2MenuGridTextItem.cpp.

133{
134 TVALIDPTR( m_pFont );
135 return m_pFont->GetLinesMargin() + m_fGap;
136}
#define TVALIDPTR(PTR)
Definition Defines.h:139

◆ GetFlowVisualOffset()

TFLOAT AGUI2MenuGridTextItem::GetFlowVisualOffset ( )
overridevirtual

Reimplemented from AGUI2MenuGridItem.

Definition at line 126 of file AGUI2MenuGridTextItem.cpp.

127{
128 TVALIDPTR( m_pFont );
129 return m_pFont->GetLinesMargin() + m_fGap;
130}

◆ GetId()

TINT AGUI2MenuGridTextItem::GetId ( ) const
inline

Definition at line 15 of file AGUI2MenuGridTextItem.h.

15{ return m_iID; }

◆ GetTextBox()

AGUI2TextBox & AGUI2MenuGridTextItem::GetTextBox ( )
inline

Definition at line 32 of file AGUI2MenuGridTextItem.h.

32{ return m_oTextBox; }

◆ OnFocus()

void AGUI2MenuGridTextItem::OnFocus ( )
overridevirtual

Reimplemented from AGUI2MenuGridItem.

Definition at line 82 of file AGUI2MenuGridTextItem.cpp.

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}
float TFLOAT
Definition Typedefs.h:4
virtual void GetDimensions(TFLOAT &a_rWidth, TFLOAT &a_rHeight)
void LinkChildBefore(AGUI2Element &a_rNewChildren, AGUI2Element &a_rInsertAfter)

◆ OnFocusLost()

void AGUI2MenuGridTextItem::OnFocusLost ( )
overridevirtual

Reimplemented from AGUI2MenuGridItem.

Definition at line 104 of file AGUI2MenuGridTextItem.cpp.

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}

◆ SetAlpha()

void AGUI2MenuGridTextItem::SetAlpha ( TFLOAT a_fAlpha)
overridevirtual

Reimplemented from AGUI2Element.

Definition at line 70 of file AGUI2MenuGridTextItem.cpp.

71{
72 m_oTextBox.SetAlpha( a_fAlpha );
73 m_oRectangle1.SetAlpha( a_fAlpha );
74 m_oRectangle2.SetAlpha( a_fAlpha );
75}

◆ SetDimensions()

void AGUI2MenuGridTextItem::SetDimensions ( TFLOAT a_fWidth,
TFLOAT a_fHeight )
overridevirtual

Reimplemented from AGUI2Element.

Definition at line 64 of file AGUI2MenuGridTextItem.cpp.

65{
66 m_oTextBox.SetWidth( a_fWidth );
67 AGUI2MenuGridItem::SetDimensions( a_fWidth, a_fHeight );
68}

◆ SetDisabledColour()

void AGUI2MenuGridTextItem::SetDisabledColour ( TUINT a_uiColour)
inline

Definition at line 21 of file AGUI2MenuGridTextItem.h.

21{ m_uiDisabledColour = a_uiColour; }

◆ SetEnabled()

void AGUI2MenuGridTextItem::SetEnabled ( TBOOL a_bEnabled)
virtual

Reimplemented from AGUI2MenuGridItem.

Definition at line 120 of file AGUI2MenuGridTextItem.cpp.

121{
122 AGUI2MenuGridItem::SetEnabled( a_bEnabled );
123 m_oTextBox.SetColour( IsEnabled() ? m_uiEnabledColour : m_uiDisabledColour );
124}
TBOOL IsEnabled() const
virtual void SetEnabled(TBOOL a_bEnabled)

◆ SetEnabledColour()

void AGUI2MenuGridTextItem::SetEnabledColour ( TUINT a_uiColour)
inline

Definition at line 20 of file AGUI2MenuGridTextItem.h.

20{ m_uiEnabledColour = a_uiColour; }

◆ SetFocusedColour()

void AGUI2MenuGridTextItem::SetFocusedColour ( TUINT a_uiColour)
inline

Definition at line 19 of file AGUI2MenuGridTextItem.h.

19{ m_uiFocusedColour = a_uiColour; }

◆ SetFocusedScale()

void AGUI2MenuGridTextItem::SetFocusedScale ( TFLOAT a_fScale)
inline

Definition at line 18 of file AGUI2MenuGridTextItem.h.

18{ m_fFocusedScale = a_fScale; }

◆ SetId()

void AGUI2MenuGridTextItem::SetId ( TINT a_iID)
inline

Definition at line 14 of file AGUI2MenuGridTextItem.h.

14{ m_iID = a_iID; }

◆ SetScaleOnFocus()

void AGUI2MenuGridTextItem::SetScaleOnFocus ( TBOOL a_bScaleOnFocus)
inline

Definition at line 17 of file AGUI2MenuGridTextItem.h.

17{ m_bScaleOnFocus = a_bScaleOnFocus; }

◆ SetShadowAlpha()

void AGUI2MenuGridTextItem::SetShadowAlpha ( TFLOAT a_fAlpha)
overridevirtual

Reimplemented from AGUI2Element.

Definition at line 77 of file AGUI2MenuGridTextItem.cpp.

78{
79 m_oTextBox.SetShadowAlpha( a_fAlpha );
80}

◆ SetTextShadow()

void AGUI2MenuGridTextItem::SetTextShadow ( TBOOL a_bEnabled,
TUINT32 a_uiColour,
TFLOAT a_fAlpha )
inline

Definition at line 23 of file AGUI2MenuGridTextItem.h.

24 {
25 m_oTextBox.SetShadow( a_bEnabled, a_uiColour );
26 m_oTextBox.SetShadowAlpha( a_fAlpha );
27 }

◆ SetTextShadowOffset() [1/2]

void AGUI2MenuGridTextItem::SetTextShadowOffset ( TFLOAT a_fOffset)
inline

Definition at line 29 of file AGUI2MenuGridTextItem.h.

29{ m_oTextBox.SetShadowOffset( a_fOffset, a_fOffset ); }

◆ SetTextShadowOffset() [2/2]

void AGUI2MenuGridTextItem::SetTextShadowOffset ( TFLOAT a_fOffsetX,
TFLOAT a_fOffsetY )
inline

Definition at line 30 of file AGUI2MenuGridTextItem.h.

30{ m_oTextBox.SetShadowOffset( a_fOffsetX, a_fOffsetY ); }

The documentation for this class was generated from the following files: