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