134 float text_widget_pos_x, text_widget_pos_y;
135 float text_widget_width, text_widget_height;
136 float dot_pos_x, dot_pos_y;
137 float dot_width, dot_height;
138 float draw_pos_x, draw_pos_y;
140 CanvasWidget canvas_widget = CanvasWidget.Cast(layoutRoot.FindAnyWidget(
"CanvasWidget_" + index));
141 canvas_widget.Clear();
144 for (
int i = 0; i <
m_TabScript.GetTabCount(); i++)
147 for (
int j = 0; j < 30; j++)
149 tab_array[i].Insert(NULL);
154 for (i = 0; i < control_mapping_info.Count(); i++)
161 for (
int l = 0; l < control_mapping_info.Count(); l++)
170 if (!button_marker_groups_unflitred.Contains(button_name))
172 button_marker_groups_unflitred.Insert(button_name,
new array<int>);
173 button_marker_groups_unflitred.Get(button_name).Insert(text_widget_id);
177 button_marker_groups_unflitred.Get(button_name).Insert(text_widget_id);
182 for (l = 0; l < button_marker_groups_unflitred.Count(); l++)
184 if (button_marker_groups_unflitred.GetElement(l).Count() > 1)
186 string key = button_marker_groups_unflitred.GetKey(l);
187 button_marker_groups.Insert(button_marker_groups_unflitred.GetKey(l), button_marker_groups_unflitred.Get(key));
192 Widget xbox_controls_image = layoutRoot.FindAnyWidget(
"Markers_" + index);
195 Widget button_marker_widget;
197 for (l = 0; l < tab_array[index].Count(); l++)
199 panel_widget = layoutRoot.FindAnyWidget(
"PanelWidget" + l);
200 if (tab_array[index][l] != NULL)
203 button_marker_widget = layoutRoot.FindAnyWidget(
"button_marker_" + tab_array[index][l].m_ButtonName);
204 text_widget.SetText(tab_array[index][l].m_InfoText);
205 panel_widget.Show(
true);
206 panel_widget.Update();
208 if (!button_marker_groups.Contains(tab_array[index][l].m_ButtonName))
210 panel_widget.GetScreenPos(text_widget_pos_x, text_widget_pos_y);
211 panel_widget.GetScreenSize(text_widget_width,text_widget_height);
213 button_marker_widget.GetScreenPos(dot_pos_x, dot_pos_y);
214 button_marker_widget.GetScreenSize(dot_width, dot_height);
216 draw_pos_y = text_widget_pos_y + text_widget_height / 2;
220 draw_pos_x = text_widget_pos_x + text_widget_width - 1;
224 draw_pos_x = text_widget_pos_x;
227 canvas_widget.DrawLine(draw_pos_x, draw_pos_y, dot_pos_x+dot_width/2, draw_pos_y, 2,
ARGBF(0.6, 1, 1, 1));
228 canvas_widget.DrawLine(dot_pos_x+dot_width/2, draw_pos_y, dot_pos_x+dot_width/2, dot_pos_y+dot_height/2, 2,
ARGBF(0.6, 1, 1, 1));
233 panel_widget.Show(
false);
235 panel_widget.Update();
239 for (l = 0; l < button_marker_groups.Count(); l++)
241 text_widget_pos_x = 0;
242 text_widget_pos_y = 0;
243 text_widget_width = 0;
244 text_widget_height = 0;
245 float group_point_x = 0, group_point_y = 0;
246 float first_x = 0, first_y = 0;
248 ref
array<int> element = button_marker_groups.GetElement(l);
249 string key_name = button_marker_groups.GetKey(l);
250 button_marker_widget = layoutRoot.FindAnyWidget(
"button_marker_" + key_name);
252 for (
int g = 0; g < element.Count(); g++)
254 panel_widget = layoutRoot.FindAnyWidget(
"PanelWidget" + element[g]);
256 panel_widget.GetScreenPos(text_widget_pos_x, text_widget_pos_y);
257 panel_widget.GetScreenSize(text_widget_width, text_widget_height);
263 first_x = text_widget_pos_x + text_widget_width +50;
267 first_x = text_widget_pos_x - 50;
269 first_y = text_widget_pos_y + text_widget_height/2;
273 group_point_x += text_widget_pos_x;
274 group_point_y += text_widget_pos_y;
278 canvas_widget.DrawLine(text_widget_pos_x + text_widget_width - 1, text_widget_pos_y + text_widget_height/2, text_widget_pos_x + text_widget_width +50, text_widget_pos_y + text_widget_height/2, 2,
ARGBF(0.6, 1, 1, 1));
282 canvas_widget.DrawLine(text_widget_pos_x, text_widget_pos_y + text_widget_height/2, text_widget_pos_x - 50, text_widget_pos_y + text_widget_height/2, 2,
ARGBF(0.6, 1, 1, 1));
288 group_point_x = group_point_x/element.Count() + text_widget_width + 50;
292 group_point_x = group_point_x/element.Count() - 50;
295 group_point_y = group_point_y/element.Count() + text_widget_height/2;
297 button_marker_widget.GetScreenPos(dot_pos_x, dot_pos_y);
298 button_marker_widget.GetScreenSize(dot_width, dot_height);
300 canvas_widget.
DrawLine(group_point_x, group_point_y, dot_pos_x+dot_width/2, group_point_y, 2,
ARGBF(0.6, 1, 1, 1));
301 canvas_widget.DrawLine(dot_pos_x+dot_width/2, group_point_y, dot_pos_x+dot_width/2, dot_pos_y, 2,
ARGBF(0.6, 1, 1, 1));
305 canvas_widget.DrawLine(first_x, first_y, text_widget_pos_x + text_widget_width +50, text_widget_pos_y + text_widget_height/2, 2,
ARGBF(0.6, 1, 1, 1));
309 canvas_widget.DrawLine(first_x, first_y, text_widget_pos_x - 50, text_widget_pos_y + text_widget_height/2, 2,
ARGBF(0.6, 1, 1, 1));