annotate LightClone/Source/GuiElement.h @ 18:33cb6979ac51

More work on GUI system
author koryspansel
date Wed, 14 Sep 2011 17:24:49 -0700
parents 4951acfe92fc
children 51718795f019
rev   line source
10
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
1 /*
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
2 * GuiElement
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
3 */
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
4
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
5 #ifndef __GUIELEMENT_H__
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
6 #define __GUIELEMENT_H__
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
7
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
8 #include "Core.h"
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
9 #include "ResourceManager.h"
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
10 #include "RenderContext.h"
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
11 #include "Camera.h"
17
4951acfe92fc Reworking GUI system
koryspansel <koryspansel@bendbroadband.com>
parents: 11
diff changeset
12 #include "ArrayList.h"
10
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
13
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
14 /*
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
15 * GuiElement
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
16 */
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
17 class GuiElement
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
18 {
17
4951acfe92fc Reworking GUI system
koryspansel <koryspansel@bendbroadband.com>
parents: 11
diff changeset
19 protected:
4951acfe92fc Reworking GUI system
koryspansel <koryspansel@bendbroadband.com>
parents: 11
diff changeset
20
10
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
21 /*
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
22 * pContainer
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
23 */
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
24 GuiElement* pContainer;
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
25
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
26 /*
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
27 * kPosition
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
28 */
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
29 D3DXVECTOR2 kPosition;
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
30
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
31 /*
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
32 * kDimensions
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
33 */
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
34 D3DXVECTOR2 kDimensions;
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
35
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
36 public:
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
37
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
38 /*
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
39 * GuiElement
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
40 */
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
41 GuiElement();
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
42
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
43 /*
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
44 * ~GuiElement
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
45 */
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
46 virtual ~GuiElement();
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
47
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
48 /*
11
d80d06d5ff53 Begin working on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents: 10
diff changeset
49 * Initialize
d80d06d5ff53 Begin working on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents: 10
diff changeset
50 */
d80d06d5ff53 Begin working on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents: 10
diff changeset
51 virtual ErrorCode Initialize(ResourceManager* pResourceManager) = 0;
d80d06d5ff53 Begin working on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents: 10
diff changeset
52
d80d06d5ff53 Begin working on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents: 10
diff changeset
53 /*
d80d06d5ff53 Begin working on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents: 10
diff changeset
54 * Terminate
d80d06d5ff53 Begin working on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents: 10
diff changeset
55 */
d80d06d5ff53 Begin working on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents: 10
diff changeset
56 virtual void Terminate() = 0;
d80d06d5ff53 Begin working on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents: 10
diff changeset
57
d80d06d5ff53 Begin working on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents: 10
diff changeset
58 /*
d80d06d5ff53 Begin working on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents: 10
diff changeset
59 * Update
d80d06d5ff53 Begin working on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents: 10
diff changeset
60 */
d80d06d5ff53 Begin working on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents: 10
diff changeset
61 virtual void Update(float fElapsed) = 0;
d80d06d5ff53 Begin working on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents: 10
diff changeset
62
d80d06d5ff53 Begin working on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents: 10
diff changeset
63 /*
d80d06d5ff53 Begin working on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents: 10
diff changeset
64 * Render
d80d06d5ff53 Begin working on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents: 10
diff changeset
65 */
18
33cb6979ac51 More work on GUI system
koryspansel
parents: 17
diff changeset
66 virtual void Render(RenderContext& kContext, Camera& kCamera) = 0;
11
d80d06d5ff53 Begin working on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents: 10
diff changeset
67
d80d06d5ff53 Begin working on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents: 10
diff changeset
68 /*
10
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
69 * Attach
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
70 */
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
71 void Attach(GuiElement* pInstance);
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
72
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
73 /*
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
74 * Detach
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
75 */
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
76 GuiElement* Detach();
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
77
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
78 /*
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
79 * GetContainer
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
80 */
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
81 GuiElement* GetContainer();
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
82
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
83 /*
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
84 * SetPosition
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
85 */
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
86 void SetPosition(float fX, float fY);
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
87
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
88 /*
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
89 * SetPosition
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
90 */
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
91 void SetPosition(const D3DXVECTOR2& kValue);
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
92
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
93 /*
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
94 * GetPosition
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
95 */
18
33cb6979ac51 More work on GUI system
koryspansel
parents: 17
diff changeset
96 const D3DXVECTOR2 GetPosition() const;
10
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
97
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
98 /*
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
99 * SetDimensions
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
100 */
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
101 void SetDimensions(float fWidth, float fHeight);
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
102
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
103 /*
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
104 * SetDimensions
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
105 */
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
106 void SetDimensions(const D3DXVECTOR2& kValue);
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
107
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
108 /*
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
109 * GetDimensions
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
110 */
18
33cb6979ac51 More work on GUI system
koryspansel
parents: 17
diff changeset
111 const D3DXVECTOR2 GetDimensions() const;
10
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
112
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
113 /*
11
d80d06d5ff53 Begin working on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents: 10
diff changeset
114 * Pick
10
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
115 */
11
d80d06d5ff53 Begin working on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents: 10
diff changeset
116 virtual GuiElement* Pick(float fX, float fY);
10
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
117 };
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
118
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
119 /*
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
120 * GuiElementList
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
121 */
17
4951acfe92fc Reworking GUI system
koryspansel <koryspansel@bendbroadband.com>
parents: 11
diff changeset
122 typedef ArrayList<GuiElement*> GuiElementList;
4951acfe92fc Reworking GUI system
koryspansel <koryspansel@bendbroadband.com>
parents: 11
diff changeset
123
10
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
124 #endif //__GUIELEMENT_H__