Mercurial > LightClone
annotate LightClone/Source/GuiElement.h @ 21:b4dc5d674e22
Added GUI event system and some support data structures
author | koryspansel |
---|---|
date | Thu, 15 Sep 2011 18:42:12 -0700 |
parents | 51718795f019 |
children | a785b0aaf004 |
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 /* |
292e534f00c2
Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff
changeset
|
16 * GuiElement |
292e534f00c2
Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff
changeset
|
17 */ |
21
b4dc5d674e22
Added GUI event system and some support data structures
koryspansel
parents:
19
diff
changeset
|
18 class GuiElement : private GuiEventMap |
10
292e534f00c2
Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff
changeset
|
19 { |
19
51718795f019
Adding event handling & drag and drop to GuiInterface
koryspansel
parents:
18
diff
changeset
|
20 public: |
51718795f019
Adding event handling & drag and drop to GuiInterface
koryspansel
parents:
18
diff
changeset
|
21 |
51718795f019
Adding event handling & drag and drop to GuiInterface
koryspansel
parents:
18
diff
changeset
|
22 /* |
51718795f019
Adding event handling & drag and drop to GuiInterface
koryspansel
parents:
18
diff
changeset
|
23 * List |
51718795f019
Adding event handling & drag and drop to GuiInterface
koryspansel
parents:
18
diff
changeset
|
24 */ |
51718795f019
Adding event handling & drag and drop to GuiInterface
koryspansel
parents:
18
diff
changeset
|
25 typedef ArrayList<GuiElement*> List; |
51718795f019
Adding event handling & drag and drop to GuiInterface
koryspansel
parents:
18
diff
changeset
|
26 |
17
4951acfe92fc
Reworking GUI system
koryspansel <koryspansel@bendbroadband.com>
parents:
11
diff
changeset
|
27 protected: |
4951acfe92fc
Reworking GUI system
koryspansel <koryspansel@bendbroadband.com>
parents:
11
diff
changeset
|
28 |
10
292e534f00c2
Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff
changeset
|
29 /* |
292e534f00c2
Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff
changeset
|
30 * pContainer |
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 GuiElement* pContainer; |
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 /* |
292e534f00c2
Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff
changeset
|
35 * kPosition |
292e534f00c2
Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff
changeset
|
36 */ |
292e534f00c2
Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff
changeset
|
37 D3DXVECTOR2 kPosition; |
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 /* |
292e534f00c2
Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff
changeset
|
40 * kDimensions |
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 D3DXVECTOR2 kDimensions; |
292e534f00c2
Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff
changeset
|
43 |
19
51718795f019
Adding event handling & drag and drop to GuiInterface
koryspansel
parents:
18
diff
changeset
|
44 /* |
51718795f019
Adding event handling & drag and drop to GuiInterface
koryspansel
parents:
18
diff
changeset
|
45 * kColor |
51718795f019
Adding event handling & drag and drop to GuiInterface
koryspansel
parents:
18
diff
changeset
|
46 */ |
51718795f019
Adding event handling & drag and drop to GuiInterface
koryspansel
parents:
18
diff
changeset
|
47 D3DCOLOR kColor; |
51718795f019
Adding event handling & drag and drop to GuiInterface
koryspansel
parents:
18
diff
changeset
|
48 |
51718795f019
Adding event handling & drag and drop to GuiInterface
koryspansel
parents:
18
diff
changeset
|
49 /* |
51718795f019
Adding event handling & drag and drop to GuiInterface
koryspansel
parents:
18
diff
changeset
|
50 * kChildren |
51718795f019
Adding event handling & drag and drop to GuiInterface
koryspansel
parents:
18
diff
changeset
|
51 */ |
51718795f019
Adding event handling & drag and drop to GuiInterface
koryspansel
parents:
18
diff
changeset
|
52 List kChildren; |
51718795f019
Adding event handling & drag and drop to GuiInterface
koryspansel
parents:
18
diff
changeset
|
53 |
10
292e534f00c2
Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff
changeset
|
54 public: |
292e534f00c2
Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff
changeset
|
55 |
292e534f00c2
Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff
changeset
|
56 /* |
292e534f00c2
Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff
changeset
|
57 * GuiElement |
292e534f00c2
Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff
changeset
|
58 */ |
292e534f00c2
Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff
changeset
|
59 GuiElement(); |
292e534f00c2
Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff
changeset
|
60 |
292e534f00c2
Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff
changeset
|
61 /* |
292e534f00c2
Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff
changeset
|
62 * ~GuiElement |
292e534f00c2
Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff
changeset
|
63 */ |
292e534f00c2
Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff
changeset
|
64 virtual ~GuiElement(); |
292e534f00c2
Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff
changeset
|
65 |
292e534f00c2
Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff
changeset
|
66 /* |
11
d80d06d5ff53
Begin working on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
10
diff
changeset
|
67 * Initialize |
d80d06d5ff53
Begin working on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
10
diff
changeset
|
68 */ |
19
51718795f019
Adding event handling & drag and drop to GuiInterface
koryspansel
parents:
18
diff
changeset
|
69 virtual ErrorCode Initialize(ResourceManager* pResourceManager); |
11
d80d06d5ff53
Begin working on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
10
diff
changeset
|
70 |
d80d06d5ff53
Begin working on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
10
diff
changeset
|
71 /* |
d80d06d5ff53
Begin working on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
10
diff
changeset
|
72 * Terminate |
d80d06d5ff53
Begin working on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
10
diff
changeset
|
73 */ |
19
51718795f019
Adding event handling & drag and drop to GuiInterface
koryspansel
parents:
18
diff
changeset
|
74 virtual void Terminate(); |
11
d80d06d5ff53
Begin working on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
10
diff
changeset
|
75 |
d80d06d5ff53
Begin working on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
10
diff
changeset
|
76 /* |
d80d06d5ff53
Begin working on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
10
diff
changeset
|
77 * Update |
d80d06d5ff53
Begin working on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
10
diff
changeset
|
78 */ |
19
51718795f019
Adding event handling & drag and drop to GuiInterface
koryspansel
parents:
18
diff
changeset
|
79 virtual void Update(float fElapsed); |
11
d80d06d5ff53
Begin working on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
10
diff
changeset
|
80 |
d80d06d5ff53
Begin working on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
10
diff
changeset
|
81 /* |
d80d06d5ff53
Begin working on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
10
diff
changeset
|
82 * Render |
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 void Render(RenderContext& kContext, Camera& kCamera); |
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 /* |
10
292e534f00c2
Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff
changeset
|
87 * Attach |
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 void Attach(GuiElement* pInstance); |
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 /* |
292e534f00c2
Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff
changeset
|
92 * Detach |
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 GuiElement* Detach(); |
292e534f00c2
Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff
changeset
|
95 |
292e534f00c2
Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff
changeset
|
96 /* |
292e534f00c2
Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff
changeset
|
97 * GetContainer |
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 GuiElement* GetContainer(); |
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 /* |
292e534f00c2
Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff
changeset
|
102 * SetPosition |
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 void SetPosition(float fX, float fY); |
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 /* |
292e534f00c2
Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff
changeset
|
107 * SetPosition |
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 void SetPosition(const D3DXVECTOR2& kValue); |
292e534f00c2
Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff
changeset
|
110 |
292e534f00c2
Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff
changeset
|
111 /* |
292e534f00c2
Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff
changeset
|
112 * GetPosition |
292e534f00c2
Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff
changeset
|
113 */ |
18 | 114 const D3DXVECTOR2 GetPosition() const; |
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 /* |
292e534f00c2
Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff
changeset
|
117 * SetDimensions |
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 void SetDimensions(float fWidth, float fHeight); |
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 * SetDimensions |
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 SetDimensions(const D3DXVECTOR2& kValue); |
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 * GetDimensions |
292e534f00c2
Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff
changeset
|
128 */ |
18 | 129 const D3DXVECTOR2 GetDimensions() const; |
10
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 /* |
11
d80d06d5ff53
Begin working on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
10
diff
changeset
|
132 * Pick |
10
292e534f00c2
Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff
changeset
|
133 */ |
11
d80d06d5ff53
Begin working on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
10
diff
changeset
|
134 virtual GuiElement* Pick(float fX, float fY); |
19
51718795f019
Adding event handling & drag and drop to GuiInterface
koryspansel
parents:
18
diff
changeset
|
135 |
51718795f019
Adding event handling & drag and drop to GuiInterface
koryspansel
parents:
18
diff
changeset
|
136 /* |
51718795f019
Adding event handling & drag and drop to GuiInterface
koryspansel
parents:
18
diff
changeset
|
137 * Add |
51718795f019
Adding event handling & drag and drop to GuiInterface
koryspansel
parents:
18
diff
changeset
|
138 */ |
51718795f019
Adding event handling & drag and drop to GuiInterface
koryspansel
parents:
18
diff
changeset
|
139 ErrorCode Add(GuiElement* pElement); |
51718795f019
Adding event handling & drag and drop to GuiInterface
koryspansel
parents:
18
diff
changeset
|
140 |
51718795f019
Adding event handling & drag and drop to GuiInterface
koryspansel
parents:
18
diff
changeset
|
141 /* |
51718795f019
Adding event handling & drag and drop to GuiInterface
koryspansel
parents:
18
diff
changeset
|
142 * Remove |
51718795f019
Adding event handling & drag and drop to GuiInterface
koryspansel
parents:
18
diff
changeset
|
143 */ |
51718795f019
Adding event handling & drag and drop to GuiInterface
koryspansel
parents:
18
diff
changeset
|
144 ErrorCode Remove(GuiElement* pElement); |
51718795f019
Adding event handling & drag and drop to GuiInterface
koryspansel
parents:
18
diff
changeset
|
145 |
51718795f019
Adding event handling & drag and drop to GuiInterface
koryspansel
parents:
18
diff
changeset
|
146 /* |
51718795f019
Adding event handling & drag and drop to GuiInterface
koryspansel
parents:
18
diff
changeset
|
147 * AllowDrag |
51718795f019
Adding event handling & drag and drop to GuiInterface
koryspansel
parents:
18
diff
changeset
|
148 */ |
51718795f019
Adding event handling & drag and drop to GuiInterface
koryspansel
parents:
18
diff
changeset
|
149 virtual bool AllowDrag() const; |
51718795f019
Adding event handling & drag and drop to GuiInterface
koryspansel
parents:
18
diff
changeset
|
150 |
51718795f019
Adding event handling & drag and drop to GuiInterface
koryspansel
parents:
18
diff
changeset
|
151 /* |
51718795f019
Adding event handling & drag and drop to GuiInterface
koryspansel
parents:
18
diff
changeset
|
152 * AllowDrop |
51718795f019
Adding event handling & drag and drop to GuiInterface
koryspansel
parents:
18
diff
changeset
|
153 */ |
51718795f019
Adding event handling & drag and drop to GuiInterface
koryspansel
parents:
18
diff
changeset
|
154 virtual bool AllowDrop() const; |
51718795f019
Adding event handling & drag and drop to GuiInterface
koryspansel
parents:
18
diff
changeset
|
155 |
51718795f019
Adding event handling & drag and drop to GuiInterface
koryspansel
parents:
18
diff
changeset
|
156 /* |
51718795f019
Adding event handling & drag and drop to GuiInterface
koryspansel
parents:
18
diff
changeset
|
157 * OnMouseDown |
51718795f019
Adding event handling & drag and drop to GuiInterface
koryspansel
parents:
18
diff
changeset
|
158 */ |
51718795f019
Adding event handling & drag and drop to GuiInterface
koryspansel
parents:
18
diff
changeset
|
159 virtual void OnMouseDown(uint32 nButton, float fX, float fY); |
51718795f019
Adding event handling & drag and drop to GuiInterface
koryspansel
parents:
18
diff
changeset
|
160 |
51718795f019
Adding event handling & drag and drop to GuiInterface
koryspansel
parents:
18
diff
changeset
|
161 /* |
51718795f019
Adding event handling & drag and drop to GuiInterface
koryspansel
parents:
18
diff
changeset
|
162 * OnMouseUp |
51718795f019
Adding event handling & drag and drop to GuiInterface
koryspansel
parents:
18
diff
changeset
|
163 */ |
51718795f019
Adding event handling & drag and drop to GuiInterface
koryspansel
parents:
18
diff
changeset
|
164 virtual void OnMouseUp(uint32 nButton, float fX, float fY); |
51718795f019
Adding event handling & drag and drop to GuiInterface
koryspansel
parents:
18
diff
changeset
|
165 |
51718795f019
Adding event handling & drag and drop to GuiInterface
koryspansel
parents:
18
diff
changeset
|
166 /* |
21
b4dc5d674e22
Added GUI event system and some support data structures
koryspansel
parents:
19
diff
changeset
|
167 * OnMouseMove |
b4dc5d674e22
Added GUI event system and some support data structures
koryspansel
parents:
19
diff
changeset
|
168 */ |
b4dc5d674e22
Added GUI event system and some support data structures
koryspansel
parents:
19
diff
changeset
|
169 virtual void OnMouseMove(float fX, float fY); |
b4dc5d674e22
Added GUI event system and some support data structures
koryspansel
parents:
19
diff
changeset
|
170 |
b4dc5d674e22
Added GUI event system and some support data structures
koryspansel
parents:
19
diff
changeset
|
171 /* |
19
51718795f019
Adding event handling & drag and drop to GuiInterface
koryspansel
parents:
18
diff
changeset
|
172 * OnDrag |
51718795f019
Adding event handling & drag and drop to GuiInterface
koryspansel
parents:
18
diff
changeset
|
173 */ |
51718795f019
Adding event handling & drag and drop to GuiInterface
koryspansel
parents:
18
diff
changeset
|
174 virtual void OnDrag(float fX, float fY); |
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 * OnDrop |
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 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
|
180 |
b4dc5d674e22
Added GUI event system and some support data structures
koryspansel
parents:
19
diff
changeset
|
181 /* |
b4dc5d674e22
Added GUI event system and some support data structures
koryspansel
parents:
19
diff
changeset
|
182 * Subscribe |
b4dc5d674e22
Added GUI event system and some support data structures
koryspansel
parents:
19
diff
changeset
|
183 */ |
b4dc5d674e22
Added GUI event system and some support data structures
koryspansel
parents:
19
diff
changeset
|
184 using GuiEventMap::Subscribe; |
b4dc5d674e22
Added GUI event system and some support data structures
koryspansel
parents:
19
diff
changeset
|
185 |
b4dc5d674e22
Added GUI event system and some support data structures
koryspansel
parents:
19
diff
changeset
|
186 /* |
b4dc5d674e22
Added GUI event system and some support data structures
koryspansel
parents:
19
diff
changeset
|
187 * Fire |
b4dc5d674e22
Added GUI event system and some support data structures
koryspansel
parents:
19
diff
changeset
|
188 */ |
b4dc5d674e22
Added GUI event system and some support data structures
koryspansel
parents:
19
diff
changeset
|
189 using GuiEventMap::Fire; |
10
292e534f00c2
Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff
changeset
|
190 }; |
292e534f00c2
Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff
changeset
|
191 |
292e534f00c2
Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
diff
changeset
|
192 #endif //__GUIELEMENT_H__ |