Mercurial > LightClone
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 | 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 | 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 | 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__ |