annotate LightClone/Source/GuiElement.h @ 25:eae13b04b06f

Working on Gui drag and drop
author koryspansel <koryspansel@bendbroadband.com>
date Fri, 16 Sep 2011 13:11:35 -0700
parents a785b0aaf004
children 3a63df04f3c0
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"
21
b4dc5d674e22 Added GUI event system and some support data structures
koryspansel
parents: 19
diff changeset
13 #include "GuiEventMap.h"
10
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 /*
25
eae13b04b06f Working on Gui drag and drop
koryspansel <koryspansel@bendbroadband.com>
parents: 23
diff changeset
16 * GuiInterface
eae13b04b06f Working on Gui drag and drop
koryspansel <koryspansel@bendbroadband.com>
parents: 23
diff changeset
17 */
eae13b04b06f Working on Gui drag and drop
koryspansel <koryspansel@bendbroadband.com>
parents: 23
diff changeset
18 class GuiInterface;
eae13b04b06f Working on Gui drag and drop
koryspansel <koryspansel@bendbroadband.com>
parents: 23
diff changeset
19
eae13b04b06f Working on Gui drag and drop
koryspansel <koryspansel@bendbroadband.com>
parents: 23
diff changeset
20 /*
10
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
21 * GuiElement
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
22 */
21
b4dc5d674e22 Added GUI event system and some support data structures
koryspansel
parents: 19
diff changeset
23 class GuiElement : private GuiEventMap
10
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
24 {
19
51718795f019 Adding event handling & drag and drop to GuiInterface
koryspansel
parents: 18
diff changeset
25 public:
51718795f019 Adding event handling & drag and drop to GuiInterface
koryspansel
parents: 18
diff changeset
26
51718795f019 Adding event handling & drag and drop to GuiInterface
koryspansel
parents: 18
diff changeset
27 /*
51718795f019 Adding event handling & drag and drop to GuiInterface
koryspansel
parents: 18
diff changeset
28 * List
51718795f019 Adding event handling & drag and drop to GuiInterface
koryspansel
parents: 18
diff changeset
29 */
51718795f019 Adding event handling & drag and drop to GuiInterface
koryspansel
parents: 18
diff changeset
30 typedef ArrayList<GuiElement*> List;
51718795f019 Adding event handling & drag and drop to GuiInterface
koryspansel
parents: 18
diff changeset
31
17
4951acfe92fc Reworking GUI system
koryspansel <koryspansel@bendbroadband.com>
parents: 11
diff changeset
32 protected:
4951acfe92fc Reworking GUI system
koryspansel <koryspansel@bendbroadband.com>
parents: 11
diff changeset
33
10
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
34 /*
25
eae13b04b06f Working on Gui drag and drop
koryspansel <koryspansel@bendbroadband.com>
parents: 23
diff changeset
35 * pInterface
eae13b04b06f Working on Gui drag and drop
koryspansel <koryspansel@bendbroadband.com>
parents: 23
diff changeset
36 */
eae13b04b06f Working on Gui drag and drop
koryspansel <koryspansel@bendbroadband.com>
parents: 23
diff changeset
37 GuiInterface* pInterface;
eae13b04b06f Working on Gui drag and drop
koryspansel <koryspansel@bendbroadband.com>
parents: 23
diff changeset
38
eae13b04b06f Working on Gui drag and drop
koryspansel <koryspansel@bendbroadband.com>
parents: 23
diff changeset
39 /*
10
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
40 * pContainer
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
41 */
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
42 GuiElement* pContainer;
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 /*
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
45 * kPosition
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
46 */
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
47 D3DXVECTOR2 kPosition;
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
48
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
49 /*
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
50 * kDimensions
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
51 */
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
52 D3DXVECTOR2 kDimensions;
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
53
19
51718795f019 Adding event handling & drag and drop to GuiInterface
koryspansel
parents: 18
diff changeset
54 /*
51718795f019 Adding event handling & drag and drop to GuiInterface
koryspansel
parents: 18
diff changeset
55 * kColor
51718795f019 Adding event handling & drag and drop to GuiInterface
koryspansel
parents: 18
diff changeset
56 */
51718795f019 Adding event handling & drag and drop to GuiInterface
koryspansel
parents: 18
diff changeset
57 D3DCOLOR kColor;
51718795f019 Adding event handling & drag and drop to GuiInterface
koryspansel
parents: 18
diff changeset
58
51718795f019 Adding event handling & drag and drop to GuiInterface
koryspansel
parents: 18
diff changeset
59 /*
23
a785b0aaf004 More work on the Gui system
koryspansel
parents: 21
diff changeset
60 * bVisible
a785b0aaf004 More work on the Gui system
koryspansel
parents: 21
diff changeset
61 */
a785b0aaf004 More work on the Gui system
koryspansel
parents: 21
diff changeset
62 bool bVisible;
a785b0aaf004 More work on the Gui system
koryspansel
parents: 21
diff changeset
63
a785b0aaf004 More work on the Gui system
koryspansel
parents: 21
diff changeset
64 /*
19
51718795f019 Adding event handling & drag and drop to GuiInterface
koryspansel
parents: 18
diff changeset
65 * kChildren
51718795f019 Adding event handling & drag and drop to GuiInterface
koryspansel
parents: 18
diff changeset
66 */
51718795f019 Adding event handling & drag and drop to GuiInterface
koryspansel
parents: 18
diff changeset
67 List kChildren;
51718795f019 Adding event handling & drag and drop to GuiInterface
koryspansel
parents: 18
diff changeset
68
10
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
69 public:
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 /*
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
72 * GuiElement
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 GuiElement();
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 /*
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
77 * ~GuiElement
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 virtual ~GuiElement();
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 /*
11
d80d06d5ff53 Begin working on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents: 10
diff changeset
82 * Initialize
d80d06d5ff53 Begin working on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents: 10
diff changeset
83 */
19
51718795f019 Adding event handling & drag and drop to GuiInterface
koryspansel
parents: 18
diff changeset
84 virtual ErrorCode Initialize(ResourceManager* pResourceManager);
11
d80d06d5ff53 Begin working on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents: 10
diff changeset
85
d80d06d5ff53 Begin working on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents: 10
diff changeset
86 /*
d80d06d5ff53 Begin working on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents: 10
diff changeset
87 * Terminate
d80d06d5ff53 Begin working on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents: 10
diff changeset
88 */
19
51718795f019 Adding event handling & drag and drop to GuiInterface
koryspansel
parents: 18
diff changeset
89 virtual void Terminate();
11
d80d06d5ff53 Begin working on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents: 10
diff changeset
90
d80d06d5ff53 Begin working on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents: 10
diff changeset
91 /*
d80d06d5ff53 Begin working on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents: 10
diff changeset
92 * Update
d80d06d5ff53 Begin working on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents: 10
diff changeset
93 */
19
51718795f019 Adding event handling & drag and drop to GuiInterface
koryspansel
parents: 18
diff changeset
94 virtual void Update(float fElapsed);
11
d80d06d5ff53 Begin working on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents: 10
diff changeset
95
d80d06d5ff53 Begin working on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents: 10
diff changeset
96 /*
d80d06d5ff53 Begin working on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents: 10
diff changeset
97 * Render
d80d06d5ff53 Begin working on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents: 10
diff changeset
98 */
19
51718795f019 Adding event handling & drag and drop to GuiInterface
koryspansel
parents: 18
diff changeset
99 virtual void Render(RenderContext& kContext, Camera& kCamera);
11
d80d06d5ff53 Begin working on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents: 10
diff changeset
100
d80d06d5ff53 Begin working on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents: 10
diff changeset
101 /*
25
eae13b04b06f Working on Gui drag and drop
koryspansel <koryspansel@bendbroadband.com>
parents: 23
diff changeset
102 * SetInterface
eae13b04b06f Working on Gui drag and drop
koryspansel <koryspansel@bendbroadband.com>
parents: 23
diff changeset
103 */
eae13b04b06f Working on Gui drag and drop
koryspansel <koryspansel@bendbroadband.com>
parents: 23
diff changeset
104 void SetInterface(GuiInterface* pInstance);
eae13b04b06f Working on Gui drag and drop
koryspansel <koryspansel@bendbroadband.com>
parents: 23
diff changeset
105
eae13b04b06f Working on Gui drag and drop
koryspansel <koryspansel@bendbroadband.com>
parents: 23
diff changeset
106 /*
eae13b04b06f Working on Gui drag and drop
koryspansel <koryspansel@bendbroadband.com>
parents: 23
diff changeset
107 * GetInterface
10
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
108 */
25
eae13b04b06f Working on Gui drag and drop
koryspansel <koryspansel@bendbroadband.com>
parents: 23
diff changeset
109 GuiInterface* GetInterface();
eae13b04b06f Working on Gui drag and drop
koryspansel <koryspansel@bendbroadband.com>
parents: 23
diff changeset
110
eae13b04b06f Working on Gui drag and drop
koryspansel <koryspansel@bendbroadband.com>
parents: 23
diff changeset
111 /*
eae13b04b06f Working on Gui drag and drop
koryspansel <koryspansel@bendbroadband.com>
parents: 23
diff changeset
112 * SetParent
eae13b04b06f Working on Gui drag and drop
koryspansel <koryspansel@bendbroadband.com>
parents: 23
diff changeset
113 */
eae13b04b06f Working on Gui drag and drop
koryspansel <koryspansel@bendbroadband.com>
parents: 23
diff changeset
114 void SetParent(GuiElement* pInstance);
10
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
115
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
116 /*
25
eae13b04b06f Working on Gui drag and drop
koryspansel <koryspansel@bendbroadband.com>
parents: 23
diff changeset
117 * GetParent
10
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
118 */
25
eae13b04b06f Working on Gui drag and drop
koryspansel <koryspansel@bendbroadband.com>
parents: 23
diff changeset
119 GuiElement* GetParent();
10
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
120
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
121 /*
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
122 * SetPosition
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
123 */
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
124 void SetPosition(float fX, float fY);
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
125
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
126 /*
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
127 * SetPosition
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
128 */
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
129 void SetPosition(const D3DXVECTOR2& kValue);
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
130
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
131 /*
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
132 * GetPosition
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
133 */
18
33cb6979ac51 More work on GUI system
koryspansel
parents: 17
diff changeset
134 const D3DXVECTOR2 GetPosition() const;
10
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
135
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
136 /*
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
137 * SetDimensions
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
138 */
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
139 void SetDimensions(float fWidth, float fHeight);
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
140
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
141 /*
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
142 * SetDimensions
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
143 */
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
144 void SetDimensions(const D3DXVECTOR2& kValue);
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
145
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
146 /*
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
147 * GetDimensions
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
148 */
18
33cb6979ac51 More work on GUI system
koryspansel
parents: 17
diff changeset
149 const D3DXVECTOR2 GetDimensions() const;
10
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
150
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
151 /*
23
a785b0aaf004 More work on the Gui system
koryspansel
parents: 21
diff changeset
152 * GetWidth
a785b0aaf004 More work on the Gui system
koryspansel
parents: 21
diff changeset
153 */
a785b0aaf004 More work on the Gui system
koryspansel
parents: 21
diff changeset
154 float GetWidth() const;
a785b0aaf004 More work on the Gui system
koryspansel
parents: 21
diff changeset
155
a785b0aaf004 More work on the Gui system
koryspansel
parents: 21
diff changeset
156 /*
a785b0aaf004 More work on the Gui system
koryspansel
parents: 21
diff changeset
157 * GetHeight
a785b0aaf004 More work on the Gui system
koryspansel
parents: 21
diff changeset
158 */
a785b0aaf004 More work on the Gui system
koryspansel
parents: 21
diff changeset
159 float GetHeight() const;
a785b0aaf004 More work on the Gui system
koryspansel
parents: 21
diff changeset
160
a785b0aaf004 More work on the Gui system
koryspansel
parents: 21
diff changeset
161 /*
a785b0aaf004 More work on the Gui system
koryspansel
parents: 21
diff changeset
162 * SetVisible
a785b0aaf004 More work on the Gui system
koryspansel
parents: 21
diff changeset
163 */
a785b0aaf004 More work on the Gui system
koryspansel
parents: 21
diff changeset
164 void SetVisible(bool bValue);
a785b0aaf004 More work on the Gui system
koryspansel
parents: 21
diff changeset
165
a785b0aaf004 More work on the Gui system
koryspansel
parents: 21
diff changeset
166 /*
a785b0aaf004 More work on the Gui system
koryspansel
parents: 21
diff changeset
167 * IsVisible
a785b0aaf004 More work on the Gui system
koryspansel
parents: 21
diff changeset
168 */
a785b0aaf004 More work on the Gui system
koryspansel
parents: 21
diff changeset
169 bool IsVisible() const;
a785b0aaf004 More work on the Gui system
koryspansel
parents: 21
diff changeset
170
a785b0aaf004 More work on the Gui system
koryspansel
parents: 21
diff changeset
171 /*
11
d80d06d5ff53 Begin working on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents: 10
diff changeset
172 * Pick
10
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
173 */
11
d80d06d5ff53 Begin working on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents: 10
diff changeset
174 virtual GuiElement* Pick(float fX, float fY);
19
51718795f019 Adding event handling & drag and drop to GuiInterface
koryspansel
parents: 18
diff changeset
175
51718795f019 Adding event handling & drag and drop to GuiInterface
koryspansel
parents: 18
diff changeset
176 /*
51718795f019 Adding event handling & drag and drop to GuiInterface
koryspansel
parents: 18
diff changeset
177 * Add
51718795f019 Adding event handling & drag and drop to GuiInterface
koryspansel
parents: 18
diff changeset
178 */
51718795f019 Adding event handling & drag and drop to GuiInterface
koryspansel
parents: 18
diff changeset
179 ErrorCode Add(GuiElement* pElement);
51718795f019 Adding event handling & drag and drop to GuiInterface
koryspansel
parents: 18
diff changeset
180
51718795f019 Adding event handling & drag and drop to GuiInterface
koryspansel
parents: 18
diff changeset
181 /*
51718795f019 Adding event handling & drag and drop to GuiInterface
koryspansel
parents: 18
diff changeset
182 * Remove
51718795f019 Adding event handling & drag and drop to GuiInterface
koryspansel
parents: 18
diff changeset
183 */
51718795f019 Adding event handling & drag and drop to GuiInterface
koryspansel
parents: 18
diff changeset
184 ErrorCode Remove(GuiElement* pElement);
51718795f019 Adding event handling & drag and drop to GuiInterface
koryspansel
parents: 18
diff changeset
185
51718795f019 Adding event handling & drag and drop to GuiInterface
koryspansel
parents: 18
diff changeset
186 /*
51718795f019 Adding event handling & drag and drop to GuiInterface
koryspansel
parents: 18
diff changeset
187 * OnMouseDown
51718795f019 Adding event handling & drag and drop to GuiInterface
koryspansel
parents: 18
diff changeset
188 */
51718795f019 Adding event handling & drag and drop to GuiInterface
koryspansel
parents: 18
diff changeset
189 virtual void OnMouseDown(uint32 nButton, float fX, float fY);
51718795f019 Adding event handling & drag and drop to GuiInterface
koryspansel
parents: 18
diff changeset
190
51718795f019 Adding event handling & drag and drop to GuiInterface
koryspansel
parents: 18
diff changeset
191 /*
51718795f019 Adding event handling & drag and drop to GuiInterface
koryspansel
parents: 18
diff changeset
192 * OnMouseUp
51718795f019 Adding event handling & drag and drop to GuiInterface
koryspansel
parents: 18
diff changeset
193 */
51718795f019 Adding event handling & drag and drop to GuiInterface
koryspansel
parents: 18
diff changeset
194 virtual void OnMouseUp(uint32 nButton, float fX, float fY);
51718795f019 Adding event handling & drag and drop to GuiInterface
koryspansel
parents: 18
diff changeset
195
51718795f019 Adding event handling & drag and drop to GuiInterface
koryspansel
parents: 18
diff changeset
196 /*
21
b4dc5d674e22 Added GUI event system and some support data structures
koryspansel
parents: 19
diff changeset
197 * OnMouseMove
b4dc5d674e22 Added GUI event system and some support data structures
koryspansel
parents: 19
diff changeset
198 */
b4dc5d674e22 Added GUI event system and some support data structures
koryspansel
parents: 19
diff changeset
199 virtual void OnMouseMove(float fX, float fY);
b4dc5d674e22 Added GUI event system and some support data structures
koryspansel
parents: 19
diff changeset
200
b4dc5d674e22 Added GUI event system and some support data structures
koryspansel
parents: 19
diff changeset
201 /*
19
51718795f019 Adding event handling & drag and drop to GuiInterface
koryspansel
parents: 18
diff changeset
202 * OnDrop
51718795f019 Adding event handling & drag and drop to GuiInterface
koryspansel
parents: 18
diff changeset
203 */
51718795f019 Adding event handling & drag and drop to GuiInterface
koryspansel
parents: 18
diff changeset
204 virtual void OnDrop(GuiElement* pSource, float fX, float fY);
21
b4dc5d674e22 Added GUI event system and some support data structures
koryspansel
parents: 19
diff changeset
205
b4dc5d674e22 Added GUI event system and some support data structures
koryspansel
parents: 19
diff changeset
206 /*
b4dc5d674e22 Added GUI event system and some support data structures
koryspansel
parents: 19
diff changeset
207 * Subscribe
b4dc5d674e22 Added GUI event system and some support data structures
koryspansel
parents: 19
diff changeset
208 */
b4dc5d674e22 Added GUI event system and some support data structures
koryspansel
parents: 19
diff changeset
209 using GuiEventMap::Subscribe;
b4dc5d674e22 Added GUI event system and some support data structures
koryspansel
parents: 19
diff changeset
210
b4dc5d674e22 Added GUI event system and some support data structures
koryspansel
parents: 19
diff changeset
211 /*
b4dc5d674e22 Added GUI event system and some support data structures
koryspansel
parents: 19
diff changeset
212 * Fire
b4dc5d674e22 Added GUI event system and some support data structures
koryspansel
parents: 19
diff changeset
213 */
b4dc5d674e22 Added GUI event system and some support data structures
koryspansel
parents: 19
diff changeset
214 using GuiEventMap::Fire;
10
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
215 };
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
216
292e534f00c2 Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
217 #endif //__GUIELEMENT_H__