OpenBarnyard
 
Loading...
Searching...
No Matches
AGUI2.h
Go to the documentation of this file.
1#pragma once
2#include "AGUI2Context.h"
3#include "AGUI2Element.h"
4#include "AGUI2Renderer.h"
5#include "AGUI2TextBox.h"
6#include "AGUI2MouseCursor.h"
8
9#include <Toshi/TTask.h>
10
11class AGUI2 : public Toshi::TTask
12 , public Toshi::TSingleton<AGUI2>
13{
14public:
15 TDECLARE_CLASS( AGUI2, Toshi::TTask );
16
17public:
18 AGUI2();
19
20 virtual TBOOL OnCreate() override;
21 virtual TBOOL OnUpdate( TFLOAT a_fDeltaTime ) override;
22
23 void GetDimensions( TFLOAT& a_rWidth, TFLOAT& a_rHeight );
24 void CreateContext();
25
26 TBOOL IsCursorVisible() const { return m_bShowMouseCursor; }
27 void SetCursorVisible( TBOOL a_bVisible ) { m_bShowMouseCursor = a_bVisible; }
28
29public:
30 static AGUI2MouseCursor& GetMouseCursor() { return GetSingletonSafe()->m_oMouseCursor; }
31 static AGUI2Element* GetRootElement() { return GetSingletonSafe()->m_pRootElement; }
32 static AGUI2Context* GetContext() { return ms_pCurrentContext; }
33 static AGUI2Renderer* GetRenderer();
34
35private:
36 static void MainPostRenderCallback();
37
38private:
39 inline static AGUI2Context* ms_pCurrentContext = TNULL;
40
41private:
42 AGUI2Element* m_pRootElement;
43 AGUI2MouseCursor m_oMouseCursor;
44 TBOOL m_bShowMouseCursor;
45 AGUI2TextBox m_oFPS;
46 AGUI2TextBox m_oMemStats;
47 AGUI2TextBox m_oPlayerInfo;
48 AGUI2TextBox m_oTexturesInfo;
49 TWCHAR m_wszMemStats[ 320 ];
50 TWCHAR m_wszFPS[ 64 ];
51 TWCHAR m_wszPlayerInfo[ 128 ];
52 TWCHAR m_wszTexturesInfo[ 64 ];
53 TBOOL m_bShowMemStatsInfo;
54 TBOOL m_bShowFPSInfo;
55 TBOOL m_bShowPlayerInfo;
56 TBOOL m_bShowTexturesInfo;
57};
#define TDECLARE_CLASS(THIS_CLASS, PARENT_CLASS)
Definition TObject.h:38
wchar_t TWCHAR
Definition Typedefs.h:21
float TFLOAT
Definition Typedefs.h:4
#define TNULL
Definition Typedefs.h:23
bool TBOOL
Definition Typedefs.h:6
static AGUI2Context * GetContext()
Definition AGUI2.h:32
static AGUI2Renderer * GetRenderer()
Definition AGUI2.cpp:239
AGUI2()
Definition AGUI2.cpp:25
virtual TBOOL OnUpdate(TFLOAT a_fDeltaTime) override
Definition AGUI2.cpp:98
virtual TBOOL OnCreate() override
Definition AGUI2.cpp:36
void GetDimensions(TFLOAT &a_rWidth, TFLOAT &a_rHeight)
Definition AGUI2.cpp:229
static AGUI2MouseCursor & GetMouseCursor()
Definition AGUI2.h:30
static AGUI2Element * GetRootElement()
Definition AGUI2.h:31
TBOOL IsCursorVisible() const
Definition AGUI2.h:26
void CreateContext()
Definition AGUI2.cpp:234
void SetCursorVisible(TBOOL a_bVisible)
Definition AGUI2.h:27