1 /*******************************************************************************/
2 /* This file is auto-generated by Azure RTOS GUIX Studio. Do not edit this */
3 /* file by hand. Modifications to this file should only be made by running */
4 /* the Azure RTOS GUIX Studio application and re-generating the application */
5 /* specification file(s). For more information please refer to the Azure RTOS */
6 /* GUIX Studio User Guide, or visit our web site at azure.com/rtos */
7 /* */
8 /* GUIX Studio Revision 6.2.0.1 */
9 /* Date (dd.mm.yyyy): 31.10.2022 Time (hh:mm): 14:11 */
10 /*******************************************************************************/
11
12
13 #define GUIX_STUDIO_GENERATED_FILE
14 #include <stddef.h>
15 #include "runtime_allocate_16bpp_resources.h"
16 #include "runtime_allocate_16bpp_specifications.h"
17
18 static GX_WIDGET *gx_studio_nested_widget_create(GX_BYTE *control, GX_CONST GX_STUDIO_WIDGET *definition, GX_WIDGET *parent);
19 GX_CONST GX_STUDIO_WIDGET window_define;
20 GX_DISPLAY display_1_control_block;
21 GX_WINDOW_ROOT display_1_root_window;
22 GX_CANVAS display_1_canvas_control_block;
23 ULONG display_1_canvas_memory[192000];
24
25 extern GX_CONST GX_THEME *display_1_theme_table[];
26 extern GX_CONST GX_STRING *display_1_language_table[];
27
28 GX_STUDIO_DISPLAY_INFO runtime_allocate_16bpp_display_table[1] =
29 {
30 {
31 "display_1",
32 "display_1_canvas",
33 display_1_theme_table,
34 display_1_language_table,
35 DISPLAY_1_THEME_TABLE_SIZE,
36 DISPLAY_1_LANGUAGE_TABLE_SIZE,
37 DISPLAY_1_STRING_TABLE_SIZE,
38 800, /* x resolution */
39 480, /* y resolution */
40 &display_1_control_block,
41 &display_1_canvas_control_block,
42 &display_1_root_window,
43 display_1_canvas_memory, /* canvas memory area */
44 768000, /* canvas memory size in bytes */
45 0 /* rotation angle */
46 }
47 };
48
49
gx_studio_button_create(GX_CONST GX_STUDIO_WIDGET * info,GX_WIDGET * control_block,GX_WIDGET * parent)50 UINT gx_studio_button_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent)
51 {
52 UINT status;
53 GX_BUTTON *button = (GX_BUTTON *) control_block;
54 status = gx_button_create(button, info->widget_name, parent, info->style, info->widget_id, &info->size);
55 return status;
56 }
57
gx_studio_text_button_create(GX_CONST GX_STUDIO_WIDGET * info,GX_WIDGET * control_block,GX_WIDGET * parent)58 UINT gx_studio_text_button_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent)
59 {
60 UINT status;
61 GX_TEXT_BUTTON *button = (GX_TEXT_BUTTON *) control_block;
62 GX_TEXT_BUTTON_PROPERTIES *props = (GX_TEXT_BUTTON_PROPERTIES *) info->properties;
63 status = gx_text_button_create(button, info->widget_name, parent, props->string_id, info->style, info->widget_id, &info->size);
64 if (status == GX_SUCCESS)
65 {
66 gx_text_button_font_set(button, props->font_id);
67 #if defined(GUIX_5_4_0_COMPATIBILITY)
68 gx_text_button_text_color_set(button, props->normal_text_color_id, props->selected_text_color_id);
69 #else
70 gx_text_button_text_color_set(button, props->normal_text_color_id, props->selected_text_color_id, props->disabled_text_color_id);
71 #endif
72 }
73 return status;
74 }
75
gx_studio_multi_line_text_button_create(GX_CONST GX_STUDIO_WIDGET * info,GX_WIDGET * control_block,GX_WIDGET * parent)76 UINT gx_studio_multi_line_text_button_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent)
77 {
78 UINT status;
79 GX_MULTI_LINE_TEXT_BUTTON *button = (GX_MULTI_LINE_TEXT_BUTTON *) control_block;
80 GX_ML_TEXT_BUTTON_PROPERTIES *props = (GX_ML_TEXT_BUTTON_PROPERTIES *) info->properties;
81 status = gx_multi_line_text_button_create(button, info->widget_name, parent, props->string_id, info->style, info->widget_id, &info->size);
82 if (status == GX_SUCCESS)
83 {
84 gx_text_button_font_set((GX_TEXT_BUTTON *) button, props->font_id);
85 #if defined(GUIX_5_4_0_COMPATIBILITY)
86 gx_text_button_text_color_set((GX_TEXT_BUTTON *) button, props->normal_text_color_id, props->selected_text_color_id);
87 #else
88 gx_text_button_text_color_set((GX_TEXT_BUTTON *) button, props->normal_text_color_id, props->selected_text_color_id, props->disabled_text_color_id);
89 #endif
90 }
91 return status;
92 }
93
gx_studio_checkbox_create(GX_CONST GX_STUDIO_WIDGET * info,GX_WIDGET * control_block,GX_WIDGET * parent)94 UINT gx_studio_checkbox_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent)
95 {
96 UINT status;
97 GX_CHECKBOX *button = (GX_CHECKBOX *) control_block;
98 GX_TEXT_BUTTON *text_button = (GX_TEXT_BUTTON *) button;
99 GX_CHECKBOX_PROPERTIES *props = (GX_CHECKBOX_PROPERTIES *) info->properties;
100 status = gx_checkbox_create(button, info->widget_name, parent, props->string_id, info->style, info->widget_id, &info->size);
101 if (status == GX_SUCCESS)
102 {
103 gx_text_button_font_set(text_button, props->font_id);
104 #if defined(GUIX_5_4_0_COMPATIBILITY)
105 gx_text_button_text_color_set(text_button, props->normal_text_color_id, props->selected_text_color_id);
106 #else
107 gx_text_button_text_color_set(text_button, props->normal_text_color_id, props->selected_text_color_id, props->disabled_text_color_id);
108 #endif
109
110 if (props->unchecked_pixelmap_id ||
111 props->checked_pixelmap_id ||
112 props->unchecked_disabled_pixelmap_id ||
113 props->checked_disabled_pixelmap_id)
114 {
115 gx_checkbox_pixelmap_set(button,
116 props->unchecked_pixelmap_id,
117 props->checked_pixelmap_id,
118 props->unchecked_disabled_pixelmap_id,
119 props->checked_disabled_pixelmap_id);
120 }
121 }
122 return status;
123 }
124
gx_studio_radio_button_create(GX_CONST GX_STUDIO_WIDGET * info,GX_WIDGET * control_block,GX_WIDGET * parent)125 UINT gx_studio_radio_button_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent)
126 {
127 UINT status;
128 GX_RADIO_BUTTON *button = (GX_RADIO_BUTTON *) control_block;
129 GX_TEXT_BUTTON *text_button = (GX_TEXT_BUTTON *) button;
130 GX_RADIO_BUTTON_PROPERTIES *props = (GX_RADIO_BUTTON_PROPERTIES *) info->properties;
131 status = gx_radio_button_create(button, info->widget_name, parent, props->string_id, info->style, info->widget_id, &info->size);
132 if (status == GX_SUCCESS)
133 {
134 gx_text_button_font_set(text_button, props->font_id);
135 #if defined(GUIX_5_4_0_COMPATIBILITY)
136 gx_text_button_text_color_set(text_button, props->normal_text_color_id, props->selected_text_color_id);
137 #else
138 gx_text_button_text_color_set(text_button, props->normal_text_color_id, props->selected_text_color_id, props->disabled_text_color_id);
139 #endif
140
141 if (props->off_pixelmap_id ||
142 props->on_pixelmap_id ||
143 props->off_disabled_pixelmap_id ||
144 props->on_disabled_pixelmap_id)
145 {
146 gx_radio_button_pixelmap_set(button,
147 props->off_pixelmap_id,
148 props->on_pixelmap_id,
149 props->off_disabled_pixelmap_id,
150 props->on_disabled_pixelmap_id);
151 }
152 }
153 return status;
154 }
155
gx_studio_icon_button_create(GX_CONST GX_STUDIO_WIDGET * info,GX_WIDGET * control_block,GX_WIDGET * parent)156 UINT gx_studio_icon_button_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent)
157 {
158 UINT status;
159 GX_ICON_BUTTON *button = (GX_ICON_BUTTON *) control_block;
160 GX_ICON_BUTTON_PROPERTIES *props = (GX_ICON_BUTTON_PROPERTIES *) info->properties;
161 status = gx_icon_button_create(button, info->widget_name, parent, props->pixelmap_id, info->style, info->widget_id, &info->size);
162 return status;
163 }
164
gx_studio_pixelmap_button_create(GX_CONST GX_STUDIO_WIDGET * info,GX_WIDGET * control_block,GX_WIDGET * parent)165 UINT gx_studio_pixelmap_button_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent)
166 {
167 UINT status;
168 GX_PIXELMAP_BUTTON *button = (GX_PIXELMAP_BUTTON *) control_block;
169 GX_PIXELMAP_BUTTON_PROPERTIES *props = (GX_PIXELMAP_BUTTON_PROPERTIES *) info->properties;
170 status = gx_pixelmap_button_create(button, info->widget_name, parent,
171 props->normal_pixelmap_id,
172 props->selected_pixelmap_id,
173 props->disabled_pixelmap_id,
174 info->style, info->widget_id, &info->size);
175 return status;
176 }
177
gx_studio_icon_create(GX_CONST GX_STUDIO_WIDGET * info,GX_WIDGET * control_block,GX_WIDGET * parent)178 UINT gx_studio_icon_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent)
179 {
180 UINT status;
181 GX_ICON *icon = (GX_ICON *) control_block;
182 GX_ICON_PROPERTIES *props = (GX_ICON_PROPERTIES *) info->properties;
183 status = gx_icon_create(icon, info->widget_name, parent, props->normal_pixelmap_id, info->style, info->widget_id, info->size.gx_rectangle_left, info->size.gx_rectangle_top);
184 if (props->selected_pixelmap_id)
185 {
186 gx_icon_pixelmap_set(icon, props->normal_pixelmap_id, props->selected_pixelmap_id);
187 }
188 else
189 {
190 gx_widget_resize((GX_WIDGET *)icon, (GX_RECTANGLE *)&info->size);
191 }
192 return status;
193 }
194
gx_studio_slider_create(GX_CONST GX_STUDIO_WIDGET * info,GX_WIDGET * control_block,GX_WIDGET * parent)195 UINT gx_studio_slider_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent)
196 {
197 UINT status;
198 GX_SLIDER *slider = (GX_SLIDER *) control_block;
199 GX_SLIDER_PROPERTIES *props = (GX_SLIDER_PROPERTIES *) info->properties;
200 GX_SLIDER_INFO slider_info;
201 slider_info.gx_slider_info_min_val = props->minval;
202 slider_info.gx_slider_info_max_val = props->maxval;
203 slider_info.gx_slider_info_current_val = props->current_val;
204 slider_info.gx_slider_info_increment = props->increment;
205 slider_info.gx_slider_info_min_travel = props->min_travel;
206 slider_info.gx_slider_info_max_travel = props->max_travel;
207 slider_info.gx_slider_info_needle_width = props->needle_width;
208 slider_info.gx_slider_info_needle_height = props->needle_height;
209 slider_info.gx_slider_info_needle_inset = props->needle_inset;
210 slider_info.gx_slider_info_needle_hotspot_offset = props->needle_hotspot;
211 status = gx_slider_create(slider,
212 info->widget_name,
213 parent,
214 props->tickmark_count,
215 &slider_info,
216 info->style,
217 info->widget_id,
218 &info->size);
219 return status;
220 }
221
gx_studio_pixelmap_slider_create(GX_CONST GX_STUDIO_WIDGET * info,GX_WIDGET * control_block,GX_WIDGET * parent)222 UINT gx_studio_pixelmap_slider_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent)
223 {
224 UINT status;
225 GX_PIXELMAP_SLIDER *slider = (GX_PIXELMAP_SLIDER *) control_block;
226 GX_PIXELMAP_SLIDER_PROPERTIES *props = (GX_PIXELMAP_SLIDER_PROPERTIES *) info->properties;
227 GX_PIXELMAP_SLIDER_INFO pixelmap_info;
228 GX_SLIDER_INFO slider_info;
229 slider_info.gx_slider_info_min_val = props->min_val;
230 slider_info.gx_slider_info_max_val = props->max_val;
231 slider_info.gx_slider_info_current_val = props->current_val;
232 slider_info.gx_slider_info_increment = props->increment;
233 slider_info.gx_slider_info_min_travel = props->min_travel;
234 slider_info.gx_slider_info_max_travel = props->max_travel;
235 slider_info.gx_slider_info_needle_width = props->needle_width;
236 slider_info.gx_slider_info_needle_height = props->needle_height;
237 slider_info.gx_slider_info_needle_inset = props->needle_inset;
238 slider_info.gx_slider_info_needle_hotspot_offset = props->needle_hotspot;
239 pixelmap_info.gx_pixelmap_slider_info_lower_background_pixelmap = props->lower_pixelmap;
240 pixelmap_info.gx_pixelmap_slider_info_upper_background_pixelmap = props->upper_pixelmap;
241 pixelmap_info.gx_pixelmap_slider_info_needle_pixelmap = props->needle_pixelmap;
242 status = gx_pixelmap_slider_create(slider,
243 info->widget_name,
244 parent,
245 &slider_info,
246 &pixelmap_info,
247 info->style,
248 info->widget_id,
249 &info->size);
250 return status;
251 }
252
gx_studio_progress_bar_create(GX_CONST GX_STUDIO_WIDGET * info,GX_WIDGET * control_block,GX_WIDGET * parent)253 UINT gx_studio_progress_bar_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent)
254 {
255 UINT status;
256 GX_PROGRESS_BAR *bar = (GX_PROGRESS_BAR *) control_block;
257 GX_PROGRESS_BAR_INFO *bar_info = (GX_PROGRESS_BAR_INFO *) info->properties;
258 status = gx_progress_bar_create(bar,
259 info->widget_name,
260 parent,
261 bar_info,
262 info->style,
263 info->widget_id,
264 &info->size);
265 return status;
266 }
267
gx_studio_sprite_create(GX_CONST GX_STUDIO_WIDGET * info,GX_WIDGET * control_block,GX_WIDGET * parent)268 UINT gx_studio_sprite_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent)
269 {
270 UINT status;
271 GX_SPRITE *sprite = (GX_SPRITE *) control_block;
272 GX_SPRITE_PROPERTIES *props = (GX_SPRITE_PROPERTIES *) info->properties;
273 status = gx_sprite_create(sprite, info->widget_name, parent,
274 props->frame_list, props->frame_count,
275 info->style, info->widget_id, &info->size);
276 return status;
277 }
278
gx_studio_prompt_create(GX_CONST GX_STUDIO_WIDGET * info,GX_WIDGET * control_block,GX_WIDGET * parent)279 UINT gx_studio_prompt_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent)
280 {
281 UINT status;
282 GX_PROMPT *prompt = (GX_PROMPT *) control_block;
283 GX_PROMPT_PROPERTIES *props = (GX_PROMPT_PROPERTIES *) info->properties;
284 status = gx_prompt_create(prompt, info->widget_name, parent, props->string_id, info->style, info->widget_id, &info->size);
285 if (status == GX_SUCCESS)
286 {
287 gx_prompt_font_set(prompt, props->font_id);
288 #if defined(GUIX_5_4_0_COMPATIBILITY)
289 gx_prompt_text_color_set(prompt, props->normal_text_color_id, props->selected_text_color_id);
290 #else
291 gx_prompt_text_color_set(prompt, props->normal_text_color_id, props->selected_text_color_id, props->disabled_text_color_id);
292 #endif
293 }
294 return status;
295 }
296
gx_studio_pixelmap_prompt_create(GX_CONST GX_STUDIO_WIDGET * info,GX_WIDGET * control_block,GX_WIDGET * parent)297 UINT gx_studio_pixelmap_prompt_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent)
298 {
299 UINT status;
300 GX_PIXELMAP_PROMPT *pix_prompt = (GX_PIXELMAP_PROMPT *) control_block;
301 GX_PROMPT *prompt = (GX_PROMPT *) pix_prompt;
302 GX_PIXELMAP_PROMPT_PROPERTIES *props = (GX_PIXELMAP_PROMPT_PROPERTIES *) info->properties;
303 status = gx_pixelmap_prompt_create(pix_prompt, info->widget_name, parent,
304 props->string_id,
305 props->fill_map_id,
306 info->style, info->widget_id, &info->size);
307
308 if (status == GX_SUCCESS)
309 {
310 gx_pixelmap_prompt_pixelmap_set(pix_prompt,
311 props->left_map_id,
312 props->fill_map_id,
313 props->right_map_id,
314 props->selected_left_map_id,
315 props->selected_fill_map_id,
316 props->selected_right_map_id);
317 gx_prompt_font_set(prompt, props->font_id);
318 #if defined(GUIX_5_4_0_COMPATIBILITY)
319 gx_prompt_text_color_set(prompt, props->normal_text_color_id, props->selected_text_color_id);
320 #else
321 gx_prompt_text_color_set(prompt, props->normal_text_color_id, props->selected_text_color_id, props->disabled_text_color_id);
322 #endif
323 }
324 return status;
325 }
326
gx_studio_window_create(GX_CONST GX_STUDIO_WIDGET * info,GX_WIDGET * control_block,GX_WIDGET * parent)327 UINT gx_studio_window_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent)
328 {
329 UINT status;
330 GX_WINDOW *window = (GX_WINDOW *) control_block;
331 GX_WINDOW_PROPERTIES *props = (GX_WINDOW_PROPERTIES *) info->properties;
332 status = gx_window_create(window, info->widget_name, parent, info->style, info->widget_id, &info->size);
333 if (status == GX_SUCCESS)
334 {
335 if (props->wallpaper_id)
336 {
337 gx_window_wallpaper_set(window, props->wallpaper_id, info->style & GX_STYLE_TILE_WALLPAPER);
338 }
339 }
340 return status;
341 }
342
gx_studio_vertical_list_create(GX_CONST GX_STUDIO_WIDGET * info,GX_WIDGET * control_block,GX_WIDGET * parent)343 UINT gx_studio_vertical_list_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent)
344 {
345 UINT status;
346 GX_VERTICAL_LIST *list = (GX_VERTICAL_LIST *) control_block;
347 GX_VERTICAL_LIST_PROPERTIES *props = (GX_VERTICAL_LIST_PROPERTIES *) info->properties;
348 status = gx_vertical_list_create(list, info->widget_name, parent, props->total_rows,
349 props->callback, info->style, info->widget_id, &info->size);
350 if (status == GX_SUCCESS)
351 {
352 if (props->wallpaper_id)
353 {
354 gx_window_wallpaper_set((GX_WINDOW *) list, props->wallpaper_id, info->style & GX_STYLE_TILE_WALLPAPER);
355 }
356 }
357 return status;
358 }
359
gx_studio_horizontal_list_create(GX_CONST GX_STUDIO_WIDGET * info,GX_WIDGET * control_block,GX_WIDGET * parent)360 UINT gx_studio_horizontal_list_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent)
361 {
362 UINT status;
363 GX_HORIZONTAL_LIST *list = (GX_HORIZONTAL_LIST *) control_block;
364 GX_HORIZONTAL_LIST_PROPERTIES *props = (GX_HORIZONTAL_LIST_PROPERTIES *) info->properties;
365 status = gx_horizontal_list_create(list, info->widget_name, parent, props->total_rows,
366 props->callback, info->style, info->widget_id, &info->size);
367 if (status == GX_SUCCESS)
368 {
369 if (props->wallpaper_id)
370 {
371 gx_window_wallpaper_set((GX_WINDOW *) list, props->wallpaper_id, info->style & GX_STYLE_TILE_WALLPAPER);
372 }
373 }
374 return status;
375 }
376
gx_studio_drop_list_create(GX_CONST GX_STUDIO_WIDGET * info,GX_WIDGET * control_block,GX_WIDGET * parent)377 UINT gx_studio_drop_list_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent)
378 {
379 UINT status;
380 GX_DROP_LIST *list = (GX_DROP_LIST *) control_block;
381 GX_DROP_LIST_PROPERTIES *props = (GX_DROP_LIST_PROPERTIES *) info->properties;
382 status = gx_drop_list_create(list, info->widget_name, parent,
383 props->total_rows, props->open_height,
384 props->callback, info->style, info->widget_id, &info->size);
385 if (status == GX_SUCCESS)
386 {
387 if (props->pixelmap_id)
388 {
389 gx_drop_list_pixelmap_set(list, props->pixelmap_id);
390 }
391 if (props->wallpaper_id)
392 {
393 gx_window_wallpaper_set((GX_WINDOW *)&list->gx_drop_list_popup.gx_popup_list_list, props->wallpaper_id, info->style & GX_STYLE_TILE_WALLPAPER);
394 }
395 }
396 return status;
397 }
398
gx_studio_text_input_create(GX_CONST GX_STUDIO_WIDGET * info,GX_WIDGET * control_block,GX_WIDGET * parent)399 UINT gx_studio_text_input_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent)
400 {
401 UINT status;
402 GX_STRING text;
403 GX_SINGLE_LINE_TEXT_INPUT *input = (GX_SINGLE_LINE_TEXT_INPUT *) control_block;
404 GX_PROMPT *prompt = (GX_PROMPT *) input;
405 GX_SINGLE_LINE_TEXT_INPUT_PROPERTIES *props = (GX_SINGLE_LINE_TEXT_INPUT_PROPERTIES *) info->properties;
406 status = gx_single_line_text_input_create(input, info->widget_name, parent, props->buffer, props->buffer_size, info->style, info->widget_id, &info->size);
407 if (status == GX_SUCCESS)
408 {
409 gx_prompt_font_set(prompt, props->font_id);
410 gx_single_line_text_input_text_color_set(input, props->normal_text_color_id, props->selected_text_color_id,
411 props->disabled_text_color_id, props->readonly_text_color_id);
412 gx_single_line_text_input_fill_color_set(input, input->gx_widget_normal_fill_color, input->gx_widget_selected_fill_color,
413 input->gx_widget_disabled_fill_color, props->readonly_fill_color_id);
414 if (props->buffer && props->buffer_size > 0 && props->string_id)
415 {
416 gx_display_string_get_ext(runtime_allocate_16bpp_display_table[0].display, props->string_id, &text);
417
418 if (text.gx_string_ptr)
419 {
420 gx_single_line_text_input_text_set_ext(input, &text);
421 }
422 }
423 }
424 return status;
425 }
426
gx_studio_multi_line_text_view_create(GX_CONST GX_STUDIO_WIDGET * info,GX_WIDGET * control_block,GX_WIDGET * parent)427 UINT gx_studio_multi_line_text_view_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent)
428 {
429 UINT status;
430 GX_MULTI_LINE_TEXT_VIEW *view = (GX_MULTI_LINE_TEXT_VIEW *) control_block;
431 GX_ML_TEXT_VIEW_PROPERTIES *props = (GX_ML_TEXT_VIEW_PROPERTIES *) info->properties;
432 status = gx_multi_line_text_view_create(view, info->widget_name, parent, props->string_id, info->style, info->widget_id, &info->size);
433 if (status == GX_SUCCESS)
434 {
435 gx_multi_line_text_view_font_set(view, props->font_id);
436 #if defined(GUIX_5_4_0_COMPATIBILITY)
437 gx_multi_line_text_view_text_color_set(view, props->normal_text_color_id, props->selected_text_color_id);
438 #else
439 gx_multi_line_text_view_text_color_set(view, props->normal_text_color_id, props->selected_text_color_id, props->disabled_text_color_id);
440 #endif
441 gx_multi_line_text_view_whitespace_set(view, props->whitespace);
442 gx_multi_line_text_view_line_space_set(view, props->line_space);
443 }
444 return status;
445 }
446
gx_studio_multi_line_text_input_create(GX_CONST GX_STUDIO_WIDGET * info,GX_WIDGET * control_block,GX_WIDGET * parent)447 UINT gx_studio_multi_line_text_input_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent)
448 {
449 UINT status;
450 GX_STRING text;
451 GX_MULTI_LINE_TEXT_INPUT *input = (GX_MULTI_LINE_TEXT_INPUT *) control_block;
452 GX_MULTI_LINE_TEXT_INPUT_PROPERTIES *props = (GX_MULTI_LINE_TEXT_INPUT_PROPERTIES *) info->properties;
453 status = gx_multi_line_text_input_create(input, info->widget_name, parent, props->buffer, props->buffer_size, info->style, info->widget_id, &info->size);
454 if (status == GX_SUCCESS)
455 {
456 gx_multi_line_text_view_font_set((GX_MULTI_LINE_TEXT_VIEW *) input, props->font_id);
457 gx_multi_line_text_input_fill_color_set(input, info->normal_fill_color_id, info->selected_fill_color_id,
458 info->disabled_fill_color_id, props->readonly_fill_color_id);
459 gx_multi_line_text_input_text_color_set(input, props->normal_text_color_id, props->selected_text_color_id,
460 props->disabled_text_color_id, props->readonly_text_color_id);
461 gx_multi_line_text_view_whitespace_set((GX_MULTI_LINE_TEXT_VIEW *) input, props->whitespace);
462 gx_multi_line_text_view_line_space_set((GX_MULTI_LINE_TEXT_VIEW *) input, props->line_space);
463 if(props->buffer && (props->buffer_size > 0) && props->string_id)
464 {
465 gx_display_string_get_ext(runtime_allocate_16bpp_display_table[0].display, props->string_id, &text);
466 if(text.gx_string_ptr)
467 {
468 gx_multi_line_text_input_text_set_ext(input, &text);
469 }
470 }
471 }
472 return status;
473 }
474
gx_studio_horizontal_scrollbar_create(GX_CONST GX_STUDIO_WIDGET * info,GX_WIDGET * control_block,GX_WIDGET * parent)475 UINT gx_studio_horizontal_scrollbar_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent)
476 {
477 UINT status;
478 GX_SCROLLBAR *scroll = (GX_SCROLLBAR *) control_block;
479 GX_SCROLLBAR_APPEARANCE *appearance = (GX_SCROLLBAR_APPEARANCE *) info->properties;
480 status = gx_horizontal_scrollbar_create(scroll, info->widget_name, parent, appearance, info->style);
481 return status;
482 }
483
gx_studio_vertical_scrollbar_create(GX_CONST GX_STUDIO_WIDGET * info,GX_WIDGET * control_block,GX_WIDGET * parent)484 UINT gx_studio_vertical_scrollbar_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent)
485 {
486 UINT status;
487 GX_SCROLLBAR *scroll = (GX_SCROLLBAR *) control_block;
488 GX_SCROLLBAR_APPEARANCE *appearance = (GX_SCROLLBAR_APPEARANCE *) info->properties;
489 status = gx_vertical_scrollbar_create(scroll, info->widget_name, parent, appearance, info->style);
490 return status;
491 }
492
gx_studio_circular_gauge_create(GX_CONST GX_STUDIO_WIDGET * info,GX_WIDGET * control_block,GX_WIDGET * parent)493 UINT gx_studio_circular_gauge_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent)
494 {
495 UINT status;
496 GX_CIRCULAR_GAUGE *gauge = (GX_CIRCULAR_GAUGE *) control_block;
497 GX_CIRCULAR_GAUGE_PROPERTIES *props = (GX_CIRCULAR_GAUGE_PROPERTIES *) info->properties;
498 GX_CIRCULAR_GAUGE_INFO gauge_info;
499 gauge_info.gx_circular_gauge_info_needle_pixelmap = props->needle_pixelmap_id;
500 gauge_info.gx_circular_gauge_info_needle_xpos = props->needle_xpos;
501 gauge_info.gx_circular_gauge_info_needle_ypos = props->needle_ypos;
502 gauge_info.gx_circular_gauge_info_needle_xcor = props->needle_xcor;
503 gauge_info.gx_circular_gauge_info_needle_ycor = props->needle_ycor;
504 gauge_info.gx_circular_gauge_info_animation_steps = props->animation_steps;
505 gauge_info.gx_circular_gauge_info_animation_delay = props->animation_delay;
506 gauge->gx_icon_normal_pixelmap = props->normal_pixelmap_id;
507 gauge->gx_icon_selected_pixelmap = props->selected_pixelmap_id;
508 status = gx_circular_gauge_create(gauge,
509 info->widget_name,
510 parent,
511 &gauge_info,
512 props->normal_pixelmap_id,
513 info->style,
514 info->widget_id,
515 info->size.gx_rectangle_left,
516 info->size.gx_rectangle_top);
517 return status;
518 }
519 GX_WINDOW_PROPERTIES window_properties =
520 {
521 0 /* wallpaper pixelmap id */
522 };
523 GX_WINDOW_PROPERTIES window_window_1_properties =
524 {
525 GX_PIXELMAP_ID__565RGB_COMPRESSED_FISH /* wallpaper pixelmap id */
526 };
527 GX_PIXELMAP_BUTTON_PROPERTIES window_pixelmap_button_1_properties =
528 {
529 GX_PIXELMAP_ID_ALPHAMAP_COMPRESSED, /* normal pixelmap id */
530 0, /* selected pixelmap id */
531 0 /* disabled pixelmap id */
532 };
533 GX_ICON_PROPERTIES window_icon_1_properties =
534 {
535 GX_PIXELMAP_ID_PALETTE_ALPHA_DITHER_APPLE, /* normal pixelmap id */
536 0 /* selected pixelmap id */
537 };
538 GX_RADIO_BUTTON_PROPERTIES window_radio_button_1_properties =
539 {
540 GX_STRING_ID_STRING_5, /* string id */
541 GX_FONT_ID_FONT_1BPP, /* font id */
542 GX_COLOR_ID_BTN_TEXT, /* normal text color */
543 GX_COLOR_ID_BTN_TEXT, /* selected text color */
544 GX_COLOR_ID_BTN_TEXT, /* disabled text color */
545 GX_PIXELMAP_ID_RADIO_ON, /* off pixelmap id */
546 0, /* on pixelmap id */
547 0, /* off disabled pixelmap id */
548 0 /* on disabled pixelmap id */
549 };
550 GX_PIXELMAP_PROMPT_PROPERTIES window_prompt_1_properties =
551 {
552 GX_STRING_ID_STRING_6, /* string id */
553 GX_FONT_ID_FONT_4BPP, /* font id */
554 GX_COLOR_ID_TEXT, /* normal text color */
555 GX_COLOR_ID_WINDOW_FILL, /* selected text color */
556 GX_COLOR_ID_TEXT, /* disabled text color */
557 GX_PIXELMAP_ID_RAW_PNG_FOOT, /* left pixelmap id */
558 0, /* fill pixelmap id */
559 0, /* right pixelmap id */
560 0, /* selected left pixelmap id */
561 0, /* selected fill pixelmap id */
562 0 /* selected right pixelmap id */
563 };
564 GX_PROMPT_PROPERTIES window_prompt_2_properties =
565 {
566 GX_STRING_ID_STRING_7, /* string id */
567 GX_FONT_ID_FONT_8BPP, /* font id */
568 GX_COLOR_ID_TEXT, /* normal text color */
569 GX_COLOR_ID_SELECTED_TEXT, /* selected text color */
570 GX_COLOR_ID_TEXT /* disabled text color */
571 };
572 GX_CHAR window_text_input_1_buffer[100];
573 GX_SINGLE_LINE_TEXT_INPUT_PROPERTIES window_text_input_1_properties =
574 {
575 0, /* string id */
576 GX_FONT_ID_TEXT_INPUT, /* font id */
577 GX_COLOR_ID_TEXT_INPUT_TEXT, /* normal text color */
578 GX_COLOR_ID_TEXT_INPUT_TEXT, /* selected text color */
579 GX_COLOR_ID_TEXT_INPUT_TEXT, /* disabled text color */
580 GX_COLOR_ID_READONLY_FILL, /* readonly fill color */
581 GX_COLOR_ID_READONLY_TEXT, /* readonly text color */
582 window_text_input_1_buffer, /* buffer */
583 100, /* buffer size */
584 };
585 GX_ML_TEXT_VIEW_PROPERTIES window_text_view_1_properties =
586 {
587 GX_STRING_ID_STRING_9, /* string id */
588 GX_FONT_ID_BUTTON, /* font id */
589 GX_COLOR_ID_TEXT_INPUT_TEXT, /* normal text color */
590 GX_COLOR_ID_TEXT_INPUT_TEXT, /* selected text color */
591 GX_COLOR_ID_TEXT_INPUT_TEXT, /* disabled text color */
592 0, /* whitespace */
593 0 /* line_space */
594 };
595 GX_CHAR window_text_input_2_buffer[100];
596 GX_MULTI_LINE_TEXT_INPUT_PROPERTIES window_text_input_2_properties =
597 {
598 GX_STRING_ID_STRING_10, /* string id */
599 GX_FONT_ID_TEXT_INPUT, /* font id */
600 GX_COLOR_ID_TEXT_INPUT_TEXT, /* normal text color */
601 GX_COLOR_ID_TEXT_INPUT_TEXT, /* selected text color */
602 GX_COLOR_ID_TEXT_INPUT_TEXT, /* disabled text color */
603 GX_COLOR_ID_READONLY_FILL, /* readonly fill color */
604 GX_COLOR_ID_READONLY_TEXT, /* readonly text color */
605 0, /* whitespace */
606 0, /* line_space */
607 window_text_input_2_buffer, /* buffer */
608 100 /* buffer size */
609 };
610 GX_TEXT_BUTTON_PROPERTIES window_button_2_properties =
611 {
612 GX_STRING_ID_STRING_15, /* string id */
613 GX_FONT_ID_FONT_1BPP, /* font id */
614 GX_COLOR_ID_BTN_TEXT, /* normal text color */
615 GX_COLOR_ID_BTN_TEXT, /* selected text color */
616 GX_COLOR_ID_BTN_TEXT /* disabled text color */
617 };
618 GX_ML_TEXT_BUTTON_PROPERTIES window_multi_line_button_1_properties =
619 {
620 GX_STRING_ID_STRING_11, /* string id */
621 GX_FONT_ID_BUTTON, /* font id */
622 GX_COLOR_ID_BTN_TEXT, /* normal text color */
623 GX_COLOR_ID_BTN_TEXT, /* selected text color */
624 GX_COLOR_ID_BTN_TEXT /* disabled text color */
625 };
626 GX_CHECKBOX_PROPERTIES window_checkbox_1_properties =
627 {
628 GX_STRING_ID_STRING_12, /* string id */
629 GX_FONT_ID_BUTTON, /* font id */
630 GX_COLOR_ID_BTN_TEXT, /* normal text color */
631 GX_COLOR_ID_BTN_TEXT, /* selected text color */
632 GX_COLOR_ID_BTN_TEXT, /* disabled text color */
633 0, /* unchecked pixelmap id */
634 0, /* checked pixelmap id */
635 0, /* unchecked disabled pixelmap id */
636 0 /* checked disabled pixelmap id */
637 };
638 GX_ICON_BUTTON_PROPERTIES window_icon_button_1_properties =
639 {
640 GX_PIXELMAP_ID__565RGB_RAW_SAVE /* pixelmap id */
641 };
642 GX_VERTICAL_LIST_PROPERTIES window_vertical_list_1_properties =
643 {
644 0, /* wallpaper id */
645 GX_NULL, /* callback function */
646 2 /* total rows */
647 };
648 GX_TEXT_BUTTON_PROPERTIES window_button_3_properties =
649 {
650 GX_STRING_ID_STRING_1, /* string id */
651 GX_FONT_ID_BUTTON, /* font id */
652 GX_COLOR_ID_BTN_TEXT, /* normal text color */
653 GX_COLOR_ID_BTN_TEXT, /* selected text color */
654 GX_COLOR_ID_BTN_TEXT /* disabled text color */
655 };
656 GX_HORIZONTAL_LIST_PROPERTIES window_horizontal_list_1_properties =
657 {
658 0, /* wallpaper id */
659 GX_NULL, /* callback function */
660 3 /* total columns */
661 };
662 GX_PROMPT_PROPERTIES window_prompt_3_properties =
663 {
664 GX_STRING_ID_STRING_2, /* string id */
665 GX_FONT_ID_PROMPT, /* font id */
666 GX_COLOR_ID_TEXT, /* normal text color */
667 GX_COLOR_ID_SELECTED_TEXT, /* selected text color */
668 GX_COLOR_ID_TEXT /* disabled text color */
669 };
670 GX_ICON_PROPERTIES window_icon_2_properties =
671 {
672 GX_PIXELMAP_ID__4444ARGB_ALPHA_PATIENT, /* normal pixelmap id */
673 0 /* selected pixelmap id */
674 };
675 GX_DROP_LIST_PROPERTIES window_drop_list_1_properties =
676 {
677 0, /* widget pixelmap id */
678 0, /* popup list wallpaper pixelmap id */
679 GX_NULL, /* callback function */
680 10, /* total rows */
681 50 /* open height */
682 };
683 GX_SLIDER_PROPERTIES window_slider_1_properties =
684 {
685 10, /* tickmark count */
686 0, /* mimimun value */
687 100, /* maximum value */
688 50, /* current value */
689 10, /* increment */
690 0, /* minimum travel */
691 0, /* maximum travel */
692 5, /* needle width */
693 10, /* needle height */
694 5, /* needle inset */
695 2 /* needle hotspot */
696 };
697 GX_PIXELMAP_SLIDER_PROPERTIES window_pixelmap_slider_1_properties =
698 {
699 0, /* minimum value */
700 100, /* maximum value */
701 70, /* current value */
702 10, /* increment */
703 0, /* minimum travel */
704 0, /* maximum travel */
705 5, /* needle width */
706 10, /* needle height */
707 0, /* needle inset */
708 8, /* needle hotspot */
709 GX_PIXELMAP_ID_PALETTE_RAW_ORANGEFILL_MIDDLE_HORIZONTAL, /* lower pixelmap id */
710 GX_PIXELMAP_ID_RAW_PNG_COMPRESS_ALPHA_EMPTY_MIDDLD_H, /* upper pixelmap id */
711 GX_PIXELMAP_ID_PALETTE_COMPRESS_I_IDICATOR_HORIZONTAL /* needle pixelmap id */
712 };
713 GX_PROGRESS_BAR_INFO window_progress_bar_1_properties =
714 {
715 0, /* mimimun value */
716 100, /* maximum value */
717 50, /* current value */
718 GX_FONT_ID_SYSTEM, /* font_id */
719 GX_COLOR_ID_TEXT, /* normal text color */
720 GX_COLOR_ID_TEXT, /* selected text color */
721 GX_COLOR_ID_TEXT, /* disabled text color */
722 0 /* fill pixelmap */
723 };
724 GX_PIXELMAP_SLIDER_PROPERTIES window_pixelmap_slider_2_properties =
725 {
726 0, /* minimum value */
727 100, /* maximum value */
728 50, /* current value */
729 10, /* increment */
730 0, /* minimum travel */
731 0, /* maximum travel */
732 5, /* needle width */
733 10, /* needle height */
734 0, /* needle inset */
735 6, /* needle hotspot */
736 GX_PIXELMAP_ID__4444ARGB_COMPRESS_ALPHA_ORANGEFILL_MIDDLE, /* lower pixelmap id */
737 GX_PIXELMAP_ID_ALPHAMAP_RAW_EMPTYFILL_MIDDLE, /* upper pixelmap id */
738 GX_PIXELMAP_ID_PALETTE_COMPRESS_ALPHA_INDICATOR /* needle pixelmap id */
739 };
740 GX_SCROLLBAR_APPEARANCE window_hscroll_1_properties =
741 {
742 20, /* scroll width */
743 18, /* thumb width */
744 20, /* thumb travel min */
745 20, /* thumb travel max */
746 4, /* thumb border style */
747 0, /* scroll fill pixelmap */
748 0, /* scroll thumb pixelmap */
749 0, /* scroll up pixelmap */
750 0, /* scroll down pixelmap */
751 GX_COLOR_ID_CANVAS, /* scroll thumb color */
752 GX_COLOR_ID_CANVAS, /* scroll thumb border color */
753 GX_COLOR_ID_SCROLL_BUTTON, /* scroll button color */
754 };
755 GX_SCROLLBAR_APPEARANCE window_vertical_scroll_1_properties =
756 {
757 20, /* scroll width */
758 18, /* thumb width */
759 20, /* thumb travel min */
760 20, /* thumb travel max */
761 4, /* thumb border style */
762 0, /* scroll fill pixelmap */
763 0, /* scroll thumb pixelmap */
764 0, /* scroll up pixelmap */
765 0, /* scroll down pixelmap */
766 GX_COLOR_ID_CANVAS, /* scroll thumb color */
767 GX_COLOR_ID_CANVAS, /* scroll thumb border color */
768 GX_COLOR_ID_SCROLL_BUTTON, /* scroll button color */
769 };
770 GX_SPRITE_FRAME window_sprite_1_frame_list[2] =
771 {
772 {
773 GX_PIXELMAP_ID_FRAME_000, /* pixelmap id */
774 0, /* x offset */
775 0, /* y offset */
776 0, /* frame delay */
777 GX_SPRITE_BACKGROUND_NO_ACTION, /* background operation */
778 255 /* alpha value */
779 },
780 {
781 GX_PIXELMAP_ID_FRAME_001, /* pixelmap id */
782 0, /* x offset */
783 0, /* y offset */
784 5, /* frame delay */
785 GX_SPRITE_BACKGROUND_NO_ACTION, /* background operation */
786 200 /* alpha value */
787 }
788 };
789
790 GX_SPRITE_PROPERTIES window_sprite_1_properties =
791 {
792 window_sprite_1_frame_list, /* address of frame list */
793 2, /* frame count */
794 };
795 GX_CIRCULAR_GAUGE_PROPERTIES window_gauge_1_properties =
796 {
797 0, /* start angle */
798 30, /* animation steps */
799 1, /* animation delay */
800 137, /* needle xpos */
801 100, /* needle yos */
802 15, /* needle xcor */
803 37, /* needle ycor */
804 GX_PIXELMAP_ID__565RGB_COMPRESSED_ALPHA_GAUGE, /* normal pixelmap id */
805 0, /* selected pixelmap id */
806 GX_PIXELMAP_ID__565RGB_ALPHA_NEEDLE /* needle pixelmap id */
807 };
808 GX_PROMPT_PROPERTIES window_prompt_4_properties =
809 {
810 GX_STRING_ID_STRING_13, /* string id */
811 GX_FONT_ID_PROMPT, /* font id */
812 GX_COLOR_ID_TEXT, /* normal text color */
813 GX_COLOR_ID_SELECTED_TEXT, /* selected text color */
814 GX_COLOR_ID_TEXT /* disabled text color */
815 };
816 GX_PROMPT_PROPERTIES window_prompt_5_properties =
817 {
818 GX_STRING_ID_STRING_14, /* string id */
819 GX_FONT_ID_PROMPT, /* font id */
820 GX_COLOR_ID_TEXT, /* normal text color */
821 GX_COLOR_ID_SELECTED_TEXT, /* selected text color */
822 GX_COLOR_ID_TEXT /* disabled text color */
823 };
824 GX_RADIO_BUTTON_PROPERTIES window_radio_button_2_properties =
825 {
826 GX_STRING_ID_STRING_3, /* string id */
827 GX_FONT_ID_BUTTON, /* font id */
828 GX_COLOR_ID_BTN_TEXT, /* normal text color */
829 GX_COLOR_ID_BTN_TEXT, /* selected text color */
830 GX_COLOR_ID_BTN_TEXT, /* disabled text color */
831 0, /* off pixelmap id */
832 0, /* on pixelmap id */
833 0, /* off disabled pixelmap id */
834 0 /* on disabled pixelmap id */
835 };
836 GX_CHECKBOX_PROPERTIES window_checkbox_2_properties =
837 {
838 GX_STRING_ID_STRING_12, /* string id */
839 GX_FONT_ID_BUTTON, /* font id */
840 GX_COLOR_ID_BTN_TEXT, /* normal text color */
841 GX_COLOR_ID_BTN_TEXT, /* selected text color */
842 GX_COLOR_ID_BTN_TEXT, /* disabled text color */
843 0, /* unchecked pixelmap id */
844 0, /* checked pixelmap id */
845 0, /* unchecked disabled pixelmap id */
846 0 /* checked disabled pixelmap id */
847 };
848
849 GX_CONST GX_STUDIO_WIDGET window_button_4_define =
850 {
851 "button_4",
852 GX_TYPE_BUTTON, /* widget type */
853 GX_ID_NONE, /* widget id */
854 #if defined(GX_WIDGET_USER_DATA)
855 0, /* user data */
856 #endif
857 GX_STYLE_BORDER_RAISED|GX_STYLE_ENABLED|GX_STYLE_DYNAMICALLY_ALLOCATED, /* style flags */
858 GX_STATUS_ACCEPTS_FOCUS, /* status flags */
859 sizeof(GX_BUTTON), /* control block size */
860 GX_COLOR_ID_BTN_LOWER, /* normal color id */
861 GX_COLOR_ID_BTN_UPPER, /* selected color id */
862 GX_COLOR_ID_BTN_LOWER, /* disabled color id */
863 gx_studio_button_create, /* create function */
864 GX_NULL, /* drawing function override */
865 GX_NULL, /* event function override */
866 {432, 273, 598, 296}, /* widget size */
867 GX_NULL, /* no next widget */
868 GX_NULL, /* no child widgets */
869 0, /* runtime control block */
870 (void *) GX_NULL /* no extended properties */
871 };
872
873 GX_CONST GX_STUDIO_WIDGET window_button_3_define =
874 {
875 "button_3",
876 GX_TYPE_TEXT_BUTTON, /* widget type */
877 GX_ID_NONE, /* widget id */
878 #if defined(GX_WIDGET_USER_DATA)
879 0, /* user data */
880 #endif
881 GX_STYLE_BORDER_RAISED|GX_STYLE_DRAW_SELECTED|GX_STYLE_ENABLED|GX_STYLE_DYNAMICALLY_ALLOCATED|GX_STYLE_TEXT_CENTER, /* style flags */
882 GX_STATUS_ACCEPTS_FOCUS, /* status flags */
883 sizeof(GX_TEXT_BUTTON), /* control block size */
884 GX_COLOR_ID_BTN_LOWER, /* normal color id */
885 GX_COLOR_ID_BTN_UPPER, /* selected color id */
886 GX_COLOR_ID_BTN_LOWER, /* disabled color id */
887 gx_studio_text_button_create, /* create function */
888 GX_NULL, /* drawing function override */
889 GX_NULL, /* event function override */
890 {432, 249, 598, 272}, /* widget size */
891 &window_button_4_define, /* next widget definition */
892 GX_NULL, /* no child widgets */
893 0, /* runtime control block */
894 (void *) &window_button_3_properties /* extended properties */
895 };
896
897 GX_CONST GX_STUDIO_WIDGET window_icon_2_define =
898 {
899 "icon_2",
900 GX_TYPE_ICON, /* widget type */
901 GX_ID_NONE, /* widget id */
902 #if defined(GX_WIDGET_USER_DATA)
903 0, /* user data */
904 #endif
905 GX_STYLE_BORDER_NONE|GX_STYLE_ENABLED|GX_STYLE_DYNAMICALLY_ALLOCATED|GX_STYLE_HALIGN_LEFT|GX_STYLE_VALIGN_TOP, /* style flags */
906 GX_STATUS_ACCEPTS_FOCUS, /* status flags */
907 sizeof(GX_ICON), /* control block size */
908 GX_COLOR_ID_WIDGET_FILL, /* normal color id */
909 GX_COLOR_ID_SELECTED_FILL, /* selected color id */
910 GX_COLOR_ID_WIDGET_FILL, /* disabled color id */
911 gx_studio_icon_create, /* create function */
912 GX_NULL, /* drawing function override */
913 GX_NULL, /* event function override */
914 {482, 317, 519, 369}, /* widget size */
915 GX_NULL, /* no next widget */
916 GX_NULL, /* no child widgets */
917 0, /* runtime control block */
918 (void *) &window_icon_2_properties /* extended properties */
919 };
920
921 GX_CONST GX_STUDIO_WIDGET window_prompt_3_define =
922 {
923 "prompt_3",
924 GX_TYPE_PROMPT, /* widget type */
925 GX_ID_NONE, /* widget id */
926 #if defined(GX_WIDGET_USER_DATA)
927 0, /* user data */
928 #endif
929 GX_STYLE_BORDER_THIN|GX_STYLE_ENABLED|GX_STYLE_DYNAMICALLY_ALLOCATED|GX_STYLE_TEXT_CENTER, /* style flags */
930 GX_STATUS_ACCEPTS_FOCUS, /* status flags */
931 sizeof(GX_PROMPT), /* control block size */
932 GX_COLOR_ID_WIDGET_FILL, /* normal color id */
933 GX_COLOR_ID_SELECTED_FILL, /* selected color id */
934 GX_COLOR_ID_WIDGET_FILL, /* disabled color id */
935 gx_studio_prompt_create, /* create function */
936 GX_NULL, /* drawing function override */
937 GX_NULL, /* event function override */
938 {452, 317, 481, 369}, /* widget size */
939 &window_icon_2_define, /* next widget definition */
940 GX_NULL, /* no child widgets */
941 0, /* runtime control block */
942 (void *) &window_prompt_3_properties /* extended properties */
943 };
944
945 GX_CONST GX_STUDIO_WIDGET window_button_5_define =
946 {
947 "button_5",
948 GX_TYPE_BUTTON, /* widget type */
949 GX_ID_NONE, /* widget id */
950 #if defined(GX_WIDGET_USER_DATA)
951 0, /* user data */
952 #endif
953 GX_STYLE_BORDER_RAISED|GX_STYLE_DRAW_SELECTED|GX_STYLE_ENABLED|GX_STYLE_DYNAMICALLY_ALLOCATED, /* style flags */
954 GX_STATUS_ACCEPTS_FOCUS, /* status flags */
955 sizeof(GX_BUTTON), /* control block size */
956 GX_COLOR_ID_BTN_LOWER, /* normal color id */
957 GX_COLOR_ID_BTN_UPPER, /* selected color id */
958 GX_COLOR_ID_BTN_LOWER, /* disabled color id */
959 gx_studio_button_create, /* create function */
960 GX_NULL, /* drawing function override */
961 GX_NULL, /* event function override */
962 {430, 317, 451, 369}, /* widget size */
963 &window_prompt_3_define, /* next widget definition */
964 GX_NULL, /* no child widgets */
965 0, /* runtime control block */
966 (void *) GX_NULL /* no extended properties */
967 };
968
969 GX_CONST GX_STUDIO_WIDGET window_checkbox_2_define =
970 {
971 "checkbox_2",
972 GX_TYPE_CHECKBOX, /* widget type */
973 GX_ID_NONE, /* widget id */
974 #if defined(GX_WIDGET_USER_DATA)
975 0, /* user data */
976 #endif
977 GX_STYLE_BORDER_NONE|GX_STYLE_TRANSPARENT|GX_STYLE_ENABLED|GX_STYLE_DYNAMICALLY_ALLOCATED|GX_STYLE_BUTTON_PUSHED|GX_STYLE_BUTTON_TOGGLE|GX_STYLE_TEXT_LEFT, /* style flags */
978 GX_STATUS_ACCEPTS_FOCUS, /* status flags */
979 sizeof(GX_CHECKBOX), /* control block size */
980 GX_COLOR_ID_BTN_LOWER, /* normal color id */
981 GX_COLOR_ID_BTN_UPPER, /* selected color id */
982 GX_COLOR_ID_BTN_LOWER, /* disabled color id */
983 gx_studio_checkbox_create, /* create function */
984 GX_NULL, /* drawing function override */
985 GX_NULL, /* event function override */
986 {319, 416, 422, 439}, /* widget size */
987 GX_NULL, /* no next widget */
988 GX_NULL, /* no child widgets */
989 0, /* runtime control block */
990 (void *) &window_checkbox_2_properties /* extended properties */
991 };
992
993 GX_CONST GX_STUDIO_WIDGET window_radio_button_2_define =
994 {
995 "radio_button_2",
996 GX_TYPE_RADIO_BUTTON, /* widget type */
997 GX_ID_NONE, /* widget id */
998 #if defined(GX_WIDGET_USER_DATA)
999 0, /* user data */
1000 #endif
1001 GX_STYLE_BORDER_NONE|GX_STYLE_TRANSPARENT|GX_STYLE_ENABLED|GX_STYLE_DYNAMICALLY_ALLOCATED|GX_STYLE_BUTTON_RADIO|GX_STYLE_TEXT_LEFT, /* style flags */
1002 GX_STATUS_ACCEPTS_FOCUS, /* status flags */
1003 sizeof(GX_RADIO_BUTTON), /* control block size */
1004 GX_COLOR_ID_BTN_LOWER, /* normal color id */
1005 GX_COLOR_ID_BTN_UPPER, /* selected color id */
1006 GX_COLOR_ID_BTN_LOWER, /* disabled color id */
1007 gx_studio_radio_button_create, /* create function */
1008 GX_NULL, /* drawing function override */
1009 GX_NULL, /* event function override */
1010 {514, 19, 593, 42}, /* widget size */
1011 &window_checkbox_2_define, /* next widget definition */
1012 GX_NULL, /* no child widgets */
1013 0, /* runtime control block */
1014 (void *) &window_radio_button_2_properties /* extended properties */
1015 };
1016
1017 GX_CONST GX_STUDIO_WIDGET window_prompt_5_define =
1018 {
1019 "prompt_5",
1020 GX_TYPE_PROMPT, /* widget type */
1021 GX_ID_NONE, /* widget id */
1022 #if defined(GX_WIDGET_USER_DATA)
1023 0, /* user data */
1024 #endif
1025 GX_STYLE_BORDER_NONE|GX_STYLE_TRANSPARENT|GX_STYLE_ENABLED|GX_STYLE_DYNAMICALLY_ALLOCATED|GX_STYLE_TEXT_CENTER, /* style flags */
1026 GX_STATUS_ACCEPTS_FOCUS, /* status flags */
1027 sizeof(GX_PROMPT), /* control block size */
1028 GX_COLOR_ID_WIDGET_FILL, /* normal color id */
1029 GX_COLOR_ID_SELECTED_FILL, /* selected color id */
1030 GX_COLOR_ID_WIDGET_FILL, /* disabled color id */
1031 gx_studio_prompt_create, /* create function */
1032 GX_NULL, /* drawing function override */
1033 GX_NULL, /* event function override */
1034 {631, 161, 710, 184}, /* widget size */
1035 &window_radio_button_2_define, /* next widget definition */
1036 GX_NULL, /* no child widgets */
1037 0, /* runtime control block */
1038 (void *) &window_prompt_5_properties /* extended properties */
1039 };
1040
1041 GX_CONST GX_STUDIO_WIDGET window_prompt_4_define =
1042 {
1043 "prompt_4",
1044 GX_TYPE_PROMPT, /* widget type */
1045 GX_ID_NONE, /* widget id */
1046 #if defined(GX_WIDGET_USER_DATA)
1047 0, /* user data */
1048 #endif
1049 GX_STYLE_BORDER_NONE|GX_STYLE_TRANSPARENT|GX_STYLE_ENABLED|GX_STYLE_DYNAMICALLY_ALLOCATED|GX_STYLE_TEXT_CENTER, /* style flags */
1050 GX_STATUS_ACCEPTS_FOCUS, /* status flags */
1051 sizeof(GX_PROMPT), /* control block size */
1052 GX_COLOR_ID_WIDGET_FILL, /* normal color id */
1053 GX_COLOR_ID_SELECTED_FILL, /* selected color id */
1054 GX_COLOR_ID_WIDGET_FILL, /* disabled color id */
1055 gx_studio_prompt_create, /* create function */
1056 GX_NULL, /* drawing function override */
1057 GX_NULL, /* event function override */
1058 {442, 377, 521, 400}, /* widget size */
1059 &window_prompt_5_define, /* next widget definition */
1060 GX_NULL, /* no child widgets */
1061 0, /* runtime control block */
1062 (void *) &window_prompt_4_properties /* extended properties */
1063 };
1064
1065 GX_CONST GX_STUDIO_WIDGET window_gauge_1_define =
1066 {
1067 "gauge_1",
1068 GX_TYPE_CIRCULAR_GAUGE, /* widget type */
1069 GX_ID_NONE, /* widget id */
1070 #if defined(GX_WIDGET_USER_DATA)
1071 0, /* user data */
1072 #endif
1073 GX_STYLE_BORDER_NONE|GX_STYLE_ENABLED|GX_STYLE_DYNAMICALLY_ALLOCATED, /* style flags */
1074 GX_STATUS_ACCEPTS_FOCUS, /* status flags */
1075 sizeof(GX_CIRCULAR_GAUGE), /* control block size */
1076 GX_COLOR_ID_WIDGET_FILL, /* normal color id */
1077 GX_COLOR_ID_SELECTED_FILL, /* selected color id */
1078 GX_COLOR_ID_WIDGET_FILL, /* disabled color id */
1079 gx_studio_circular_gauge_create, /* create function */
1080 GX_NULL, /* drawing function override */
1081 GX_NULL, /* event function override */
1082 {541, 261, 820, 540}, /* widget size */
1083 &window_prompt_4_define, /* next widget definition */
1084 GX_NULL, /* no child widgets */
1085 0, /* runtime control block */
1086 (void *) &window_gauge_1_properties /* extended properties */
1087 };
1088
1089 GX_CONST GX_STUDIO_WIDGET window_sprite_1_define =
1090 {
1091 "sprite_1",
1092 GX_TYPE_SPRITE, /* widget type */
1093 GX_ID_NONE, /* widget id */
1094 #if defined(GX_WIDGET_USER_DATA)
1095 0, /* user data */
1096 #endif
1097 GX_STYLE_BORDER_NONE|GX_STYLE_TRANSPARENT|GX_STYLE_ENABLED|GX_STYLE_DYNAMICALLY_ALLOCATED, /* style flags */
1098 GX_STATUS_ACCEPTS_FOCUS, /* status flags */
1099 sizeof(GX_SPRITE), /* control block size */
1100 GX_COLOR_ID_WIDGET_FILL, /* normal color id */
1101 GX_COLOR_ID_SELECTED_FILL, /* selected color id */
1102 GX_COLOR_ID_WIDGET_FILL, /* disabled color id */
1103 gx_studio_sprite_create, /* create function */
1104 GX_NULL, /* drawing function override */
1105 GX_NULL, /* event function override */
1106 {642, 189, 705, 252}, /* widget size */
1107 &window_gauge_1_define, /* next widget definition */
1108 GX_NULL, /* no child widgets */
1109 0, /* runtime control block */
1110 (void *) &window_sprite_1_properties /* extended properties */
1111 };
1112
1113 GX_CONST GX_STUDIO_WIDGET window_vertical_scroll_1_define =
1114 {
1115 "vertical_scroll_1",
1116 GX_TYPE_VERTICAL_SCROLL, /* widget type */
1117 GX_ID_NONE, /* widget id */
1118 #if defined(GX_WIDGET_USER_DATA)
1119 0, /* user data */
1120 #endif
1121 GX_STYLE_BORDER_NONE|GX_STYLE_DYNAMICALLY_ALLOCATED|GX_SCROLLBAR_RELATIVE_THUMB|GX_SCROLLBAR_END_BUTTONS|GX_SCROLLBAR_VERTICAL, /* style flags */
1122 0, /* status flags */
1123 sizeof(GX_SCROLLBAR), /* control block size */
1124 GX_COLOR_ID_WIDGET_FILL, /* normal color id */
1125 GX_COLOR_ID_SELECTED_FILL, /* selected color id */
1126 GX_COLOR_ID_WIDGET_FILL, /* disabled color id */
1127 gx_studio_vertical_scrollbar_create, /* create function */
1128 GX_NULL, /* drawing function override */
1129 GX_NULL, /* event function override */
1130 {771, 10, 790, 449}, /* widget size */
1131 &window_sprite_1_define, /* next widget definition */
1132 GX_NULL, /* no child widgets */
1133 0, /* runtime control block */
1134 (void *) &window_vertical_scroll_1_properties /* extended properties */
1135 };
1136
1137 GX_CONST GX_STUDIO_WIDGET window_hscroll_1_define =
1138 {
1139 "hscroll_1",
1140 GX_TYPE_HORIZONTAL_SCROLL, /* widget type */
1141 ID_HSCROLL, /* widget id */
1142 #if defined(GX_WIDGET_USER_DATA)
1143 0, /* user data */
1144 #endif
1145 GX_STYLE_BORDER_NONE|GX_STYLE_DYNAMICALLY_ALLOCATED|GX_SCROLLBAR_RELATIVE_THUMB|GX_SCROLLBAR_END_BUTTONS|GX_SCROLLBAR_HORIZONTAL, /* style flags */
1146 0, /* status flags */
1147 sizeof(GX_SCROLLBAR), /* control block size */
1148 GX_COLOR_ID_WIDGET_FILL, /* normal color id */
1149 GX_COLOR_ID_SELECTED_FILL, /* selected color id */
1150 GX_COLOR_ID_WIDGET_FILL, /* disabled color id */
1151 gx_studio_horizontal_scrollbar_create, /* create function */
1152 GX_NULL, /* drawing function override */
1153 GX_NULL, /* event function override */
1154 {11, 450, 770, 469}, /* widget size */
1155 &window_vertical_scroll_1_define, /* next widget definition */
1156 GX_NULL, /* no child widgets */
1157 0, /* runtime control block */
1158 (void *) &window_hscroll_1_properties /* extended properties */
1159 };
1160
1161 GX_CONST GX_STUDIO_WIDGET window_pixelmap_slider_2_define =
1162 {
1163 "pixelmap_slider_2",
1164 GX_TYPE_PIXELMAP_SLIDER, /* widget type */
1165 GX_ID_NONE, /* widget id */
1166 #if defined(GX_WIDGET_USER_DATA)
1167 0, /* user data */
1168 #endif
1169 GX_STYLE_BORDER_RAISED|GX_STYLE_TRANSPARENT|GX_STYLE_ENABLED|GX_STYLE_DYNAMICALLY_ALLOCATED|GX_STYLE_SLIDER_VERTICAL|GX_STYLE_TILE_BACKGROUND, /* style flags */
1170 GX_STATUS_ACCEPTS_FOCUS, /* status flags */
1171 sizeof(GX_PIXELMAP_SLIDER), /* control block size */
1172 GX_COLOR_ID_WIDGET_FILL, /* normal color id */
1173 GX_COLOR_ID_WIDGET_FILL, /* selected color id */
1174 GX_COLOR_ID_WIDGET_FILL, /* disabled color id */
1175 gx_studio_pixelmap_slider_create, /* create function */
1176 GX_NULL, /* drawing function override */
1177 GX_NULL, /* event function override */
1178 {729, 28, 763, 153}, /* widget size */
1179 &window_hscroll_1_define, /* next widget definition */
1180 GX_NULL, /* no child widgets */
1181 0, /* runtime control block */
1182 (void *) &window_pixelmap_slider_2_properties /* extended properties */
1183 };
1184
1185 GX_CONST GX_STUDIO_WIDGET window_progress_bar_1_define =
1186 {
1187 "progress_bar_1",
1188 GX_TYPE_PROGRESS_BAR, /* widget type */
1189 GX_ID_NONE, /* widget id */
1190 #if defined(GX_WIDGET_USER_DATA)
1191 0, /* user data */
1192 #endif
1193 GX_STYLE_BORDER_RAISED|GX_STYLE_DYNAMICALLY_ALLOCATED|GX_STYLE_PROGRESS_PERCENT|GX_STYLE_PROGRESS_TEXT_DRAW, /* style flags */
1194 0, /* status flags */
1195 sizeof(GX_PROGRESS_BAR), /* control block size */
1196 GX_COLOR_ID_WIDGET_FILL, /* normal color id */
1197 GX_COLOR_ID_SELECTED_FILL, /* selected color id */
1198 GX_COLOR_ID_WIDGET_FILL, /* disabled color id */
1199 gx_studio_progress_bar_create, /* create function */
1200 GX_NULL, /* drawing function override */
1201 GX_NULL, /* event function override */
1202 {617, 108, 696, 131}, /* widget size */
1203 &window_pixelmap_slider_2_define, /* next widget definition */
1204 GX_NULL, /* no child widgets */
1205 0, /* runtime control block */
1206 (void *) &window_progress_bar_1_properties /* extended properties */
1207 };
1208
1209 GX_CONST GX_STUDIO_WIDGET window_pixelmap_slider_1_define =
1210 {
1211 "pixelmap_slider_1",
1212 GX_TYPE_PIXELMAP_SLIDER, /* widget type */
1213 GX_ID_NONE, /* widget id */
1214 #if defined(GX_WIDGET_USER_DATA)
1215 0, /* user data */
1216 #endif
1217 GX_STYLE_BORDER_RAISED|GX_STYLE_ENABLED|GX_STYLE_DYNAMICALLY_ALLOCATED|GX_STYLE_TILE_BACKGROUND, /* style flags */
1218 GX_STATUS_ACCEPTS_FOCUS, /* status flags */
1219 sizeof(GX_PIXELMAP_SLIDER), /* control block size */
1220 GX_COLOR_ID_WIDGET_FILL, /* normal color id */
1221 GX_COLOR_ID_WIDGET_FILL, /* selected color id */
1222 GX_COLOR_ID_WIDGET_FILL, /* disabled color id */
1223 gx_studio_pixelmap_slider_create, /* create function */
1224 GX_NULL, /* drawing function override */
1225 GX_NULL, /* event function override */
1226 {617, 58, 706, 92}, /* widget size */
1227 &window_progress_bar_1_define, /* next widget definition */
1228 GX_NULL, /* no child widgets */
1229 0, /* runtime control block */
1230 (void *) &window_pixelmap_slider_1_properties /* extended properties */
1231 };
1232
1233 GX_CONST GX_STUDIO_WIDGET window_slider_1_define =
1234 {
1235 "slider_1",
1236 GX_TYPE_SLIDER, /* widget type */
1237 GX_ID_NONE, /* widget id */
1238 #if defined(GX_WIDGET_USER_DATA)
1239 0, /* user data */
1240 #endif
1241 GX_STYLE_BORDER_NONE|GX_STYLE_ENABLED|GX_STYLE_DYNAMICALLY_ALLOCATED|GX_STYLE_SHOW_NEEDLE, /* style flags */
1242 GX_STATUS_ACCEPTS_FOCUS, /* status flags */
1243 sizeof(GX_SLIDER), /* control block size */
1244 GX_COLOR_ID_BTN_UPPER, /* normal color id */
1245 GX_COLOR_ID_BTN_UPPER, /* selected color id */
1246 GX_COLOR_ID_BTN_UPPER, /* disabled color id */
1247 gx_studio_slider_create, /* create function */
1248 GX_NULL, /* drawing function override */
1249 GX_NULL, /* event function override */
1250 {619, 25, 698, 48}, /* widget size */
1251 &window_pixelmap_slider_1_define, /* next widget definition */
1252 GX_NULL, /* no child widgets */
1253 0, /* runtime control block */
1254 (void *) &window_slider_1_properties /* extended properties */
1255 };
1256
1257 GX_CONST GX_STUDIO_WIDGET window_drop_list_1_define =
1258 {
1259 "drop_list_1",
1260 GX_TYPE_DROP_LIST, /* widget type */
1261 GX_ID_NONE, /* widget id */
1262 #if defined(GX_WIDGET_USER_DATA)
1263 0, /* user data */
1264 #endif
1265 GX_STYLE_BORDER_THIN|GX_STYLE_DYNAMICALLY_ALLOCATED, /* style flags */
1266 0, /* status flags */
1267 sizeof(GX_DROP_LIST), /* control block size */
1268 GX_COLOR_ID_WIDGET_FILL, /* normal color id */
1269 GX_COLOR_ID_WIDGET_FILL, /* selected color id */
1270 GX_COLOR_ID_WIDGET_FILL, /* disabled color id */
1271 gx_studio_drop_list_create, /* create function */
1272 GX_NULL, /* drawing function override */
1273 GX_NULL, /* event function override */
1274 {434, 400, 534, 423}, /* widget size */
1275 &window_slider_1_define, /* next widget definition */
1276 GX_NULL, /* no child widgets */
1277 0, /* runtime control block */
1278 (void *) &window_drop_list_1_properties /* extended properties */
1279 };
1280
1281 GX_CONST GX_STUDIO_WIDGET window_horizontal_list_1_define =
1282 {
1283 "horizontal_list_1",
1284 GX_TYPE_HORIZONTAL_LIST, /* widget type */
1285 GX_ID_NONE, /* widget id */
1286 #if defined(GX_WIDGET_USER_DATA)
1287 0, /* user data */
1288 #endif
1289 GX_STYLE_BORDER_THIN|GX_STYLE_DYNAMICALLY_ALLOCATED, /* style flags */
1290 GX_STATUS_ACCEPTS_FOCUS, /* status flags */
1291 sizeof(GX_HORIZONTAL_LIST), /* control block size */
1292 GX_COLOR_ID_WINDOW_FILL, /* normal color id */
1293 GX_COLOR_ID_WINDOW_FILL, /* selected color id */
1294 GX_COLOR_ID_WINDOW_FILL, /* disabled color id */
1295 gx_studio_horizontal_list_create, /* create function */
1296 GX_NULL, /* drawing function override */
1297 GX_NULL, /* event function override */
1298 {429, 316, 555, 370}, /* widget size */
1299 &window_drop_list_1_define, /* next widget definition */
1300 &window_button_5_define, /* child widget definition */
1301 0, /* runtime control block */
1302 (void *) &window_horizontal_list_1_properties /* extended properties */
1303 };
1304
1305 GX_CONST GX_STUDIO_WIDGET window_vertical_list_1_define =
1306 {
1307 "vertical_list_1",
1308 GX_TYPE_VERTICAL_LIST, /* widget type */
1309 GX_ID_NONE, /* widget id */
1310 #if defined(GX_WIDGET_USER_DATA)
1311 0, /* user data */
1312 #endif
1313 GX_STYLE_BORDER_THIN|GX_STYLE_DYNAMICALLY_ALLOCATED, /* style flags */
1314 GX_STATUS_ACCEPTS_FOCUS, /* status flags */
1315 sizeof(GX_VERTICAL_LIST), /* control block size */
1316 GX_COLOR_ID_WINDOW_FILL, /* normal color id */
1317 GX_COLOR_ID_WINDOW_FILL, /* selected color id */
1318 GX_COLOR_ID_WINDOW_FILL, /* disabled color id */
1319 gx_studio_vertical_list_create, /* create function */
1320 GX_NULL, /* drawing function override */
1321 GX_NULL, /* event function override */
1322 {431, 248, 599, 304}, /* widget size */
1323 &window_horizontal_list_1_define, /* next widget definition */
1324 &window_button_3_define, /* child widget definition */
1325 0, /* runtime control block */
1326 (void *) &window_vertical_list_1_properties /* extended properties */
1327 };
1328
1329 GX_CONST GX_STUDIO_WIDGET window_icon_button_1_define =
1330 {
1331 "icon_button_1",
1332 GX_TYPE_ICON_BUTTON, /* widget type */
1333 GX_ID_NONE, /* widget id */
1334 #if defined(GX_WIDGET_USER_DATA)
1335 0, /* user data */
1336 #endif
1337 GX_STYLE_BORDER_RAISED|GX_STYLE_ENABLED|GX_STYLE_DYNAMICALLY_ALLOCATED|GX_STYLE_HALIGN_CENTER|GX_STYLE_VALIGN_CENTER, /* style flags */
1338 GX_STATUS_ACCEPTS_FOCUS, /* status flags */
1339 sizeof(GX_ICON_BUTTON), /* control block size */
1340 GX_COLOR_ID_BTN_LOWER, /* normal color id */
1341 GX_COLOR_ID_BTN_UPPER, /* selected color id */
1342 GX_COLOR_ID_BTN_LOWER, /* disabled color id */
1343 gx_studio_icon_button_create, /* create function */
1344 GX_NULL, /* drawing function override */
1345 GX_NULL, /* event function override */
1346 {723, 193, 754, 224}, /* widget size */
1347 &window_vertical_list_1_define, /* next widget definition */
1348 GX_NULL, /* no child widgets */
1349 0, /* runtime control block */
1350 (void *) &window_icon_button_1_properties /* extended properties */
1351 };
1352
1353 GX_CONST GX_STUDIO_WIDGET window_checkbox_1_define =
1354 {
1355 "checkbox_1",
1356 GX_TYPE_CHECKBOX, /* widget type */
1357 GX_ID_NONE, /* widget id */
1358 #if defined(GX_WIDGET_USER_DATA)
1359 0, /* user data */
1360 #endif
1361 GX_STYLE_BORDER_NONE|GX_STYLE_TRANSPARENT|GX_STYLE_ENABLED|GX_STYLE_DYNAMICALLY_ALLOCATED|GX_STYLE_BUTTON_TOGGLE|GX_STYLE_TEXT_LEFT, /* style flags */
1362 GX_STATUS_ACCEPTS_FOCUS, /* status flags */
1363 sizeof(GX_CHECKBOX), /* control block size */
1364 GX_COLOR_ID_BTN_LOWER, /* normal color id */
1365 GX_COLOR_ID_BTN_UPPER, /* selected color id */
1366 GX_COLOR_ID_BTN_LOWER, /* disabled color id */
1367 gx_studio_checkbox_create, /* create function */
1368 GX_NULL, /* drawing function override */
1369 GX_NULL, /* event function override */
1370 {319, 388, 429, 411}, /* widget size */
1371 &window_icon_button_1_define, /* next widget definition */
1372 GX_NULL, /* no child widgets */
1373 0, /* runtime control block */
1374 (void *) &window_checkbox_1_properties /* extended properties */
1375 };
1376
1377 GX_CONST GX_STUDIO_WIDGET window_multi_line_button_1_define =
1378 {
1379 "multi_line_button_1",
1380 GX_TYPE_MULTI_LINE_TEXT_BUTTON, /* widget type */
1381 GX_ID_NONE, /* widget id */
1382 #if defined(GX_WIDGET_USER_DATA)
1383 0, /* user data */
1384 #endif
1385 GX_STYLE_BORDER_RAISED|GX_STYLE_ENABLED|GX_STYLE_DYNAMICALLY_ALLOCATED|GX_STYLE_TEXT_CENTER, /* style flags */
1386 GX_STATUS_ACCEPTS_FOCUS, /* status flags */
1387 sizeof(GX_MULTI_LINE_TEXT_BUTTON), /* control block size */
1388 GX_COLOR_ID_BTN_LOWER, /* normal color id */
1389 GX_COLOR_ID_WINDOW_FILL, /* selected color id */
1390 GX_COLOR_ID_BTN_LOWER, /* disabled color id */
1391 gx_studio_multi_line_text_button_create, /* create function */
1392 GX_NULL, /* drawing function override */
1393 GX_NULL, /* event function override */
1394 {321, 312, 400, 375}, /* widget size */
1395 &window_checkbox_1_define, /* next widget definition */
1396 GX_NULL, /* no child widgets */
1397 0, /* runtime control block */
1398 (void *) &window_multi_line_button_1_properties /* extended properties */
1399 };
1400
1401 GX_CONST GX_STUDIO_WIDGET window_button_2_define =
1402 {
1403 "button_2",
1404 GX_TYPE_TEXT_BUTTON, /* widget type */
1405 GX_ID_NONE, /* widget id */
1406 #if defined(GX_WIDGET_USER_DATA)
1407 0, /* user data */
1408 #endif
1409 GX_STYLE_BORDER_RAISED|GX_STYLE_ENABLED|GX_STYLE_DYNAMICALLY_ALLOCATED|GX_STYLE_TEXT_CENTER, /* style flags */
1410 GX_STATUS_ACCEPTS_FOCUS, /* status flags */
1411 sizeof(GX_TEXT_BUTTON), /* control block size */
1412 GX_COLOR_ID_BTN_LOWER, /* normal color id */
1413 GX_COLOR_ID_BTN_UPPER, /* selected color id */
1414 GX_COLOR_ID_BTN_LOWER, /* disabled color id */
1415 gx_studio_text_button_create, /* create function */
1416 GX_NULL, /* drawing function override */
1417 GX_NULL, /* event function override */
1418 {320, 280, 399, 303}, /* widget size */
1419 &window_multi_line_button_1_define, /* next widget definition */
1420 GX_NULL, /* no child widgets */
1421 0, /* runtime control block */
1422 (void *) &window_button_2_properties /* extended properties */
1423 };
1424
1425 GX_CONST GX_STUDIO_WIDGET window_button_1_define =
1426 {
1427 "button_1",
1428 GX_TYPE_BUTTON, /* widget type */
1429 GX_ID_NONE, /* widget id */
1430 #if defined(GX_WIDGET_USER_DATA)
1431 0, /* user data */
1432 #endif
1433 GX_STYLE_BORDER_RAISED|GX_STYLE_ENABLED|GX_STYLE_DYNAMICALLY_ALLOCATED, /* style flags */
1434 GX_STATUS_ACCEPTS_FOCUS, /* status flags */
1435 sizeof(GX_BUTTON), /* control block size */
1436 GX_COLOR_ID_BTN_UPPER, /* normal color id */
1437 GX_COLOR_ID_WINDOW_BORDER, /* selected color id */
1438 GX_COLOR_ID_BTN_UPPER, /* disabled color id */
1439 gx_studio_button_create, /* create function */
1440 GX_NULL, /* drawing function override */
1441 GX_NULL, /* event function override */
1442 {319, 249, 398, 272}, /* widget size */
1443 &window_button_2_define, /* next widget definition */
1444 GX_NULL, /* no child widgets */
1445 0, /* runtime control block */
1446 (void *) GX_NULL /* no extended properties */
1447 };
1448
1449 GX_CONST GX_STUDIO_WIDGET window_text_input_2_define =
1450 {
1451 "text_input_2",
1452 GX_TYPE_MULTI_LINE_TEXT_INPUT, /* widget type */
1453 GX_ID_NONE, /* widget id */
1454 #if defined(GX_WIDGET_USER_DATA)
1455 0, /* user data */
1456 #endif
1457 GX_STYLE_BORDER_THIN|GX_STYLE_DRAW_SELECTED|GX_STYLE_ENABLED|GX_STYLE_DYNAMICALLY_ALLOCATED|GX_STYLE_TEXT_LEFT, /* style flags */
1458 GX_STATUS_ACCEPTS_FOCUS, /* status flags */
1459 sizeof(GX_MULTI_LINE_TEXT_INPUT), /* control block size */
1460 GX_COLOR_ID_WINDOW_BORDER, /* normal color id */
1461 GX_COLOR_ID_WINDOW_BORDER, /* selected color id */
1462 GX_COLOR_ID_WINDOW_BORDER, /* disabled color id */
1463 gx_studio_multi_line_text_input_create, /* create function */
1464 GX_NULL, /* drawing function override */
1465 GX_NULL, /* event function override */
1466 {515, 155, 606, 236}, /* widget size */
1467 &window_button_1_define, /* next widget definition */
1468 GX_NULL, /* no child widgets */
1469 0, /* runtime control block */
1470 (void *) &window_text_input_2_properties /* extended properties */
1471 };
1472
1473 GX_CONST GX_STUDIO_WIDGET window_text_view_1_define =
1474 {
1475 "text_view_1",
1476 GX_TYPE_MULTI_LINE_TEXT_VIEW, /* widget type */
1477 GX_ID_NONE, /* widget id */
1478 #if defined(GX_WIDGET_USER_DATA)
1479 0, /* user data */
1480 #endif
1481 GX_STYLE_BORDER_THIN|GX_STYLE_DRAW_SELECTED|GX_STYLE_ENABLED|GX_STYLE_DYNAMICALLY_ALLOCATED|GX_STYLE_TEXT_LEFT, /* style flags */
1482 GX_STATUS_ACCEPTS_FOCUS, /* status flags */
1483 sizeof(GX_MULTI_LINE_TEXT_VIEW), /* control block size */
1484 GX_COLOR_ID_BTN_BORDER, /* normal color id */
1485 GX_COLOR_ID_BTN_BORDER, /* selected color id */
1486 GX_COLOR_ID_BTN_BORDER, /* disabled color id */
1487 gx_studio_multi_line_text_view_create, /* create function */
1488 GX_NULL, /* drawing function override */
1489 GX_NULL, /* event function override */
1490 {515, 77, 601, 148}, /* widget size */
1491 &window_text_input_2_define, /* next widget definition */
1492 GX_NULL, /* no child widgets */
1493 0, /* runtime control block */
1494 (void *) &window_text_view_1_properties /* extended properties */
1495 };
1496
1497 GX_CONST GX_STUDIO_WIDGET window_text_input_1_define =
1498 {
1499 "text_input_1",
1500 GX_TYPE_SINGLE_LINE_TEXT_INPUT, /* widget type */
1501 GX_ID_NONE, /* widget id */
1502 #if defined(GX_WIDGET_USER_DATA)
1503 0, /* user data */
1504 #endif
1505 GX_STYLE_BORDER_THIN|GX_STYLE_ENABLED|GX_STYLE_DYNAMICALLY_ALLOCATED|GX_STYLE_TEXT_LEFT, /* style flags */
1506 GX_STATUS_ACCEPTS_FOCUS, /* status flags */
1507 sizeof(GX_SINGLE_LINE_TEXT_INPUT), /* control block size */
1508 GX_COLOR_ID_SELECTED_FILL, /* normal color id */
1509 GX_COLOR_ID_SELECTED_FILL, /* selected color id */
1510 GX_COLOR_ID_SELECTED_FILL, /* disabled color id */
1511 gx_studio_text_input_create, /* create function */
1512 GX_NULL, /* drawing function override */
1513 GX_NULL, /* event function override */
1514 {321, 220, 460, 243}, /* widget size */
1515 &window_text_view_1_define, /* next widget definition */
1516 GX_NULL, /* no child widgets */
1517 0, /* runtime control block */
1518 (void *) &window_text_input_1_properties /* extended properties */
1519 };
1520
1521 GX_CONST GX_STUDIO_WIDGET window_prompt_2_define =
1522 {
1523 "prompt_2",
1524 GX_TYPE_PROMPT, /* widget type */
1525 GX_ID_NONE, /* widget id */
1526 #if defined(GX_WIDGET_USER_DATA)
1527 0, /* user data */
1528 #endif
1529 GX_STYLE_BORDER_THIN|GX_STYLE_ENABLED|GX_STYLE_DYNAMICALLY_ALLOCATED|GX_STYLE_TEXT_CENTER, /* style flags */
1530 GX_STATUS_ACCEPTS_FOCUS, /* status flags */
1531 sizeof(GX_PROMPT), /* control block size */
1532 GX_COLOR_ID_WIDGET_FILL, /* normal color id */
1533 GX_COLOR_ID_SELECTED_FILL, /* selected color id */
1534 GX_COLOR_ID_WIDGET_FILL, /* disabled color id */
1535 gx_studio_prompt_create, /* create function */
1536 GX_NULL, /* drawing function override */
1537 GX_NULL, /* event function override */
1538 {319, 180, 462, 213}, /* widget size */
1539 &window_text_input_1_define, /* next widget definition */
1540 GX_NULL, /* no child widgets */
1541 0, /* runtime control block */
1542 (void *) &window_prompt_2_properties /* extended properties */
1543 };
1544
1545 GX_CONST GX_STUDIO_WIDGET window_prompt_1_define =
1546 {
1547 "prompt_1",
1548 GX_TYPE_PIXELMAP_PROMPT, /* widget type */
1549 GX_ID_NONE, /* widget id */
1550 #if defined(GX_WIDGET_USER_DATA)
1551 0, /* user data */
1552 #endif
1553 GX_STYLE_BORDER_THIN|GX_STYLE_ENABLED|GX_STYLE_DYNAMICALLY_ALLOCATED|GX_STYLE_TEXT_CENTER, /* style flags */
1554 GX_STATUS_ACCEPTS_FOCUS, /* status flags */
1555 sizeof(GX_PIXELMAP_PROMPT), /* control block size */
1556 GX_COLOR_ID_WIDGET_FILL, /* normal color id */
1557 GX_COLOR_ID_SELECTED_FILL, /* selected color id */
1558 GX_COLOR_ID_WIDGET_FILL, /* disabled color id */
1559 gx_studio_pixelmap_prompt_create, /* create function */
1560 GX_NULL, /* drawing function override */
1561 GX_NULL, /* event function override */
1562 {319, 20, 498, 168}, /* widget size */
1563 &window_prompt_2_define, /* next widget definition */
1564 GX_NULL, /* no child widgets */
1565 0, /* runtime control block */
1566 (void *) &window_prompt_1_properties /* extended properties */
1567 };
1568
1569 GX_CONST GX_STUDIO_WIDGET window_radio_button_1_define =
1570 {
1571 "radio_button_1",
1572 GX_TYPE_RADIO_BUTTON, /* widget type */
1573 GX_ID_NONE, /* widget id */
1574 #if defined(GX_WIDGET_USER_DATA)
1575 0, /* user data */
1576 #endif
1577 GX_STYLE_BORDER_NONE|GX_STYLE_TRANSPARENT|GX_STYLE_ENABLED|GX_STYLE_DYNAMICALLY_ALLOCATED|GX_STYLE_BUTTON_PUSHED|GX_STYLE_BUTTON_RADIO|GX_STYLE_TEXT_LEFT, /* style flags */
1578 GX_STATUS_ACCEPTS_FOCUS, /* status flags */
1579 sizeof(GX_RADIO_BUTTON), /* control block size */
1580 GX_COLOR_ID_BTN_LOWER, /* normal color id */
1581 GX_COLOR_ID_BTN_UPPER, /* selected color id */
1582 GX_COLOR_ID_BTN_LOWER, /* disabled color id */
1583 gx_studio_radio_button_create, /* create function */
1584 GX_NULL, /* drawing function override */
1585 GX_NULL, /* event function override */
1586 {514, 47, 602, 65}, /* widget size */
1587 &window_prompt_1_define, /* next widget definition */
1588 GX_NULL, /* no child widgets */
1589 0, /* runtime control block */
1590 (void *) &window_radio_button_1_properties /* extended properties */
1591 };
1592
1593 GX_CONST GX_STUDIO_WIDGET window_icon_1_define =
1594 {
1595 "icon_1",
1596 GX_TYPE_ICON, /* widget type */
1597 GX_ID_NONE, /* widget id */
1598 #if defined(GX_WIDGET_USER_DATA)
1599 0, /* user data */
1600 #endif
1601 GX_STYLE_BORDER_NONE|GX_STYLE_ENABLED|GX_STYLE_DYNAMICALLY_ALLOCATED|GX_STYLE_HALIGN_LEFT|GX_STYLE_VALIGN_TOP, /* style flags */
1602 GX_STATUS_ACCEPTS_FOCUS, /* status flags */
1603 sizeof(GX_ICON), /* control block size */
1604 GX_COLOR_ID_WIDGET_FILL, /* normal color id */
1605 GX_COLOR_ID_SELECTED_FILL, /* selected color id */
1606 GX_COLOR_ID_WIDGET_FILL, /* disabled color id */
1607 gx_studio_icon_create, /* create function */
1608 GX_NULL, /* drawing function override */
1609 GX_NULL, /* event function override */
1610 {24, 162, 218, 428}, /* widget size */
1611 &window_radio_button_1_define, /* next widget definition */
1612 GX_NULL, /* no child widgets */
1613 0, /* runtime control block */
1614 (void *) &window_icon_1_properties /* extended properties */
1615 };
1616
1617 GX_CONST GX_STUDIO_WIDGET window_pixelmap_button_1_define =
1618 {
1619 "pixelmap_button_1",
1620 GX_TYPE_PIXELMAP_BUTTON, /* widget type */
1621 GX_ID_NONE, /* widget id */
1622 #if defined(GX_WIDGET_USER_DATA)
1623 0, /* user data */
1624 #endif
1625 GX_STYLE_BORDER_NONE|GX_STYLE_ENABLED|GX_STYLE_DYNAMICALLY_ALLOCATED, /* style flags */
1626 GX_STATUS_ACCEPTS_FOCUS, /* status flags */
1627 sizeof(GX_PIXELMAP_BUTTON), /* control block size */
1628 GX_COLOR_ID_BTN_LOWER, /* normal color id */
1629 GX_COLOR_ID_BTN_UPPER, /* selected color id */
1630 GX_COLOR_ID_BTN_LOWER, /* disabled color id */
1631 gx_studio_pixelmap_button_create, /* create function */
1632 GX_NULL, /* drawing function override */
1633 GX_NULL, /* event function override */
1634 {25, 30, 170, 107}, /* widget size */
1635 &window_icon_1_define, /* next widget definition */
1636 GX_NULL, /* no child widgets */
1637 0, /* runtime control block */
1638 (void *) &window_pixelmap_button_1_properties /* extended properties */
1639 };
1640
1641 GX_CONST GX_STUDIO_WIDGET window_window_1_define =
1642 {
1643 "window_1",
1644 GX_TYPE_WINDOW, /* widget type */
1645 GX_ID_NONE, /* widget id */
1646 #if defined(GX_WIDGET_USER_DATA)
1647 0, /* user data */
1648 #endif
1649 GX_STYLE_BORDER_THIN|GX_STYLE_DYNAMICALLY_ALLOCATED, /* style flags */
1650 GX_STATUS_ACCEPTS_FOCUS, /* status flags */
1651 sizeof(GX_WINDOW), /* control block size */
1652 GX_COLOR_ID_WINDOW_FILL, /* normal color id */
1653 GX_COLOR_ID_WINDOW_FILL, /* selected color id */
1654 GX_COLOR_ID_WINDOW_FILL, /* disabled color id */
1655 gx_studio_window_create, /* create function */
1656 GX_NULL, /* drawing function override */
1657 GX_NULL, /* event function override */
1658 {14, 21, 311, 435}, /* widget size */
1659 &window_pixelmap_button_1_define, /* next widget definition */
1660 GX_NULL, /* no child widgets */
1661 0, /* runtime control block */
1662 (void *) &window_window_1_properties /* extended properties */
1663 };
1664
1665 GX_CONST GX_STUDIO_WIDGET window_define =
1666 {
1667 "window",
1668 GX_TYPE_WINDOW, /* widget type */
1669 GX_ID_NONE, /* widget id */
1670 #if defined(GX_WIDGET_USER_DATA)
1671 0, /* user data */
1672 #endif
1673 GX_STYLE_BORDER_THICK|GX_STYLE_DYNAMICALLY_ALLOCATED, /* style flags */
1674 GX_STATUS_ACCEPTS_FOCUS, /* status flags */
1675 sizeof(WINDOW_CONTROL_BLOCK), /* control block size */
1676 GX_COLOR_ID_SCROLL_FILL, /* normal color id */
1677 GX_COLOR_ID_SCROLL_FILL, /* selected color id */
1678 GX_COLOR_ID_SCROLL_FILL, /* disabled color id */
1679 gx_studio_window_create, /* create function */
1680 GX_NULL, /* drawing function override */
1681 GX_NULL, /* event function override */
1682 {6, 5, 795, 474}, /* widget size */
1683 GX_NULL, /* next widget */
1684 &window_window_1_define, /* child widget */
1685 0, /* control block */
1686 (void *) &window_properties /* extended properties */
1687 };
1688 GX_CONST GX_STUDIO_WIDGET_ENTRY runtime_allocate_16bpp_widget_table[] =
1689 {
1690 { &window_define, GX_NULL },
1691 {GX_NULL, GX_NULL}
1692 };
1693
gx_studio_nested_widget_create(GX_BYTE * control,GX_CONST GX_STUDIO_WIDGET * definition,GX_WIDGET * parent)1694 static GX_WIDGET *gx_studio_nested_widget_create(GX_BYTE *control, GX_CONST GX_STUDIO_WIDGET *definition, GX_WIDGET *parent)
1695 {
1696 UINT status = GX_SUCCESS;
1697 GX_WIDGET *widget = GX_NULL;
1698 GX_VALUE list_count = 0;
1699 GX_VALUE list_total_count = 0;
1700
1701 if(parent && (parent->gx_widget_type == GX_TYPE_MENU))
1702 {
1703 list_total_count = ((GX_MENU *)parent)->gx_menu_list_total_count;
1704 }
1705
1706 while(definition && status == GX_SUCCESS)
1707 {
1708 if (definition->create_function)
1709 {
1710 if (definition->style & GX_STYLE_DYNAMICALLY_ALLOCATED)
1711 {
1712 status = gx_widget_allocate(&widget, definition->control_block_size);
1713 if (status != GX_SUCCESS)
1714 {
1715 return GX_NULL;
1716 }
1717 }
1718 else
1719 {
1720 if (control == GX_NULL)
1721 {
1722 return GX_NULL;
1723 }
1724 widget = (GX_WIDGET *) (control + definition->control_block_offset);
1725 }
1726
1727 status = definition->create_function(definition, widget, parent);
1728
1729 if(list_count < list_total_count)
1730 {
1731 gx_menu_insert((GX_MENU *)parent, widget);
1732 ((GX_MENU *)parent)->gx_menu_list_total_count--;
1733 list_count++;
1734 }
1735
1736 if (status == GX_SUCCESS)
1737 {
1738 if (definition->widget_type != GX_TYPE_TEMPLATE)
1739 {
1740 #if defined(GUIX_5_4_0_COMPATIBILITY)
1741 gx_widget_fill_color_set(widget, definition->normal_fill_color_id, definition->selected_fill_color_id);
1742 #else
1743 gx_widget_fill_color_set(widget, definition->normal_fill_color_id, definition->selected_fill_color_id, definition->disabled_fill_color_id);
1744 #endif
1745 }
1746
1747 if (!(definition->status & GX_STATUS_ACCEPTS_FOCUS))
1748 {
1749 gx_widget_status_remove(widget, GX_STATUS_ACCEPTS_FOCUS);
1750 }
1751
1752 if (definition->draw_function)
1753 {
1754 gx_widget_draw_set(widget, definition->draw_function);
1755 }
1756 if (definition->event_function)
1757 {
1758 gx_widget_event_process_set(widget, definition->event_function);
1759 }
1760
1761 #if defined(GX_WIDGET_USER_DATA)
1762 widget->gx_widget_user_data = definition->user_data;
1763 #endif
1764
1765 if (definition->child_widget)
1766 {
1767 gx_studio_nested_widget_create(control, definition->child_widget, widget);
1768 }
1769 }
1770 definition = definition->next_widget;
1771 }
1772 }
1773 return widget;
1774 }
1775
gx_studio_widget_create(GX_BYTE * control,GX_CONST GX_STUDIO_WIDGET * definition,GX_WIDGET * parent)1776 GX_WIDGET *gx_studio_widget_create(GX_BYTE *control, GX_CONST GX_STUDIO_WIDGET *definition, GX_WIDGET *parent)
1777 {
1778 GX_WIDGET *widget;
1779 widget = gx_studio_nested_widget_create(control, definition, GX_NULL);
1780
1781 if (parent && widget)
1782 {
1783 gx_widget_attach(parent, widget);
1784 }
1785 return widget;
1786 }
1787
gx_studio_named_widget_create(char * name,GX_WIDGET * parent,GX_WIDGET ** new_widget)1788 UINT gx_studio_named_widget_create(char *name, GX_WIDGET *parent, GX_WIDGET **new_widget)
1789 {
1790 UINT status = GX_FAILURE;
1791 GX_CONST GX_STUDIO_WIDGET_ENTRY *entry = runtime_allocate_16bpp_widget_table;
1792 GX_WIDGET *widget = GX_NULL;
1793
1794 while(entry->widget_information)
1795 {
1796 if (!strcmp(name, entry->widget_information->widget_name))
1797 {
1798 widget = gx_studio_widget_create((GX_BYTE *) entry->widget, entry->widget_information, parent);
1799 if (widget)
1800 {
1801 status = GX_SUCCESS;
1802 }
1803 break;
1804 }
1805 entry++;
1806 }
1807
1808 if (new_widget)
1809 {
1810 *new_widget = widget;
1811 }
1812 return status;
1813 }
1814
1815
gx_studio_display_configure(USHORT display,UINT (* driver)(GX_DISPLAY *),GX_UBYTE language,USHORT theme,GX_WINDOW_ROOT ** return_root)1816 UINT gx_studio_display_configure(USHORT display, UINT (*driver)(GX_DISPLAY *),
1817 GX_UBYTE language, USHORT theme, GX_WINDOW_ROOT **return_root)
1818 {
1819 GX_CONST GX_THEME *theme_ptr;
1820 GX_RECTANGLE size;
1821
1822 GX_STUDIO_DISPLAY_INFO *display_info = &runtime_allocate_16bpp_display_table[display];
1823
1824
1825 /* create the requested display */
1826
1827 gx_display_create(display_info->display,
1828 display_info->name,
1829 driver,
1830 (GX_VALUE) display_info->x_resolution,
1831 (GX_VALUE) display_info->y_resolution);
1832
1833
1834 /* install the request theme */
1835
1836 if(display_info->theme_table)
1837 {
1838 theme_ptr = display_info->theme_table[theme];
1839 if(theme_ptr)
1840 {
1841 gx_display_color_table_set(display_info->display, theme_ptr->theme_color_table, theme_ptr->theme_color_table_size);
1842
1843 /* install the color palette if required */
1844 if (display_info->display->gx_display_driver_palette_set &&
1845 theme_ptr->theme_palette != NULL)
1846 {
1847 display_info->display->gx_display_driver_palette_set(display_info->display, theme_ptr->theme_palette, theme_ptr->theme_palette_size);
1848 }
1849
1850 gx_display_font_table_set(display_info->display, theme_ptr->theme_font_table, theme_ptr->theme_font_table_size);
1851 gx_display_pixelmap_table_set(display_info->display, theme_ptr->theme_pixelmap_table, theme_ptr->theme_pixelmap_table_size);
1852 gx_system_scroll_appearance_set(theme_ptr->theme_vertical_scroll_style, (GX_SCROLLBAR_APPEARANCE *) &theme_ptr->theme_vertical_scrollbar_appearance);
1853 gx_system_scroll_appearance_set(theme_ptr->theme_horizontal_scroll_style, (GX_SCROLLBAR_APPEARANCE *) &theme_ptr->theme_horizontal_scrollbar_appearance);
1854 }
1855 }
1856
1857 /* Install the language table. */
1858
1859 if(display_info->language_table)
1860 {
1861 gx_display_language_table_set_ext(display_info->display, display_info->language_table, (GX_UBYTE) display_info->language_table_size, display_info->string_table_size);
1862 gx_display_active_language_set(display_info->display, language);
1863 }
1864
1865 /* Set screen rotation angle. */
1866
1867 display_info->display->gx_display_rotation_angle = display_info->rotation_angle;
1868
1869 /* create the canvas for this display */
1870
1871 gx_canvas_create(display_info->canvas,
1872 display_info->canvas_name,
1873 display_info->display,
1874 GX_CANVAS_MANAGED | GX_CANVAS_VISIBLE,
1875 display_info->x_resolution,
1876 display_info->y_resolution,
1877 display_info->canvas_memory,
1878 display_info->canvas_memory_size);
1879
1880 /* Create the root window for this canvas */
1881
1882 gx_utility_rectangle_define(&size,
1883 0, 0,
1884 (GX_VALUE) (display_info->x_resolution - 1),
1885 (GX_VALUE) (display_info->y_resolution - 1));
1886
1887 gx_window_root_create(display_info->root_window,
1888 display_info->name,
1889 display_info->canvas, GX_STYLE_NONE, 0, &size);
1890 if (return_root)
1891 {
1892 *return_root = display_info->root_window;
1893 }
1894 return GX_SUCCESS;
1895 }
1896 #undef GUIX_STUDIO_GENERATED_FILE
1897