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.1.12.0                                              */
9 /*  Date (dd.mm.yyyy): 25. 8.2022   Time (hh:mm): 18:23                        */
10 /*******************************************************************************/
11 
12 
13 #define GUIX_STUDIO_GENERATED_FILE
14 #include <stddef.h>
15 #include "demo_guix_washing_machine_resources.h"
16 #include "demo_guix_washing_machine_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 MODE_SELECT_WINDOW_CONTROL_BLOCK mode_select_window;
20 WATER_LEVEL_WINDOW_CONTROL_BLOCK water_level_window;
21 TEMPERATURE_WINDOW_CONTROL_BLOCK temperature_window;
22 WASH_CYCLE_WINDOW_CONTROL_BLOCK wash_cycle_window;
23 MAIN_SCREEN_CONTROL_BLOCK main_screen;
24 GX_DISPLAY main_display_control_block;
25 GX_WINDOW_ROOT main_display_root_window;
26 GX_CANVAS  main_display_canvas_control_block;
27 ULONG      main_display_canvas_memory[307200];
28 
29 extern GX_CONST GX_THEME *main_display_theme_table[];
30 extern GX_CONST GX_STRING *main_display_language_table[];
31 
32 GX_STUDIO_DISPLAY_INFO demo_guix_washing_machine_display_table[1] =
33 {
34     {
35     "main_display",
36     "main_display_canvas",
37     main_display_theme_table,
38     main_display_language_table,
39     MAIN_DISPLAY_THEME_TABLE_SIZE,
40     MAIN_DISPLAY_LANGUAGE_TABLE_SIZE,
41     MAIN_DISPLAY_STRING_TABLE_SIZE,
42     640,                                     /* x resolution                   */
43     480,                                     /* y resolution                   */
44     &main_display_control_block,
45     &main_display_canvas_control_block,
46     &main_display_root_window,
47     main_display_canvas_memory,              /* canvas memory area             */
48     1228800,                                 /* canvas memory size in bytes    */
49     GX_SCREEN_ROTATION_NONE                  /* rotation angle                 */
50     }
51 };
52 
53 
gx_studio_button_create(GX_CONST GX_STUDIO_WIDGET * info,GX_WIDGET * control_block,GX_WIDGET * parent)54 UINT gx_studio_button_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent)
55 {
56     UINT status;
57     GX_BUTTON *button = (GX_BUTTON *) control_block;
58     status = gx_button_create(button, info->widget_name, parent, info->style, info->widget_id, &info->size);
59     return status;
60 }
61 
gx_studio_text_button_create(GX_CONST GX_STUDIO_WIDGET * info,GX_WIDGET * control_block,GX_WIDGET * parent)62 UINT gx_studio_text_button_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent)
63 {
64     UINT status;
65     GX_TEXT_BUTTON *button = (GX_TEXT_BUTTON *) control_block;
66     GX_TEXT_BUTTON_PROPERTIES *props = (GX_TEXT_BUTTON_PROPERTIES *) info->properties;
67     status = gx_text_button_create(button, info->widget_name, parent, props->string_id, info->style, info->widget_id, &info->size);
68     if (status == GX_SUCCESS)
69     {
70         gx_text_button_font_set(button, props->font_id);
71 #if defined(GUIX_5_4_0_COMPATIBILITY)
72         gx_text_button_text_color_set(button, props->normal_text_color_id, props->selected_text_color_id);
73 #else
74         gx_text_button_text_color_set(button, props->normal_text_color_id, props->selected_text_color_id, props->disabled_text_color_id);
75 #endif
76     }
77     return status;
78 }
79 
gx_studio_pixelmap_button_create(GX_CONST GX_STUDIO_WIDGET * info,GX_WIDGET * control_block,GX_WIDGET * parent)80 UINT gx_studio_pixelmap_button_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent)
81 {
82     UINT status;
83     GX_PIXELMAP_BUTTON *button = (GX_PIXELMAP_BUTTON *) control_block;
84     GX_PIXELMAP_BUTTON_PROPERTIES *props = (GX_PIXELMAP_BUTTON_PROPERTIES *) info->properties;
85     status = gx_pixelmap_button_create(button, info->widget_name, parent,
86                props->normal_pixelmap_id,
87                props->selected_pixelmap_id,
88                props->disabled_pixelmap_id,
89                info->style, info->widget_id, &info->size);
90     return status;
91 }
92 
gx_studio_icon_create(GX_CONST GX_STUDIO_WIDGET * info,GX_WIDGET * control_block,GX_WIDGET * parent)93 UINT gx_studio_icon_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent)
94 {
95     UINT status;
96     GX_ICON *icon = (GX_ICON *) control_block;
97     GX_ICON_PROPERTIES *props = (GX_ICON_PROPERTIES *) info->properties;
98     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);
99     if (props->selected_pixelmap_id)
100     {
101         gx_icon_pixelmap_set(icon, props->normal_pixelmap_id, props->selected_pixelmap_id);
102     }
103     else
104     {
105         gx_widget_resize((GX_WIDGET *)icon, (GX_RECTANGLE *)&info->size);
106     }
107     return status;
108 }
109 
gx_studio_progress_bar_create(GX_CONST GX_STUDIO_WIDGET * info,GX_WIDGET * control_block,GX_WIDGET * parent)110 UINT gx_studio_progress_bar_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent)
111 {
112     UINT status;
113     GX_PROGRESS_BAR *bar = (GX_PROGRESS_BAR *) control_block;
114     GX_PROGRESS_BAR_INFO *bar_info = (GX_PROGRESS_BAR_INFO *) info->properties;
115     status = gx_progress_bar_create(bar,
116                     info->widget_name,
117                     parent,
118                     bar_info,
119                     info->style,
120                     info->widget_id,
121                     &info->size);
122     return status;
123 }
124 
gx_studio_radial_progress_bar_create(GX_CONST GX_STUDIO_WIDGET * info,GX_WIDGET * control_block,GX_WIDGET * parent)125 UINT gx_studio_radial_progress_bar_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent)
126 {
127     UINT status;
128     GX_RADIAL_PROGRESS_BAR *bar = (GX_RADIAL_PROGRESS_BAR *) control_block;
129     GX_RADIAL_PROGRESS_BAR_INFO *bar_info = (GX_RADIAL_PROGRESS_BAR_INFO *) info->properties;
130     status = gx_radial_progress_bar_create(bar,
131                     info->widget_name,
132                     parent,
133                     bar_info,
134                     info->style,
135                     info->widget_id);
136     return status;
137 }
138 
gx_studio_radial_slider_create(GX_CONST GX_STUDIO_WIDGET * info,GX_WIDGET * control_block,GX_WIDGET * parent)139 UINT gx_studio_radial_slider_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent)
140 {
141     UINT status;
142     GX_RADIAL_SLIDER *slider = (GX_RADIAL_SLIDER *) control_block;
143     GX_RADIAL_SLIDER_INFO slider_info;
144     GX_RADIAL_SLIDER_PROPERTIES *props = (GX_RADIAL_SLIDER_PROPERTIES *)info->properties;
145     memset(&slider_info, 0, sizeof(GX_RADIAL_SLIDER_INFO));
146     slider_info.gx_radial_slider_info_xcenter = props->xcenter;
147     slider_info.gx_radial_slider_info_ycenter = props->ycenter;
148     slider_info.gx_radial_slider_info_radius = props->radius;
149     slider_info.gx_radial_slider_info_track_width = props->track_width;
150     slider_info.gx_radial_slider_info_needle_offset = props->needle_offset;
151     slider_info.gx_radial_slider_info_current_angle = props->current_angle;
152     slider_info.gx_radial_slider_info_min_angle = props->min_angle;
153     slider_info.gx_radial_slider_info_max_angle = props->max_angle;
154     slider_info.gx_radial_slider_info_background_pixelmap = props->background_pixelmap;
155     slider_info.gx_radial_slider_info_needle_pixelmap = props->needle_pixelmap;
156     status = gx_radial_slider_create(slider,
157                     info->widget_name,
158                     parent,
159                     &slider_info,
160                     info->style,
161                     info->widget_id,
162                     &info->size);
163     gx_radial_slider_animation_set(slider, props->animation_total_steps, props->animation_delay, props->animation_style, props->animation_update_callback);
164     return status;
165 }
166 
gx_studio_prompt_create(GX_CONST GX_STUDIO_WIDGET * info,GX_WIDGET * control_block,GX_WIDGET * parent)167 UINT gx_studio_prompt_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent)
168 {
169     UINT status;
170     GX_PROMPT *prompt = (GX_PROMPT *) control_block;
171     GX_PROMPT_PROPERTIES *props = (GX_PROMPT_PROPERTIES *) info->properties;
172     status = gx_prompt_create(prompt, info->widget_name, parent, props->string_id, info->style, info->widget_id, &info->size);
173     if (status == GX_SUCCESS)
174     {
175         gx_prompt_font_set(prompt, props->font_id);
176 #if defined(GUIX_5_4_0_COMPATIBILITY)
177         gx_prompt_text_color_set(prompt, props->normal_text_color_id, props->selected_text_color_id);
178 #else
179         gx_prompt_text_color_set(prompt, props->normal_text_color_id, props->selected_text_color_id, props->disabled_text_color_id);
180 #endif
181     }
182     return status;
183 }
184 
gx_studio_numeric_prompt_create(GX_CONST GX_STUDIO_WIDGET * info,GX_WIDGET * control_block,GX_WIDGET * parent)185 UINT gx_studio_numeric_prompt_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent)
186 {
187     UINT status;
188     GX_NUMERIC_PROMPT *prompt = (GX_NUMERIC_PROMPT *) control_block;
189     GX_NUMERIC_PROMPT_PROPERTIES *props = (GX_NUMERIC_PROMPT_PROPERTIES *) info->properties;
190     status = gx_numeric_prompt_create(prompt, info->widget_name, parent, props->string_id, info->style, info->widget_id, &info->size);
191     if (status == GX_SUCCESS)
192     {
193         gx_prompt_font_set((GX_PROMPT *)prompt, props->font_id);
194 #if defined(GUIX_5_4_0_COMPATIBILITY)
195         gx_prompt_text_color_set((GX_PROMPT *)prompt, props->normal_text_color_id, props->selected_text_color_id);
196 #else
197         gx_prompt_text_color_set((GX_PROMPT *)prompt, props->normal_text_color_id, props->selected_text_color_id, props->disabled_text_color_id);
198 #endif
199         if(!props->string_id)
200         {
201             gx_numeric_prompt_value_set(prompt, props->numeric_prompt_value);
202         }
203         if(props->format_func)
204         {
205             gx_numeric_prompt_format_function_set(prompt, props->format_func);
206         }
207     }
208     return status;
209 }
210 
gx_studio_window_create(GX_CONST GX_STUDIO_WIDGET * info,GX_WIDGET * control_block,GX_WIDGET * parent)211 UINT gx_studio_window_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent)
212 {
213     UINT status;
214     GX_WINDOW *window = (GX_WINDOW *) control_block;
215     GX_WINDOW_PROPERTIES *props = (GX_WINDOW_PROPERTIES *) info->properties;
216     status = gx_window_create(window, info->widget_name, parent, info->style, info->widget_id, &info->size);
217     if (status == GX_SUCCESS)
218     {
219         if (props->wallpaper_id)
220         {
221             gx_window_wallpaper_set(window, props->wallpaper_id, info->style & GX_STYLE_TILE_WALLPAPER);
222         }
223     }
224     return status;
225 }
226 
gx_studio_template_create(GX_CONST GX_STUDIO_WIDGET * info,GX_WIDGET * control_block,GX_WIDGET * parent)227 UINT gx_studio_template_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent)
228 {
229     UINT status = GX_SUCCESS;
230     GX_STUDIO_WIDGET derived;
231     GX_TEMPLATE_PROPERTIES *props = (GX_TEMPLATE_PROPERTIES *) info->properties;
232 
233                                              /* create base widget and children */
234     derived =            *props->base_info;
235     derived.widget_id =   info->widget_id;
236     derived.widget_name = info->widget_name;
237 
238     if (info->style & GX_STYLE_ENABLED)
239     {
240         derived.style |= GX_STYLE_ENABLED;
241     }
242     else
243     {
244         derived.style &= ~GX_STYLE_ENABLED;
245     }
246     if (info->status & GX_STATUS_ACCEPTS_FOCUS)
247     {
248         derived.status |= GX_STATUS_ACCEPTS_FOCUS;
249     }
250     else
251     {
252         derived.status &= ~GX_STATUS_ACCEPTS_FOCUS;
253     }
254 
255     #if defined(GX_WIDGET_USER_DATA)
256     derived.user_data =   info->user_data;
257     #endif
258 
259     control_block = gx_studio_widget_create((GX_BYTE *) control_block, &derived, parent);
260     if (control_block)
261     {
262         if (info->style & GX_STYLE_DYNAMICALLY_ALLOCATED)
263         {
264             control_block->gx_widget_status |= GX_STATUS_DYNAMICALLY_ALLOCATED;
265         }
266         if (derived.size.gx_rectangle_left != info->size.gx_rectangle_left ||
267             derived.size.gx_rectangle_top != info->size.gx_rectangle_top)
268         {
269             gx_widget_shift(control_block,
270                 info->size.gx_rectangle_left - derived.size.gx_rectangle_left,
271                 info->size.gx_rectangle_top - derived.size.gx_rectangle_top, GX_FALSE);
272         }
273     }
274     else
275     {
276         status = GX_FAILURE;
277     }
278     return status;
279 }
280 GX_PIXELMAP_BUTTON_PROPERTIES template_mode_btn_small_properties =
281 {
282     GX_PIXELMAP_ID_CYCLE_QUICK_SMALL,        /* normal pixelmap id             */
283     0,                                       /* selected pixelmap id           */
284     0                                        /* disabled pixelmap id           */
285 };
286 GX_PROMPT_PROPERTIES template_mode_btn_small_mode_label_properties =
287 {
288     GX_STRING_ID_QUICK,                      /* string id                      */
289     GX_FONT_ID_MIDDLE,                       /* font id                        */
290     GX_COLOR_ID_WHITE,                       /* normal text color              */
291     GX_COLOR_ID_WHITE,                       /* selected text color            */
292     GX_COLOR_ID_WHITE                        /* disabled text color            */
293 };
294 GX_PROMPT_PROPERTIES template_mode_btn_small_mode_label_4_properties =
295 {
296     GX_STRING_ID_STRING_14,                  /* string id                      */
297     GX_FONT_ID_NORMAL,                       /* font id                        */
298     GX_COLOR_ID_WHITE,                       /* normal text color              */
299     GX_COLOR_ID_WHITE,                       /* selected text color            */
300     GX_COLOR_ID_WHITE                        /* disabled text color            */
301 };
302 GX_NUMERIC_PROMPT_PROPERTIES template_mode_btn_small_total_time_properties =
303 {
304     0,                                       /* string id                      */
305     GX_FONT_ID_NORMAL,                       /* font id                        */
306     GX_COLOR_ID_WHITE,                       /* normal text color              */
307     GX_COLOR_ID_WHITE,                       /* selected text color            */
308     GX_COLOR_ID_WHITE,                       /* disabled text color            */
309     GX_NULL,                                 /* format function                */
310     30                                       /* numeric prompt value           */
311 };
312 GX_PROMPT_PROPERTIES template_mode_btn_small_mode_label_5_properties =
313 {
314     GX_STRING_ID_STRING_12,                  /* string id                      */
315     GX_FONT_ID_SYSTEM,                       /* font id                        */
316     GX_COLOR_ID_GRAY,                        /* normal text color              */
317     GX_COLOR_ID_GRAY,                        /* selected text color            */
318     GX_COLOR_ID_GRAY                         /* disabled text color            */
319 };
320 
321 GX_CONST GX_STUDIO_WIDGET template_mode_btn_small_mode_label_5_define =
322 {
323     "mode_label_5",
324     GX_TYPE_PROMPT,                          /* widget type                    */
325     GX_ID_NONE,                              /* widget id                      */
326     #if defined(GX_WIDGET_USER_DATA)
327     0,                                       /* user data                      */
328     #endif
329     GX_STYLE_BORDER_NONE|GX_STYLE_TRANSPARENT|GX_STYLE_TEXT_CENTER,   /* style flags */
330     0,                                       /* status flags                   */
331     sizeof(GX_PROMPT),                       /* control block size             */
332     GX_COLOR_ID_WIDGET_FILL,                 /* normal color id                */
333     GX_COLOR_ID_SELECTED_FILL,               /* selected color id              */
334     GX_COLOR_ID_DISABLED_FILL,               /* disabled color id              */
335     gx_studio_prompt_create,                 /* create function                */
336     GX_NULL,                                 /* drawing function override      */
337     GX_NULL,                                 /* event function override        */
338     {118, 161, 146, 178},                    /* widget size                    */
339     GX_NULL,                                 /* no next widget                 */
340     GX_NULL,                                 /* no child widgets               */
341     offsetof(TEMPLATE_MODE_BTN_SMALL_CONTROL_BLOCK, template_mode_btn_small_mode_label_5), /* control block */
342     (void *) &template_mode_btn_small_mode_label_5_properties /* extended properties */
343 };
344 
345 GX_CONST GX_STUDIO_WIDGET template_mode_btn_small_total_time_define =
346 {
347     "total_time",
348     GX_TYPE_NUMERIC_PROMPT,                  /* widget type                    */
349     GX_ID_NONE,                              /* widget id                      */
350     #if defined(GX_WIDGET_USER_DATA)
351     0,                                       /* user data                      */
352     #endif
353     GX_STYLE_BORDER_NONE|GX_STYLE_TRANSPARENT|GX_STYLE_ENABLED|GX_STYLE_TEXT_CENTER,   /* style flags */
354     GX_STATUS_ACCEPTS_FOCUS,                 /* status flags                   */
355     sizeof(GX_NUMERIC_PROMPT),               /* control block size             */
356     GX_COLOR_ID_WIDGET_FILL,                 /* normal color id                */
357     GX_COLOR_ID_SELECTED_FILL,               /* selected color id              */
358     GX_COLOR_ID_DISABLED_FILL,               /* disabled color id              */
359     gx_studio_numeric_prompt_create,         /* create function                */
360     GX_NULL,                                 /* drawing function override      */
361     GX_NULL,                                 /* event function override        */
362     {81, 157, 110, 181},                     /* widget size                    */
363     &template_mode_btn_small_mode_label_5_define, /* next widget definition    */
364     GX_NULL,                                 /* no child widgets               */
365     offsetof(TEMPLATE_MODE_BTN_SMALL_CONTROL_BLOCK, template_mode_btn_small_total_time), /* control block */
366     (void *) &template_mode_btn_small_total_time_properties /* extended properties */
367 };
368 
369 GX_CONST GX_STUDIO_WIDGET template_mode_btn_small_mode_label_4_define =
370 {
371     "mode_label_4",
372     GX_TYPE_PROMPT,                          /* widget type                    */
373     GX_ID_NONE,                              /* widget id                      */
374     #if defined(GX_WIDGET_USER_DATA)
375     0,                                       /* user data                      */
376     #endif
377     GX_STYLE_BORDER_NONE|GX_STYLE_TRANSPARENT|GX_STYLE_TEXT_CENTER,   /* style flags */
378     0,                                       /* status flags                   */
379     sizeof(GX_PROMPT),                       /* control block size             */
380     GX_COLOR_ID_WIDGET_FILL,                 /* normal color id                */
381     GX_COLOR_ID_SELECTED_FILL,               /* selected color id              */
382     GX_COLOR_ID_DISABLED_FILL,               /* disabled color id              */
383     gx_studio_prompt_create,                 /* create function                */
384     GX_NULL,                                 /* drawing function override      */
385     GX_NULL,                                 /* event function override        */
386     {80, 126, 146, 150},                     /* widget size                    */
387     &template_mode_btn_small_total_time_define, /* next widget definition      */
388     GX_NULL,                                 /* no child widgets               */
389     offsetof(TEMPLATE_MODE_BTN_SMALL_CONTROL_BLOCK, template_mode_btn_small_mode_label_4), /* control block */
390     (void *) &template_mode_btn_small_mode_label_4_properties /* extended properties */
391 };
392 
393 GX_CONST GX_STUDIO_WIDGET template_mode_btn_small_mode_label_define =
394 {
395     "mode_label",
396     GX_TYPE_PROMPT,                          /* widget type                    */
397     GX_ID_NONE,                              /* widget id                      */
398     #if defined(GX_WIDGET_USER_DATA)
399     0,                                       /* user data                      */
400     #endif
401     GX_STYLE_BORDER_NONE|GX_STYLE_TRANSPARENT|GX_STYLE_TEXT_CENTER,   /* style flags */
402     0,                                       /* status flags                   */
403     sizeof(GX_PROMPT),                       /* control block size             */
404     GX_COLOR_ID_WIDGET_FILL,                 /* normal color id                */
405     GX_COLOR_ID_SELECTED_FILL,               /* selected color id              */
406     GX_COLOR_ID_DISABLED_FILL,               /* disabled color id              */
407     gx_studio_prompt_create,                 /* create function                */
408     GX_NULL,                                 /* drawing function override      */
409     GX_NULL,                                 /* event function override        */
410     {62, 68, 160, 103},                      /* widget size                    */
411     &template_mode_btn_small_mode_label_4_define, /* next widget definition    */
412     GX_NULL,                                 /* no child widgets               */
413     offsetof(TEMPLATE_MODE_BTN_SMALL_CONTROL_BLOCK, template_mode_btn_small_mode_label), /* control block */
414     (void *) &template_mode_btn_small_mode_label_properties /* extended properties */
415 };
416 
417 GX_CONST GX_STUDIO_WIDGET template_mode_btn_small_define =
418 {
419     "template_mode_btn_small",
420     GX_TYPE_PIXELMAP_BUTTON,                 /* widget type                    */
421     GX_ID_NONE,                              /* widget id                      */
422     #if defined(GX_WIDGET_USER_DATA)
423     0,                                       /* user data                      */
424     #endif
425     GX_STYLE_BORDER_NONE|GX_STYLE_TRANSPARENT|GX_STYLE_ENABLED,   /* style flags */
426     GX_STATUS_ACCEPTS_FOCUS,                 /* status flags                   */
427     sizeof(TEMPLATE_MODE_BTN_SMALL_CONTROL_BLOCK), /* control block size       */
428     GX_COLOR_ID_BTN_LOWER,                   /* normal color id                */
429     GX_COLOR_ID_BTN_UPPER,                   /* selected color id              */
430     GX_COLOR_ID_DISABLED_FILL,               /* disabled color id              */
431     gx_studio_pixelmap_button_create,        /* create function                */
432     GX_NULL,                                 /* drawing function override      */
433     GX_NULL,                                 /* event function override        */
434     {0, 0, 223, 223},                        /* widget size                    */
435     GX_NULL,                                 /* next widget                    */
436     &template_mode_btn_small_mode_label_define, /* child widget                */
437     0,                                       /* control block                  */
438     (void *) &template_mode_btn_small_properties /* extended properties        */
439 };
440 GX_PIXELMAP_BUTTON_PROPERTIES template_mode_btn_properties =
441 {
442     GX_PIXELMAP_ID_CYCLE_QUICK,              /* normal pixelmap id             */
443     0,                                       /* selected pixelmap id           */
444     0                                        /* disabled pixelmap id           */
445 };
446 GX_PROMPT_PROPERTIES template_mode_btn_mode_label_properties =
447 {
448     GX_STRING_ID_QUICK,                      /* string id                      */
449     GX_FONT_ID_BIG,                          /* font id                        */
450     GX_COLOR_ID_WHITE,                       /* normal text color              */
451     GX_COLOR_ID_WHITE,                       /* selected text color            */
452     GX_COLOR_ID_WHITE                        /* disabled text color            */
453 };
454 GX_PROMPT_PROPERTIES template_mode_btn_wash_label_properties =
455 {
456     GX_STRING_ID_STRING_14,                  /* string id                      */
457     GX_FONT_ID_MIDDLE,                       /* font id                        */
458     GX_COLOR_ID_WHITE,                       /* normal text color              */
459     GX_COLOR_ID_WHITE,                       /* selected text color            */
460     GX_COLOR_ID_WHITE                        /* disabled text color            */
461 };
462 GX_PROMPT_PROPERTIES template_mode_btn_min_label_properties =
463 {
464     GX_STRING_ID_STRING_12,                  /* string id                      */
465     GX_FONT_ID_NORMAL,                       /* font id                        */
466     GX_COLOR_ID_GRAY,                        /* normal text color              */
467     GX_COLOR_ID_GRAY,                        /* selected text color            */
468     GX_COLOR_ID_GRAY                         /* disabled text color            */
469 };
470 GX_NUMERIC_PROMPT_PROPERTIES template_mode_btn_total_time_properties =
471 {
472     0,                                       /* string id                      */
473     GX_FONT_ID_MIDDLE,                       /* font id                        */
474     GX_COLOR_ID_WHITE,                       /* normal text color              */
475     GX_COLOR_ID_WHITE,                       /* selected text color            */
476     GX_COLOR_ID_WHITE,                       /* disabled text color            */
477     GX_NULL,                                 /* format function                */
478     30                                       /* numeric prompt value           */
479 };
480 GX_RADIAL_PROGRESS_BAR_INFO template_mode_btn_mode_progress_bar_properties =
481 {
482     159,                                     /* xcenter                        */
483     158,                                     /* ycenter                        */
484     122,                                     /* radius                         */
485     -270,                                    /* current val                    */
486     90,                                      /* anchor val                     */
487     GX_FONT_ID_SYSTEM,                       /* font_id                        */
488     GX_COLOR_ID_WHITE,                       /* normal text color              */
489     GX_COLOR_ID_SELECTED_TEXT,               /* selected text color            */
490     GX_COLOR_ID_DISABLED_TEXT,               /* disabled text color            */
491     5,                                       /* normal brush width             */
492     5,                                       /* selected brush width           */
493     GX_COLOR_ID_SLIDER_NEEDLE_FILL,          /* normal brush color             */
494     GX_COLOR_ID_SHINE,                       /* selected brush color           */
495 };
496 GX_NUMERIC_PROMPT_PROPERTIES template_mode_btn_minute_properties =
497 {
498     0,                                       /* string id                      */
499     GX_FONT_ID_SYSTEM,                       /* font id                        */
500     GX_COLOR_ID_WHITE,                       /* normal text color              */
501     GX_COLOR_ID_WHITE,                       /* selected text color            */
502     GX_COLOR_ID_WHITE,                       /* disabled text color            */
503     GX_NULL,                                 /* format function                */
504     60                                       /* numeric prompt value           */
505 };
506 GX_NUMERIC_PROMPT_PROPERTIES template_mode_btn_second_properties =
507 {
508     0,                                       /* string id                      */
509     GX_FONT_ID_SYSTEM,                       /* font id                        */
510     GX_COLOR_ID_WHITE,                       /* normal text color              */
511     GX_COLOR_ID_WHITE,                       /* selected text color            */
512     GX_COLOR_ID_WHITE,                       /* disabled text color            */
513     time_format,                             /* format function                */
514     60                                       /* numeric prompt value           */
515 };
516 GX_PROMPT_PROPERTIES template_mode_btn_prompt_3_properties =
517 {
518     GX_STRING_ID_STRING_4,                   /* string id                      */
519     GX_FONT_ID_SYSTEM,                       /* font id                        */
520     GX_COLOR_ID_WHITE,                       /* normal text color              */
521     GX_COLOR_ID_WHITE,                       /* selected text color            */
522     GX_COLOR_ID_WHITE                        /* disabled text color            */
523 };
524 GX_PROMPT_PROPERTIES template_mode_btn_prompt_2_properties =
525 {
526     GX_STRING_ID_STRING_5,                   /* string id                      */
527     GX_FONT_ID_SYSTEM,                       /* font id                        */
528     GX_COLOR_ID_WHITE,                       /* normal text color              */
529     GX_COLOR_ID_WHITE,                       /* selected text color            */
530     GX_COLOR_ID_WHITE                        /* disabled text color            */
531 };
532 
533 GX_CONST GX_STUDIO_WIDGET template_mode_btn_prompt_2_define =
534 {
535     "prompt_2",
536     GX_TYPE_PROMPT,                          /* widget type                    */
537     GX_ID_NONE,                              /* widget id                      */
538     #if defined(GX_WIDGET_USER_DATA)
539     0,                                       /* user data                      */
540     #endif
541     GX_STYLE_BORDER_NONE|GX_STYLE_TRANSPARENT|GX_STYLE_TEXT_CENTER,   /* style flags */
542     0,                                       /* status flags                   */
543     sizeof(GX_PROMPT),                       /* control block size             */
544     GX_COLOR_ID_WIDGET_FILL,                 /* normal color id                */
545     GX_COLOR_ID_SELECTED_FILL,               /* selected color id              */
546     GX_COLOR_ID_DISABLED_FILL,               /* disabled color id              */
547     gx_studio_prompt_create,                 /* create function                */
548     GX_NULL,                                 /* drawing function override      */
549     GX_NULL,                                 /* event function override        */
550     {174, 57, 198, 74},                      /* widget size                    */
551     GX_NULL,                                 /* no next widget                 */
552     GX_NULL,                                 /* no child widgets               */
553     offsetof(TEMPLATE_MODE_BTN_CONTROL_BLOCK, template_mode_btn_prompt_2), /* control block */
554     (void *) &template_mode_btn_prompt_2_properties /* extended properties     */
555 };
556 
557 GX_CONST GX_STUDIO_WIDGET template_mode_btn_prompt_3_define =
558 {
559     "prompt_3",
560     GX_TYPE_PROMPT,                          /* widget type                    */
561     GX_ID_NONE,                              /* widget id                      */
562     #if defined(GX_WIDGET_USER_DATA)
563     0,                                       /* user data                      */
564     #endif
565     GX_STYLE_BORDER_NONE|GX_STYLE_TRANSPARENT|GX_STYLE_TEXT_CENTER,   /* style flags */
566     0,                                       /* status flags                   */
567     sizeof(GX_PROMPT),                       /* control block size             */
568     GX_COLOR_ID_WIDGET_FILL,                 /* normal color id                */
569     GX_COLOR_ID_SELECTED_FILL,               /* selected color id              */
570     GX_COLOR_ID_DISABLED_FILL,               /* disabled color id              */
571     gx_studio_prompt_create,                 /* create function                */
572     GX_NULL,                                 /* drawing function override      */
573     GX_NULL,                                 /* event function override        */
574     {146, 55, 149, 72},                      /* widget size                    */
575     &template_mode_btn_prompt_2_define,      /* next widget definition         */
576     GX_NULL,                                 /* no child widgets               */
577     offsetof(TEMPLATE_MODE_BTN_CONTROL_BLOCK, template_mode_btn_prompt_3), /* control block */
578     (void *) &template_mode_btn_prompt_3_properties /* extended properties     */
579 };
580 
581 GX_CONST GX_STUDIO_WIDGET template_mode_btn_second_define =
582 {
583     "second",
584     GX_TYPE_NUMERIC_PROMPT,                  /* widget type                    */
585     GX_ID_NONE,                              /* widget id                      */
586     #if defined(GX_WIDGET_USER_DATA)
587     0,                                       /* user data                      */
588     #endif
589     GX_STYLE_BORDER_NONE|GX_STYLE_TRANSPARENT|GX_STYLE_TEXT_LEFT,   /* style flags */
590     0,                                       /* status flags                   */
591     sizeof(GX_NUMERIC_PROMPT),               /* control block size             */
592     GX_COLOR_ID_WIDGET_FILL,                 /* normal color id                */
593     GX_COLOR_ID_SELECTED_FILL,               /* selected color id              */
594     GX_COLOR_ID_DISABLED_FILL,               /* disabled color id              */
595     gx_studio_numeric_prompt_create,         /* create function                */
596     GX_NULL,                                 /* drawing function override      */
597     GX_NULL,                                 /* event function override        */
598     {152, 56, 169, 73},                      /* widget size                    */
599     &template_mode_btn_prompt_3_define,      /* next widget definition         */
600     GX_NULL,                                 /* no child widgets               */
601     offsetof(TEMPLATE_MODE_BTN_CONTROL_BLOCK, template_mode_btn_second), /* control block */
602     (void *) &template_mode_btn_second_properties /* extended properties       */
603 };
604 
605 GX_CONST GX_STUDIO_WIDGET template_mode_btn_minute_define =
606 {
607     "minute",
608     GX_TYPE_NUMERIC_PROMPT,                  /* widget type                    */
609     GX_ID_NONE,                              /* widget id                      */
610     #if defined(GX_WIDGET_USER_DATA)
611     0,                                       /* user data                      */
612     #endif
613     GX_STYLE_BORDER_NONE|GX_STYLE_TRANSPARENT|GX_STYLE_TEXT_CENTER,   /* style flags */
614     0,                                       /* status flags                   */
615     sizeof(GX_NUMERIC_PROMPT),               /* control block size             */
616     GX_COLOR_ID_WIDGET_FILL,                 /* normal color id                */
617     GX_COLOR_ID_SELECTED_FILL,               /* selected color id              */
618     GX_COLOR_ID_DISABLED_FILL,               /* disabled color id              */
619     gx_studio_numeric_prompt_create,         /* create function                */
620     GX_NULL,                                 /* drawing function override      */
621     GX_NULL,                                 /* event function override        */
622     {127, 56, 144, 73},                      /* widget size                    */
623     &template_mode_btn_second_define,        /* next widget definition         */
624     GX_NULL,                                 /* no child widgets               */
625     offsetof(TEMPLATE_MODE_BTN_CONTROL_BLOCK, template_mode_btn_minute), /* control block */
626     (void *) &template_mode_btn_minute_properties /* extended properties       */
627 };
628 
629 GX_CONST GX_STUDIO_WIDGET template_mode_btn_mode_progress_bar_define =
630 {
631     "mode_progress_bar",
632     GX_TYPE_RADIAL_PROGRESS_BAR,             /* widget type                    */
633     GX_ID_NONE,                              /* widget id                      */
634     #if defined(GX_WIDGET_USER_DATA)
635     0,                                       /* user data                      */
636     #endif
637     GX_STYLE_BORDER_NONE|GX_STYLE_TRANSPARENT|GX_STYLE_RADIAL_PROGRESS_NO_BACKTRACK|GX_STYLE_RADIAL_PROGRESS_ALIAS|GX_STYLE_RADIAL_PROGRESS_ROUND,   /* style flags */
638     0,                                       /* status flags                   */
639     sizeof(GX_RADIAL_PROGRESS_BAR),          /* control block size             */
640     GX_COLOR_ID_WIDGET_FILL,                 /* normal color id                */
641     GX_COLOR_ID_SELECTED_FILL,               /* selected color id              */
642     GX_COLOR_ID_DISABLED_FILL,               /* disabled color id              */
643     gx_studio_radial_progress_bar_create,     /* create function               */
644     GX_NULL,                                 /* drawing function override      */
645     GX_NULL,                                 /* event function override        */
646     {34, 33, 284, 283},                      /* widget size                    */
647     GX_NULL,                                 /* no next widget                 */
648     &template_mode_btn_minute_define,        /* child widget definition        */
649     offsetof(TEMPLATE_MODE_BTN_CONTROL_BLOCK, template_mode_btn_mode_progress_bar), /* control block */
650     (void *) &template_mode_btn_mode_progress_bar_properties /* extended properties */
651 };
652 
653 GX_CONST GX_STUDIO_WIDGET template_mode_btn_total_time_define =
654 {
655     "total_time",
656     GX_TYPE_NUMERIC_PROMPT,                  /* widget type                    */
657     GX_ID_NONE,                              /* widget id                      */
658     #if defined(GX_WIDGET_USER_DATA)
659     0,                                       /* user data                      */
660     #endif
661     GX_STYLE_BORDER_NONE|GX_STYLE_TRANSPARENT|GX_STYLE_ENABLED|GX_STYLE_TEXT_CENTER,   /* style flags */
662     GX_STATUS_ACCEPTS_FOCUS,                 /* status flags                   */
663     sizeof(GX_NUMERIC_PROMPT),               /* control block size             */
664     GX_COLOR_ID_WIDGET_FILL,                 /* normal color id                */
665     GX_COLOR_ID_SELECTED_FILL,               /* selected color id              */
666     GX_COLOR_ID_DISABLED_FILL,               /* disabled color id              */
667     gx_studio_numeric_prompt_create,         /* create function                */
668     GX_NULL,                                 /* drawing function override      */
669     GX_NULL,                                 /* event function override        */
670     {114, 227, 157, 262},                    /* widget size                    */
671     &template_mode_btn_mode_progress_bar_define, /* next widget definition     */
672     GX_NULL,                                 /* no child widgets               */
673     offsetof(TEMPLATE_MODE_BTN_CONTROL_BLOCK, template_mode_btn_total_time), /* control block */
674     (void *) &template_mode_btn_total_time_properties /* extended properties   */
675 };
676 
677 GX_CONST GX_STUDIO_WIDGET template_mode_btn_min_label_define =
678 {
679     "min_label",
680     GX_TYPE_PROMPT,                          /* widget type                    */
681     GX_ID_NONE,                              /* widget id                      */
682     #if defined(GX_WIDGET_USER_DATA)
683     0,                                       /* user data                      */
684     #endif
685     GX_STYLE_BORDER_NONE|GX_STYLE_TRANSPARENT|GX_STYLE_TEXT_CENTER,   /* style flags */
686     0,                                       /* status flags                   */
687     sizeof(GX_PROMPT),                       /* control block size             */
688     GX_COLOR_ID_WIDGET_FILL,                 /* normal color id                */
689     GX_COLOR_ID_SELECTED_FILL,               /* selected color id              */
690     GX_COLOR_ID_DISABLED_FILL,               /* disabled color id              */
691     gx_studio_prompt_create,                 /* create function                */
692     GX_NULL,                                 /* drawing function override      */
693     GX_NULL,                                 /* event function override        */
694     {166, 233, 210, 257},                    /* widget size                    */
695     &template_mode_btn_total_time_define,    /* next widget definition         */
696     GX_NULL,                                 /* no child widgets               */
697     offsetof(TEMPLATE_MODE_BTN_CONTROL_BLOCK, template_mode_btn_min_label), /* control block */
698     (void *) &template_mode_btn_min_label_properties /* extended properties    */
699 };
700 
701 GX_CONST GX_STUDIO_WIDGET template_mode_btn_wash_label_define =
702 {
703     "wash_label",
704     GX_TYPE_PROMPT,                          /* widget type                    */
705     GX_ID_NONE,                              /* widget id                      */
706     #if defined(GX_WIDGET_USER_DATA)
707     0,                                       /* user data                      */
708     #endif
709     GX_STYLE_BORDER_NONE|GX_STYLE_TRANSPARENT|GX_STYLE_TEXT_CENTER,   /* style flags */
710     0,                                       /* status flags                   */
711     sizeof(GX_PROMPT),                       /* control block size             */
712     GX_COLOR_ID_WIDGET_FILL,                 /* normal color id                */
713     GX_COLOR_ID_SELECTED_FILL,               /* selected color id              */
714     GX_COLOR_ID_DISABLED_FILL,               /* disabled color id              */
715     gx_studio_prompt_create,                 /* create function                */
716     GX_NULL,                                 /* drawing function override      */
717     GX_NULL,                                 /* event function override        */
718     {112, 178, 207, 213},                    /* widget size                    */
719     &template_mode_btn_min_label_define,     /* next widget definition         */
720     GX_NULL,                                 /* no child widgets               */
721     offsetof(TEMPLATE_MODE_BTN_CONTROL_BLOCK, template_mode_btn_wash_label), /* control block */
722     (void *) &template_mode_btn_wash_label_properties /* extended properties   */
723 };
724 
725 GX_CONST GX_STUDIO_WIDGET template_mode_btn_mode_label_define =
726 {
727     "mode_label",
728     GX_TYPE_PROMPT,                          /* widget type                    */
729     GX_ID_NONE,                              /* widget id                      */
730     #if defined(GX_WIDGET_USER_DATA)
731     0,                                       /* user data                      */
732     #endif
733     GX_STYLE_BORDER_NONE|GX_STYLE_TRANSPARENT|GX_STYLE_TEXT_CENTER,   /* style flags */
734     0,                                       /* status flags                   */
735     sizeof(GX_PROMPT),                       /* control block size             */
736     GX_COLOR_ID_WIDGET_FILL,                 /* normal color id                */
737     GX_COLOR_ID_SELECTED_FILL,               /* selected color id              */
738     GX_COLOR_ID_DISABLED_FILL,               /* disabled color id              */
739     gx_studio_prompt_create,                 /* create function                */
740     GX_NULL,                                 /* drawing function override      */
741     GX_NULL,                                 /* event function override        */
742     {72, 87, 241, 148},                      /* widget size                    */
743     &template_mode_btn_wash_label_define,    /* next widget definition         */
744     GX_NULL,                                 /* no child widgets               */
745     offsetof(TEMPLATE_MODE_BTN_CONTROL_BLOCK, template_mode_btn_mode_label), /* control block */
746     (void *) &template_mode_btn_mode_label_properties /* extended properties   */
747 };
748 
749 GX_CONST GX_STUDIO_WIDGET template_mode_btn_define =
750 {
751     "template_mode_btn",
752     GX_TYPE_PIXELMAP_BUTTON,                 /* widget type                    */
753     GX_ID_NONE,                              /* widget id                      */
754     #if defined(GX_WIDGET_USER_DATA)
755     0,                                       /* user data                      */
756     #endif
757     GX_STYLE_BORDER_NONE|GX_STYLE_TRANSPARENT|GX_STYLE_ENABLED,   /* style flags */
758     GX_STATUS_ACCEPTS_FOCUS,                 /* status flags                   */
759     sizeof(TEMPLATE_MODE_BTN_CONTROL_BLOCK), /* control block size             */
760     GX_COLOR_ID_BTN_LOWER,                   /* normal color id                */
761     GX_COLOR_ID_BTN_UPPER,                   /* selected color id              */
762     GX_COLOR_ID_DISABLED_FILL,               /* disabled color id              */
763     gx_studio_pixelmap_button_create,        /* create function                */
764     GX_NULL,                                 /* drawing function override      */
765     GX_NULL,                                 /* event function override        */
766     {0, 0, 316, 317},                        /* widget size                    */
767     GX_NULL,                                 /* next widget                    */
768     &template_mode_btn_mode_label_define,    /* child widget                   */
769     0,                                       /* control block                  */
770     (void *) &template_mode_btn_properties   /* extended properties            */
771 };
772 GX_WINDOW_PROPERTIES mode_select_window_properties =
773 {
774     0                                        /* wallpaper pixelmap id          */
775 };
776 GX_TEMPLATE_PROPERTIES mode_select_window_btn_quick_properties =
777 {
778     &template_mode_btn_define,               /* base info                      */
779     gx_studio_pixelmap_button_create,        /* base create function           */
780     {8, 82, 324, 399}                        /* widget size                    */
781 };
782 GX_TEMPLATE_PROPERTIES mode_select_window_btn_deep_properties =
783 {
784     &template_mode_btn_define,               /* base info                      */
785     gx_studio_pixelmap_button_create,        /* base create function           */
786     {316, 82, 632, 399}                      /* widget size                    */
787 };
788 GX_TEMPLATE_PROPERTIES mode_select_window_btn_quick_small_properties =
789 {
790     &template_mode_btn_small_define,         /* base info                      */
791     gx_studio_pixelmap_button_create,        /* base create function           */
792     {9, 129, 232, 352}                       /* widget size                    */
793 };
794 GX_TEMPLATE_PROPERTIES mode_select_window_btn_deep_small_properties =
795 {
796     &template_mode_btn_small_define,         /* base info                      */
797     gx_studio_pixelmap_button_create,        /* base create function           */
798     {411, 129, 634, 352}                     /* widget size                    */
799 };
800 GX_TEMPLATE_PROPERTIES mode_select_window_btn_eco_properties =
801 {
802     &template_mode_btn_define,               /* base info                      */
803     gx_studio_pixelmap_button_create,        /* base create function           */
804     {163, 82, 479, 399}                      /* widget size                    */
805 };
806 GX_TEMPLATE_PROPERTIES mode_select_window_btn_eco_small_properties =
807 {
808     &template_mode_btn_small_define,         /* base info                      */
809     gx_studio_pixelmap_button_create,        /* base create function           */
810     {210, 129, 433, 352}                     /* widget size                    */
811 };
812 
813 GX_CONST GX_STUDIO_WIDGET mode_select_window_btn_eco_small_define =
814 {
815     "btn_eco_small",
816     GX_TYPE_TEMPLATE,                        /* widget type                    */
817     ID_BTN_ECO_SMALL,                        /* widget id                      */
818     #if defined(GX_WIDGET_USER_DATA)
819     0,                                       /* user data                      */
820     #endif
821     GX_STYLE_BORDER_NONE|GX_STYLE_TRANSPARENT|GX_STYLE_ENABLED,   /* style flags */
822     GX_STATUS_ACCEPTS_FOCUS,                 /* status flags                   */
823     sizeof(TEMPLATE_MODE_BTN_SMALL_CONTROL_BLOCK), /* control block size       */
824     GX_COLOR_ID_BTN_LOWER,                   /* normal color id                */
825     GX_COLOR_ID_BTN_UPPER,                   /* selected color id              */
826     GX_COLOR_ID_DISABLED_FILL,               /* disabled color id              */
827     gx_studio_template_create,               /* create function                */
828     GX_NULL,                                 /* drawing function override      */
829     GX_NULL,                                 /* event function override        */
830     {210, 129, 433, 352},                    /* widget size                    */
831     GX_NULL,                                 /* no next widget                 */
832     GX_NULL,                                 /* no child widgets               */
833     offsetof(MODE_SELECT_WINDOW_CONTROL_BLOCK, mode_select_window_btn_eco_small), /* control block */
834     (void *) &mode_select_window_btn_eco_small_properties /* extended properties */
835 };
836 
837 GX_CONST GX_STUDIO_WIDGET mode_select_window_btn_eco_define =
838 {
839     "btn_eco",
840     GX_TYPE_TEMPLATE,                        /* widget type                    */
841     ID_BTN_ECO,                              /* widget id                      */
842     #if defined(GX_WIDGET_USER_DATA)
843     0,                                       /* user data                      */
844     #endif
845     GX_STYLE_BORDER_NONE|GX_STYLE_ENABLED,   /* style flags                    */
846     GX_STATUS_ACCEPTS_FOCUS,                 /* status flags                   */
847     sizeof(TEMPLATE_MODE_BTN_CONTROL_BLOCK), /* control block size             */
848     GX_COLOR_ID_BTN_LOWER,                   /* normal color id                */
849     GX_COLOR_ID_BTN_UPPER,                   /* selected color id              */
850     GX_COLOR_ID_DISABLED_FILL,               /* disabled color id              */
851     gx_studio_template_create,               /* create function                */
852     GX_NULL,                                 /* drawing function override      */
853     GX_NULL,                                 /* event function override        */
854     {163, 82, 479, 399},                     /* widget size                    */
855     &mode_select_window_btn_eco_small_define, /* next widget definition        */
856     GX_NULL,                                 /* no child widgets               */
857     offsetof(MODE_SELECT_WINDOW_CONTROL_BLOCK, mode_select_window_btn_eco), /* control block */
858     (void *) &mode_select_window_btn_eco_properties /* extended properties     */
859 };
860 
861 GX_CONST GX_STUDIO_WIDGET mode_select_window_btn_deep_small_define =
862 {
863     "btn_deep_small",
864     GX_TYPE_TEMPLATE,                        /* widget type                    */
865     ID_BTN_DEEP_SMALL,                       /* widget id                      */
866     #if defined(GX_WIDGET_USER_DATA)
867     0,                                       /* user data                      */
868     #endif
869     GX_STYLE_BORDER_NONE|GX_STYLE_TRANSPARENT|GX_STYLE_ENABLED,   /* style flags */
870     GX_STATUS_ACCEPTS_FOCUS,                 /* status flags                   */
871     sizeof(TEMPLATE_MODE_BTN_SMALL_CONTROL_BLOCK), /* control block size       */
872     GX_COLOR_ID_BTN_LOWER,                   /* normal color id                */
873     GX_COLOR_ID_BTN_UPPER,                   /* selected color id              */
874     GX_COLOR_ID_DISABLED_FILL,               /* disabled color id              */
875     gx_studio_template_create,               /* create function                */
876     GX_NULL,                                 /* drawing function override      */
877     GX_NULL,                                 /* event function override        */
878     {411, 129, 634, 352},                    /* widget size                    */
879     &mode_select_window_btn_eco_define,      /* next widget definition         */
880     GX_NULL,                                 /* no child widgets               */
881     offsetof(MODE_SELECT_WINDOW_CONTROL_BLOCK, mode_select_window_btn_deep_small), /* control block */
882     (void *) &mode_select_window_btn_deep_small_properties /* extended properties */
883 };
884 
885 GX_CONST GX_STUDIO_WIDGET mode_select_window_btn_quick_small_define =
886 {
887     "btn_quick_small",
888     GX_TYPE_TEMPLATE,                        /* widget type                    */
889     ID_BTN_QUICK_SMALL,                      /* widget id                      */
890     #if defined(GX_WIDGET_USER_DATA)
891     0,                                       /* user data                      */
892     #endif
893     GX_STYLE_BORDER_NONE|GX_STYLE_TRANSPARENT|GX_STYLE_ENABLED,   /* style flags */
894     GX_STATUS_ACCEPTS_FOCUS,                 /* status flags                   */
895     sizeof(TEMPLATE_MODE_BTN_SMALL_CONTROL_BLOCK), /* control block size       */
896     GX_COLOR_ID_BTN_LOWER,                   /* normal color id                */
897     GX_COLOR_ID_BTN_UPPER,                   /* selected color id              */
898     GX_COLOR_ID_DISABLED_FILL,               /* disabled color id              */
899     gx_studio_template_create,               /* create function                */
900     GX_NULL,                                 /* drawing function override      */
901     GX_NULL,                                 /* event function override        */
902     {9, 129, 232, 352},                      /* widget size                    */
903     &mode_select_window_btn_deep_small_define, /* next widget definition       */
904     GX_NULL,                                 /* no child widgets               */
905     offsetof(MODE_SELECT_WINDOW_CONTROL_BLOCK, mode_select_window_btn_quick_small), /* control block */
906     (void *) &mode_select_window_btn_quick_small_properties /* extended properties */
907 };
908 
909 GX_CONST GX_STUDIO_WIDGET mode_select_window_btn_deep_define =
910 {
911     "btn_deep",
912     GX_TYPE_TEMPLATE,                        /* widget type                    */
913     ID_BTN_DEEP,                             /* widget id                      */
914     #if defined(GX_WIDGET_USER_DATA)
915     0,                                       /* user data                      */
916     #endif
917     GX_STYLE_BORDER_NONE|GX_STYLE_TRANSPARENT|GX_STYLE_ENABLED,   /* style flags */
918     GX_STATUS_ACCEPTS_FOCUS,                 /* status flags                   */
919     sizeof(TEMPLATE_MODE_BTN_CONTROL_BLOCK), /* control block size             */
920     GX_COLOR_ID_BTN_LOWER,                   /* normal color id                */
921     GX_COLOR_ID_BTN_UPPER,                   /* selected color id              */
922     GX_COLOR_ID_DISABLED_FILL,               /* disabled color id              */
923     gx_studio_template_create,               /* create function                */
924     GX_NULL,                                 /* drawing function override      */
925     GX_NULL,                                 /* event function override        */
926     {316, 82, 632, 399},                     /* widget size                    */
927     &mode_select_window_btn_quick_small_define, /* next widget definition      */
928     GX_NULL,                                 /* no child widgets               */
929     offsetof(MODE_SELECT_WINDOW_CONTROL_BLOCK, mode_select_window_btn_deep), /* control block */
930     (void *) &mode_select_window_btn_deep_properties /* extended properties    */
931 };
932 
933 GX_CONST GX_STUDIO_WIDGET mode_select_window_btn_quick_define =
934 {
935     "btn_quick",
936     GX_TYPE_TEMPLATE,                        /* widget type                    */
937     ID_BTN_QUICK,                            /* widget id                      */
938     #if defined(GX_WIDGET_USER_DATA)
939     0,                                       /* user data                      */
940     #endif
941     GX_STYLE_BORDER_NONE|GX_STYLE_TRANSPARENT|GX_STYLE_ENABLED,   /* style flags */
942     GX_STATUS_ACCEPTS_FOCUS,                 /* status flags                   */
943     sizeof(TEMPLATE_MODE_BTN_CONTROL_BLOCK), /* control block size             */
944     GX_COLOR_ID_BTN_LOWER,                   /* normal color id                */
945     GX_COLOR_ID_BTN_UPPER,                   /* selected color id              */
946     GX_COLOR_ID_DISABLED_FILL,               /* disabled color id              */
947     gx_studio_template_create,               /* create function                */
948     GX_NULL,                                 /* drawing function override      */
949     GX_NULL,                                 /* event function override        */
950     {8, 82, 324, 399},                       /* widget size                    */
951     &mode_select_window_btn_deep_define,     /* next widget definition         */
952     GX_NULL,                                 /* no child widgets               */
953     offsetof(MODE_SELECT_WINDOW_CONTROL_BLOCK, mode_select_window_btn_quick), /* control block */
954     (void *) &mode_select_window_btn_quick_properties /* extended properties   */
955 };
956 
957 GX_CONST GX_STUDIO_WIDGET mode_select_window_define =
958 {
959     "mode_select_window",
960     GX_TYPE_WINDOW,                          /* widget type                    */
961     GX_ID_NONE,                              /* widget id                      */
962     #if defined(GX_WIDGET_USER_DATA)
963     0,                                       /* user data                      */
964     #endif
965     GX_STYLE_BORDER_NONE|GX_STYLE_TRANSPARENT|GX_STYLE_ENABLED,   /* style flags */
966     GX_STATUS_ACCEPTS_FOCUS,                 /* status flags                   */
967     sizeof(MODE_SELECT_WINDOW_CONTROL_BLOCK), /* control block size            */
968     GX_COLOR_ID_WINDOW_FILL,                 /* normal color id                */
969     GX_COLOR_ID_WINDOW_FILL,                 /* selected color id              */
970     GX_COLOR_ID_DISABLED_FILL,               /* disabled color id              */
971     gx_studio_window_create,                 /* create function                */
972     GX_NULL,                                 /* drawing function override      */
973     (UINT (*)(GX_WIDGET *, GX_EVENT *)) mode_select_window_event_process, /* event function override */
974     {0, 82, 639, 399},                       /* widget size                    */
975     GX_NULL,                                 /* next widget                    */
976     &mode_select_window_btn_quick_define,    /* child widget                   */
977     0,                                       /* control block                  */
978     (void *) &mode_select_window_properties  /* extended properties            */
979 };
980 GX_WINDOW_PROPERTIES water_level_window_properties =
981 {
982     0                                        /* wallpaper pixelmap id          */
983 };
984 GX_RADIAL_SLIDER_PROPERTIES water_level_window_water_level_slider_properties =
985 {
986     159,                                     /* xcenter                        */
987     159,                                     /* ycenter                        */
988     140,                                     /* radius                         */
989     20,                                      /* track width                    */
990     0,                                       /* needle offset                  */
991     -20,                                     /* current angle                  */
992     -40,                                     /* min angle                      */
993     40,                                      /* max angle                      */
994     GX_PIXELMAP_ID_DISC_WATER_LEVEL,         /* background pixelmap            */
995     GX_PIXELMAP_ID_METALIC_DIAL,             /* needle pixelmap                */
996     10,                                      /* animation total steps          */
997     2,                                       /* animation delay                */
998     GX_ANIMATION_CIRC_EASE_IN_OUT,           /* animation style                */
999     GX_NULL,                                 /* animation update callback func */
1000 };
1001 GX_NUMERIC_PROMPT_PROPERTIES water_level_window_water_level_value_properties =
1002 {
1003     0,                                       /* string id                      */
1004     GX_FONT_ID_LARG_NUMBER,                  /* font id                        */
1005     GX_COLOR_ID_WHITE,                       /* normal text color              */
1006     GX_COLOR_ID_WHITE,                       /* selected text color            */
1007     GX_COLOR_ID_WHITE,                       /* disabled text color            */
1008     GX_NULL,                                 /* format function                */
1009     35                                       /* numeric prompt value           */
1010 };
1011 GX_PROMPT_PROPERTIES water_level_window_percentage_flag_properties =
1012 {
1013     GX_STRING_ID_STRING_38,                  /* string id                      */
1014     GX_FONT_ID_NORMAL,                       /* font id                        */
1015     GX_COLOR_ID_WHITE,                       /* normal text color              */
1016     GX_COLOR_ID_WHITE,                       /* selected text color            */
1017     GX_COLOR_ID_WHITE                        /* disabled text color            */
1018 };
1019 GX_TEXT_BUTTON_PROPERTIES water_level_window_btn_max_properties =
1020 {
1021     GX_STRING_ID_STRING_21,                  /* string id                      */
1022     GX_FONT_ID_NORMAL,                       /* font id                        */
1023     GX_COLOR_ID_GRAY,                        /* normal text color              */
1024     GX_COLOR_ID_WHITE,                       /* selected text color            */
1025     GX_COLOR_ID_WHITE                        /* disabled text color            */
1026 };
1027 GX_TEXT_BUTTON_PROPERTIES water_level_window_btn_high_properties =
1028 {
1029     GX_STRING_ID_STRING_20,                  /* string id                      */
1030     GX_FONT_ID_NORMAL,                       /* font id                        */
1031     GX_COLOR_ID_GRAY,                        /* normal text color              */
1032     GX_COLOR_ID_WHITE,                       /* selected text color            */
1033     GX_COLOR_ID_WHITE                        /* disabled text color            */
1034 };
1035 GX_TEXT_BUTTON_PROPERTIES water_level_window_btn_medium_properties =
1036 {
1037     GX_STRING_ID_STRING_22,                  /* string id                      */
1038     GX_FONT_ID_NORMAL,                       /* font id                        */
1039     GX_COLOR_ID_GRAY,                        /* normal text color              */
1040     GX_COLOR_ID_WHITE,                       /* selected text color            */
1041     GX_COLOR_ID_WHITE                        /* disabled text color            */
1042 };
1043 GX_TEXT_BUTTON_PROPERTIES water_level_window_btn_low_properties =
1044 {
1045     GX_STRING_ID_STRING_23,                  /* string id                      */
1046     GX_FONT_ID_NORMAL,                       /* font id                        */
1047     GX_COLOR_ID_GRAY,                        /* normal text color              */
1048     GX_COLOR_ID_WHITE,                       /* selected text color            */
1049     GX_COLOR_ID_WHITE                        /* disabled text color            */
1050 };
1051 GX_TEXT_BUTTON_PROPERTIES water_level_window_btn_min_properties =
1052 {
1053     GX_STRING_ID_STRING_24,                  /* string id                      */
1054     GX_FONT_ID_NORMAL,                       /* font id                        */
1055     GX_COLOR_ID_GRAY,                        /* normal text color              */
1056     GX_COLOR_ID_WHITE,                       /* selected text color            */
1057     GX_COLOR_ID_WHITE                        /* disabled text color            */
1058 };
1059 
1060 GX_CONST GX_STUDIO_WIDGET water_level_window_percentage_flag_define =
1061 {
1062     "percentage_flag",
1063     GX_TYPE_PROMPT,                          /* widget type                    */
1064     GX_ID_NONE,                              /* widget id                      */
1065     #if defined(GX_WIDGET_USER_DATA)
1066     0,                                       /* user data                      */
1067     #endif
1068     GX_STYLE_BORDER_NONE|GX_STYLE_TRANSPARENT|GX_STYLE_ENABLED|GX_STYLE_TEXT_CENTER,   /* style flags */
1069     GX_STATUS_ACCEPTS_FOCUS,                 /* status flags                   */
1070     sizeof(GX_PROMPT),                       /* control block size             */
1071     GX_COLOR_ID_WIDGET_FILL,                 /* normal color id                */
1072     GX_COLOR_ID_SELECTED_FILL,               /* selected color id              */
1073     GX_COLOR_ID_DISABLED_FILL,               /* disabled color id              */
1074     gx_studio_prompt_create,                 /* create function                */
1075     GX_NULL,                                 /* drawing function override      */
1076     GX_NULL,                                 /* event function override        */
1077     {374, 201, 396, 225},                    /* widget size                    */
1078     GX_NULL,                                 /* no next widget                 */
1079     GX_NULL,                                 /* no child widgets               */
1080     offsetof(WATER_LEVEL_WINDOW_CONTROL_BLOCK, water_level_window_percentage_flag), /* control block */
1081     (void *) &water_level_window_percentage_flag_properties /* extended properties */
1082 };
1083 
1084 GX_CONST GX_STUDIO_WIDGET water_level_window_water_level_value_define =
1085 {
1086     "water_level_value",
1087     GX_TYPE_NUMERIC_PROMPT,                  /* widget type                    */
1088     GX_ID_NONE,                              /* widget id                      */
1089     #if defined(GX_WIDGET_USER_DATA)
1090     0,                                       /* user data                      */
1091     #endif
1092     GX_STYLE_BORDER_NONE|GX_STYLE_TRANSPARENT|GX_STYLE_TEXT_CENTER,   /* style flags */
1093     0,                                       /* status flags                   */
1094     sizeof(GX_NUMERIC_PROMPT),               /* control block size             */
1095     GX_COLOR_ID_WIDGET_FILL,                 /* normal color id                */
1096     GX_COLOR_ID_SELECTED_FILL,               /* selected color id              */
1097     GX_COLOR_ID_DISABLED_FILL,               /* disabled color id              */
1098     gx_studio_numeric_prompt_create,         /* create function                */
1099     GX_NULL,                                 /* drawing function override      */
1100     GX_NULL,                                 /* event function override        */
1101     {255, 207, 372, 278},                    /* widget size                    */
1102     &water_level_window_percentage_flag_define, /* next widget definition      */
1103     GX_NULL,                                 /* no child widgets               */
1104     offsetof(WATER_LEVEL_WINDOW_CONTROL_BLOCK, water_level_window_water_level_value), /* control block */
1105     (void *) &water_level_window_water_level_value_properties /* extended properties */
1106 };
1107 
1108 GX_CONST GX_STUDIO_WIDGET water_level_window_btn_min_define =
1109 {
1110     "btn_min",
1111     GX_TYPE_TEXT_BUTTON,                     /* widget type                    */
1112     ID_BTN_MIN,                              /* widget id                      */
1113     #if defined(GX_WIDGET_USER_DATA)
1114     0,                                       /* user data                      */
1115     #endif
1116     GX_STYLE_BORDER_NONE|GX_STYLE_TRANSPARENT|GX_STYLE_ENABLED|GX_STYLE_BUTTON_RADIO|GX_STYLE_TEXT_CENTER,   /* style flags */
1117     GX_STATUS_ACCEPTS_FOCUS,                 /* status flags                   */
1118     sizeof(GX_TEXT_BUTTON),                  /* control block size             */
1119     GX_COLOR_ID_BTN_LOWER,                   /* normal color id                */
1120     GX_COLOR_ID_BTN_UPPER,                   /* selected color id              */
1121     GX_COLOR_ID_DISABLED_FILL,               /* disabled color id              */
1122     gx_studio_text_button_create,            /* create function                */
1123     GX_NULL,                                 /* drawing function override      */
1124     GX_NULL,                                 /* event function override        */
1125     {443, 343, 485, 367},                    /* widget size                    */
1126     GX_NULL,                                 /* no next widget                 */
1127     GX_NULL,                                 /* no child widgets               */
1128     offsetof(WATER_LEVEL_WINDOW_CONTROL_BLOCK, water_level_window_btn_min), /* control block */
1129     (void *) &water_level_window_btn_min_properties /* extended properties     */
1130 };
1131 
1132 GX_CONST GX_STUDIO_WIDGET water_level_window_btn_low_define =
1133 {
1134     "btn_low",
1135     GX_TYPE_TEXT_BUTTON,                     /* widget type                    */
1136     ID_BTN_LOW,                              /* widget id                      */
1137     #if defined(GX_WIDGET_USER_DATA)
1138     0,                                       /* user data                      */
1139     #endif
1140     GX_STYLE_BORDER_NONE|GX_STYLE_TRANSPARENT|GX_STYLE_ENABLED|GX_STYLE_BUTTON_PUSHED|GX_STYLE_BUTTON_RADIO|GX_STYLE_TEXT_CENTER,   /* style flags */
1141     GX_STATUS_ACCEPTS_FOCUS,                 /* status flags                   */
1142     sizeof(GX_TEXT_BUTTON),                  /* control block size             */
1143     GX_COLOR_ID_BTN_LOWER,                   /* normal color id                */
1144     GX_COLOR_ID_BTN_UPPER,                   /* selected color id              */
1145     GX_COLOR_ID_DISABLED_FILL,               /* disabled color id              */
1146     gx_studio_text_button_create,            /* create function                */
1147     GX_NULL,                                 /* drawing function override      */
1148     GX_NULL,                                 /* event function override        */
1149     {477, 287, 524, 311},                    /* widget size                    */
1150     &water_level_window_btn_min_define,      /* next widget definition         */
1151     GX_NULL,                                 /* no child widgets               */
1152     offsetof(WATER_LEVEL_WINDOW_CONTROL_BLOCK, water_level_window_btn_low), /* control block */
1153     (void *) &water_level_window_btn_low_properties /* extended properties     */
1154 };
1155 
1156 GX_CONST GX_STUDIO_WIDGET water_level_window_btn_medium_define =
1157 {
1158     "btn_medium",
1159     GX_TYPE_TEXT_BUTTON,                     /* widget type                    */
1160     ID_BTN_MEDIUM,                           /* widget id                      */
1161     #if defined(GX_WIDGET_USER_DATA)
1162     0,                                       /* user data                      */
1163     #endif
1164     GX_STYLE_BORDER_NONE|GX_STYLE_TRANSPARENT|GX_STYLE_ENABLED|GX_STYLE_BUTTON_RADIO|GX_STYLE_TEXT_CENTER,   /* style flags */
1165     GX_STATUS_ACCEPTS_FOCUS,                 /* status flags                   */
1166     sizeof(GX_TEXT_BUTTON),                  /* control block size             */
1167     GX_COLOR_ID_BTN_LOWER,                   /* normal color id                */
1168     GX_COLOR_ID_BTN_UPPER,                   /* selected color id              */
1169     GX_COLOR_ID_DISABLED_FILL,               /* disabled color id              */
1170     gx_studio_text_button_create,            /* create function                */
1171     GX_NULL,                                 /* drawing function override      */
1172     GX_NULL,                                 /* event function override        */
1173     {485, 232, 580, 256},                    /* widget size                    */
1174     &water_level_window_btn_low_define,      /* next widget definition         */
1175     GX_NULL,                                 /* no child widgets               */
1176     offsetof(WATER_LEVEL_WINDOW_CONTROL_BLOCK, water_level_window_btn_medium), /* control block */
1177     (void *) &water_level_window_btn_medium_properties /* extended properties  */
1178 };
1179 
1180 GX_CONST GX_STUDIO_WIDGET water_level_window_btn_high_define =
1181 {
1182     "btn_high",
1183     GX_TYPE_TEXT_BUTTON,                     /* widget type                    */
1184     ID_BTN_HIGH,                             /* widget id                      */
1185     #if defined(GX_WIDGET_USER_DATA)
1186     0,                                       /* user data                      */
1187     #endif
1188     GX_STYLE_BORDER_NONE|GX_STYLE_TRANSPARENT|GX_STYLE_ENABLED|GX_STYLE_BUTTON_RADIO|GX_STYLE_TEXT_CENTER,   /* style flags */
1189     GX_STATUS_ACCEPTS_FOCUS,                 /* status flags                   */
1190     sizeof(GX_TEXT_BUTTON),                  /* control block size             */
1191     GX_COLOR_ID_BTN_LOWER,                   /* normal color id                */
1192     GX_COLOR_ID_BTN_UPPER,                   /* selected color id              */
1193     GX_COLOR_ID_DISABLED_FILL,               /* disabled color id              */
1194     gx_studio_text_button_create,            /* create function                */
1195     GX_NULL,                                 /* drawing function override      */
1196     GX_NULL,                                 /* event function override        */
1197     {478, 177, 532, 201},                    /* widget size                    */
1198     &water_level_window_btn_medium_define,   /* next widget definition         */
1199     GX_NULL,                                 /* no child widgets               */
1200     offsetof(WATER_LEVEL_WINDOW_CONTROL_BLOCK, water_level_window_btn_high), /* control block */
1201     (void *) &water_level_window_btn_high_properties /* extended properties    */
1202 };
1203 
1204 GX_CONST GX_STUDIO_WIDGET water_level_window_btn_max_define =
1205 {
1206     "btn_max",
1207     GX_TYPE_TEXT_BUTTON,                     /* widget type                    */
1208     ID_BTN_MAX,                              /* widget id                      */
1209     #if defined(GX_WIDGET_USER_DATA)
1210     0,                                       /* user data                      */
1211     #endif
1212     GX_STYLE_BORDER_NONE|GX_STYLE_TRANSPARENT|GX_STYLE_ENABLED|GX_STYLE_BUTTON_RADIO|GX_STYLE_TEXT_CENTER,   /* style flags */
1213     GX_STATUS_ACCEPTS_FOCUS,                 /* status flags                   */
1214     sizeof(GX_TEXT_BUTTON),                  /* control block size             */
1215     GX_COLOR_ID_BTN_LOWER,                   /* normal color id                */
1216     GX_COLOR_ID_BTN_UPPER,                   /* selected color id              */
1217     GX_COLOR_ID_DISABLED_FILL,               /* disabled color id              */
1218     gx_studio_text_button_create,            /* create function                */
1219     GX_NULL,                                 /* drawing function override      */
1220     GX_NULL,                                 /* event function override        */
1221     {443, 121, 495, 145},                    /* widget size                    */
1222     &water_level_window_btn_high_define,     /* next widget definition         */
1223     GX_NULL,                                 /* no child widgets               */
1224     offsetof(WATER_LEVEL_WINDOW_CONTROL_BLOCK, water_level_window_btn_max), /* control block */
1225     (void *) &water_level_window_btn_max_properties /* extended properties     */
1226 };
1227 
1228 GX_CONST GX_STUDIO_WIDGET water_level_window_water_level_slider_define =
1229 {
1230     "water_level_slider",
1231     GX_TYPE_RADIAL_SLIDER,                   /* widget type                    */
1232     ID_WATER_LEVEL_SLIDER,                   /* widget id                      */
1233     #if defined(GX_WIDGET_USER_DATA)
1234     0,                                       /* user data                      */
1235     #endif
1236     GX_STYLE_BORDER_NONE|GX_STYLE_TRANSPARENT|GX_STYLE_ENABLED,   /* style flags */
1237     GX_STATUS_ACCEPTS_FOCUS,                 /* status flags                   */
1238     sizeof(GX_RADIAL_SLIDER),                /* control block size             */
1239     GX_COLOR_ID_WIDGET_FILL,                 /* normal color id                */
1240     GX_COLOR_ID_SELECTED_FILL,               /* selected color id              */
1241     GX_COLOR_ID_DISABLED_FILL,               /* disabled color id              */
1242     gx_studio_radial_slider_create,          /* create function                */
1243     GX_NULL,                                 /* drawing function override      */
1244     GX_NULL,                                 /* event function override        */
1245     {160, 80, 477, 397},                     /* widget size                    */
1246     &water_level_window_btn_max_define,      /* next widget definition         */
1247     &water_level_window_water_level_value_define, /* child widget definition   */
1248     offsetof(WATER_LEVEL_WINDOW_CONTROL_BLOCK, water_level_window_water_level_slider), /* control block */
1249     (void *) &water_level_window_water_level_slider_properties /* extended properties */
1250 };
1251 
1252 GX_CONST GX_STUDIO_WIDGET water_level_window_define =
1253 {
1254     "water_level_window",
1255     GX_TYPE_WINDOW,                          /* widget type                    */
1256     GX_ID_NONE,                              /* widget id                      */
1257     #if defined(GX_WIDGET_USER_DATA)
1258     0,                                       /* user data                      */
1259     #endif
1260     GX_STYLE_BORDER_NONE|GX_STYLE_TRANSPARENT|GX_STYLE_ENABLED,   /* style flags */
1261     GX_STATUS_ACCEPTS_FOCUS,                 /* status flags                   */
1262     sizeof(WATER_LEVEL_WINDOW_CONTROL_BLOCK), /* control block size            */
1263     GX_COLOR_ID_WINDOW_FILL,                 /* normal color id                */
1264     GX_COLOR_ID_WINDOW_FILL,                 /* selected color id              */
1265     GX_COLOR_ID_DISABLED_FILL,               /* disabled color id              */
1266     gx_studio_window_create,                 /* create function                */
1267     GX_NULL,                                 /* drawing function override      */
1268     (UINT (*)(GX_WIDGET *, GX_EVENT *)) water_level_window_event_process, /* event function override */
1269     {160, 80, 628, 397},                     /* widget size                    */
1270     GX_NULL,                                 /* next widget                    */
1271     &water_level_window_water_level_slider_define, /* child widget             */
1272     0,                                       /* control block                  */
1273     (void *) &water_level_window_properties  /* extended properties            */
1274 };
1275 GX_WINDOW_PROPERTIES temperature_window_properties =
1276 {
1277     0                                        /* wallpaper pixelmap id          */
1278 };
1279 GX_RADIAL_SLIDER_PROPERTIES temperature_window_temperature_slider_properties =
1280 {
1281     159,                                     /* xcenter                        */
1282     159,                                     /* ycenter                        */
1283     120,                                     /* radius                         */
1284     40,                                      /* track width                    */
1285     20,                                      /* needle offset                  */
1286     30,                                      /* current angle                  */
1287     -30,                                     /* min angle                      */
1288     210,                                     /* max angle                      */
1289     GX_PIXELMAP_ID_DISC_TEMPERATURE_TEXT,    /* background pixelmap            */
1290     GX_PIXELMAP_ID_METALIC_DIAL,             /* needle pixelmap                */
1291     10,                                      /* animation total steps          */
1292     2,                                       /* animation delay                */
1293     GX_ANIMATION_CIRC_EASE_IN_OUT,           /* animation style                */
1294     temperature_slider_animation_callback,   /* animation update callback func */
1295 };
1296 GX_NUMERIC_PROMPT_PROPERTIES temperature_window_temperature_value_properties =
1297 {
1298     0,                                       /* string id                      */
1299     GX_FONT_ID_LARG_NUMBER,                  /* font id                        */
1300     GX_COLOR_ID_WHITE,                       /* normal text color              */
1301     GX_COLOR_ID_WHITE,                       /* selected text color            */
1302     GX_COLOR_ID_WHITE,                       /* disabled text color            */
1303     GX_NULL,                                 /* format function                */
1304     75                                       /* numeric prompt value           */
1305 };
1306 GX_PROMPT_PROPERTIES temperature_window_temperature_flag_properties =
1307 {
1308     GX_STRING_ID_STRING_7,                   /* string id                      */
1309     GX_FONT_ID_NORMAL,                       /* font id                        */
1310     GX_COLOR_ID_WHITE,                       /* normal text color              */
1311     GX_COLOR_ID_WHITE,                       /* selected text color            */
1312     GX_COLOR_ID_WHITE                        /* disabled text color            */
1313 };
1314 
1315 GX_CONST GX_STUDIO_WIDGET temperature_window_temperature_flag_define =
1316 {
1317     "temperature_flag",
1318     GX_TYPE_PROMPT,                          /* widget type                    */
1319     GX_ID_NONE,                              /* widget id                      */
1320     #if defined(GX_WIDGET_USER_DATA)
1321     0,                                       /* user data                      */
1322     #endif
1323     GX_STYLE_BORDER_NONE|GX_STYLE_TRANSPARENT|GX_STYLE_ENABLED|GX_STYLE_TEXT_CENTER,   /* style flags */
1324     GX_STATUS_ACCEPTS_FOCUS,                 /* status flags                   */
1325     sizeof(GX_PROMPT),                       /* control block size             */
1326     GX_COLOR_ID_WIDGET_FILL,                 /* normal color id                */
1327     GX_COLOR_ID_SELECTED_FILL,               /* selected color id              */
1328     GX_COLOR_ID_DISABLED_FILL,               /* disabled color id              */
1329     gx_studio_prompt_create,                 /* create function                */
1330     GX_NULL,                                 /* drawing function override      */
1331     GX_NULL,                                 /* event function override        */
1332     {373, 204, 387, 228},                    /* widget size                    */
1333     GX_NULL,                                 /* no next widget                 */
1334     GX_NULL,                                 /* no child widgets               */
1335     offsetof(TEMPERATURE_WINDOW_CONTROL_BLOCK, temperature_window_temperature_flag), /* control block */
1336     (void *) &temperature_window_temperature_flag_properties /* extended properties */
1337 };
1338 
1339 GX_CONST GX_STUDIO_WIDGET temperature_window_temperature_value_define =
1340 {
1341     "temperature_value",
1342     GX_TYPE_NUMERIC_PROMPT,                  /* widget type                    */
1343     GX_ID_NONE,                              /* widget id                      */
1344     #if defined(GX_WIDGET_USER_DATA)
1345     0,                                       /* user data                      */
1346     #endif
1347     GX_STYLE_BORDER_NONE|GX_STYLE_TRANSPARENT|GX_STYLE_ENABLED|GX_STYLE_TEXT_CENTER,   /* style flags */
1348     GX_STATUS_ACCEPTS_FOCUS,                 /* status flags                   */
1349     sizeof(GX_NUMERIC_PROMPT),               /* control block size             */
1350     GX_COLOR_ID_WIDGET_FILL,                 /* normal color id                */
1351     GX_COLOR_ID_SELECTED_FILL,               /* selected color id              */
1352     GX_COLOR_ID_DISABLED_FILL,               /* disabled color id              */
1353     gx_studio_numeric_prompt_create,         /* create function                */
1354     GX_NULL,                                 /* drawing function override      */
1355     GX_NULL,                                 /* event function override        */
1356     {259, 219, 372, 286},                    /* widget size                    */
1357     &temperature_window_temperature_flag_define, /* next widget definition     */
1358     GX_NULL,                                 /* no child widgets               */
1359     offsetof(TEMPERATURE_WINDOW_CONTROL_BLOCK, temperature_window_temperature_value), /* control block */
1360     (void *) &temperature_window_temperature_value_properties /* extended properties */
1361 };
1362 
1363 GX_CONST GX_STUDIO_WIDGET temperature_window_temperature_slider_define =
1364 {
1365     "temperature_slider",
1366     GX_TYPE_RADIAL_SLIDER,                   /* widget type                    */
1367     ID_TEMPERATURE_SLIDER,                   /* widget id                      */
1368     #if defined(GX_WIDGET_USER_DATA)
1369     0,                                       /* user data                      */
1370     #endif
1371     GX_STYLE_BORDER_NONE|GX_STYLE_TRANSPARENT|GX_STYLE_ENABLED,   /* style flags */
1372     GX_STATUS_ACCEPTS_FOCUS,                 /* status flags                   */
1373     sizeof(GX_RADIAL_SLIDER),                /* control block size             */
1374     GX_COLOR_ID_WIDGET_FILL,                 /* normal color id                */
1375     GX_COLOR_ID_SELECTED_FILL,               /* selected color id              */
1376     GX_COLOR_ID_DISABLED_FILL,               /* disabled color id              */
1377     gx_studio_radial_slider_create,          /* create function                */
1378     GX_NULL,                                 /* drawing function override      */
1379     GX_NULL,                                 /* event function override        */
1380     {160, 80, 477, 397},                     /* widget size                    */
1381     GX_NULL,                                 /* no next widget                 */
1382     &temperature_window_temperature_value_define, /* child widget definition   */
1383     offsetof(TEMPERATURE_WINDOW_CONTROL_BLOCK, temperature_window_temperature_slider), /* control block */
1384     (void *) &temperature_window_temperature_slider_properties /* extended properties */
1385 };
1386 
1387 GX_CONST GX_STUDIO_WIDGET temperature_window_define =
1388 {
1389     "temperature_window",
1390     GX_TYPE_WINDOW,                          /* widget type                    */
1391     GX_ID_NONE,                              /* widget id                      */
1392     #if defined(GX_WIDGET_USER_DATA)
1393     0,                                       /* user data                      */
1394     #endif
1395     GX_STYLE_BORDER_NONE|GX_STYLE_TRANSPARENT|GX_STYLE_ENABLED,   /* style flags */
1396     GX_STATUS_ACCEPTS_FOCUS,                 /* status flags                   */
1397     sizeof(TEMPERATURE_WINDOW_CONTROL_BLOCK), /* control block size            */
1398     GX_COLOR_ID_WHITE,                       /* normal color id                */
1399     GX_COLOR_ID_WHITE,                       /* selected color id              */
1400     GX_COLOR_ID_WHITE,                       /* disabled color id              */
1401     gx_studio_window_create,                 /* create function                */
1402     (VOID (*)(GX_WIDGET *)) temperature_window_draw, /* drawing function override */
1403     (UINT (*)(GX_WIDGET *, GX_EVENT *)) temperature_window_event_process, /* event function override */
1404     {160, 80, 477, 397},                     /* widget size                    */
1405     GX_NULL,                                 /* next widget                    */
1406     &temperature_window_temperature_slider_define, /* child widget             */
1407     0,                                       /* control block                  */
1408     (void *) &temperature_window_properties  /* extended properties            */
1409 };
1410 GX_WINDOW_PROPERTIES wash_cycle_window_properties =
1411 {
1412     0                                        /* wallpaper pixelmap id          */
1413 };
1414 GX_RADIAL_SLIDER_PROPERTIES wash_cycle_window_wash_cycle_slider_properties =
1415 {
1416     159,                                     /* xcenter                        */
1417     159,                                     /* ycenter                        */
1418     139,                                     /* radius                         */
1419     20,                                      /* track width                    */
1420     0,                                       /* needle offset                  */
1421     100,                                     /* current angle                  */
1422     -17,                                     /* min angle                      */
1423     196,                                     /* max angle                      */
1424     GX_PIXELMAP_ID_DISC_CYCLE_WITH_PROGRESS_BG_TEXT, /* background pixelmap    */
1425     0,                                       /* needle pixelmap                */
1426     1,                                       /* animation total steps          */
1427     0,                                       /* animation delay                */
1428     GX_ANIMATION_CIRC_EASE_IN_OUT,           /* animation style                */
1429     GX_NULL,                                 /* animation update callback func */
1430 };
1431 GX_NUMERIC_PROMPT_PROPERTIES wash_cycle_window_minute_properties =
1432 {
1433     0,                                       /* string id                      */
1434     GX_FONT_ID_BIG,                          /* font id                        */
1435     GX_COLOR_ID_WHITE,                       /* normal text color              */
1436     GX_COLOR_ID_WHITE,                       /* selected text color            */
1437     GX_COLOR_ID_WHITE,                       /* disabled text color            */
1438     time_format,                             /* format function                */
1439     35                                       /* numeric prompt value           */
1440 };
1441 GX_NUMERIC_PROMPT_PROPERTIES wash_cycle_window_second_properties =
1442 {
1443     0,                                       /* string id                      */
1444     GX_FONT_ID_BIG,                          /* font id                        */
1445     GX_COLOR_ID_WHITE,                       /* normal text color              */
1446     GX_COLOR_ID_WHITE,                       /* selected text color            */
1447     GX_COLOR_ID_WHITE,                       /* disabled text color            */
1448     time_format,                             /* format function                */
1449     35                                       /* numeric prompt value           */
1450 };
1451 GX_ICON_PROPERTIES wash_cycle_window_icon_1_properties =
1452 {
1453     GX_PIXELMAP_ID_CYCLE_PROGRESS_DOT,       /* normal pixelmap id             */
1454     0                                        /* selected pixelmap id           */
1455 };
1456 GX_ICON_PROPERTIES wash_cycle_window_icon_2_properties =
1457 {
1458     GX_PIXELMAP_ID_CYCLE_PROGRESS_DOT,       /* normal pixelmap id             */
1459     0                                        /* selected pixelmap id           */
1460 };
1461 
1462 GX_CONST GX_STUDIO_WIDGET wash_cycle_window_icon_2_define =
1463 {
1464     "icon_2",
1465     GX_TYPE_ICON,                            /* widget type                    */
1466     GX_ID_NONE,                              /* widget id                      */
1467     #if defined(GX_WIDGET_USER_DATA)
1468     0,                                       /* user data                      */
1469     #endif
1470     GX_STYLE_BORDER_NONE|GX_STYLE_HALIGN_LEFT|GX_STYLE_VALIGN_TOP,   /* style flags */
1471     0,                                       /* status flags                   */
1472     sizeof(GX_ICON),                         /* control block size             */
1473     GX_COLOR_ID_WHITE,                       /* normal color id                */
1474     GX_COLOR_ID_WHITE,                       /* selected color id              */
1475     GX_COLOR_ID_WHITE,                       /* disabled color id              */
1476     gx_studio_icon_create,                   /* create function                */
1477     GX_NULL,                                 /* drawing function override      */
1478     GX_NULL,                                 /* event function override        */
1479     {314, 248, 318, 252},                    /* widget size                    */
1480     GX_NULL,                                 /* no next widget                 */
1481     GX_NULL,                                 /* no child widgets               */
1482     offsetof(WASH_CYCLE_WINDOW_CONTROL_BLOCK, wash_cycle_window_icon_2), /* control block */
1483     (void *) &wash_cycle_window_icon_2_properties /* extended properties       */
1484 };
1485 
1486 GX_CONST GX_STUDIO_WIDGET wash_cycle_window_icon_1_define =
1487 {
1488     "icon_1",
1489     GX_TYPE_ICON,                            /* widget type                    */
1490     GX_ID_NONE,                              /* widget id                      */
1491     #if defined(GX_WIDGET_USER_DATA)
1492     0,                                       /* user data                      */
1493     #endif
1494     GX_STYLE_BORDER_NONE|GX_STYLE_HALIGN_LEFT|GX_STYLE_VALIGN_TOP,   /* style flags */
1495     0,                                       /* status flags                   */
1496     sizeof(GX_ICON),                         /* control block size             */
1497     GX_COLOR_ID_WHITE,                       /* normal color id                */
1498     GX_COLOR_ID_WHITE,                       /* selected color id              */
1499     GX_COLOR_ID_WHITE,                       /* disabled color id              */
1500     gx_studio_icon_create,                   /* create function                */
1501     GX_NULL,                                 /* drawing function override      */
1502     GX_NULL,                                 /* event function override        */
1503     {314, 227, 318, 231},                    /* widget size                    */
1504     &wash_cycle_window_icon_2_define,        /* next widget definition         */
1505     GX_NULL,                                 /* no child widgets               */
1506     offsetof(WASH_CYCLE_WINDOW_CONTROL_BLOCK, wash_cycle_window_icon_1), /* control block */
1507     (void *) &wash_cycle_window_icon_1_properties /* extended properties       */
1508 };
1509 
1510 GX_CONST GX_STUDIO_WIDGET wash_cycle_window_second_define =
1511 {
1512     "second",
1513     GX_TYPE_NUMERIC_PROMPT,                  /* widget type                    */
1514     GX_ID_NONE,                              /* widget id                      */
1515     #if defined(GX_WIDGET_USER_DATA)
1516     0,                                       /* user data                      */
1517     #endif
1518     GX_STYLE_BORDER_NONE|GX_STYLE_TRANSPARENT|GX_STYLE_TEXT_CENTER,   /* style flags */
1519     0,                                       /* status flags                   */
1520     sizeof(GX_NUMERIC_PROMPT),               /* control block size             */
1521     GX_COLOR_ID_WIDGET_FILL,                 /* normal color id                */
1522     GX_COLOR_ID_SELECTED_FILL,               /* selected color id              */
1523     GX_COLOR_ID_DISABLED_FILL,               /* disabled color id              */
1524     gx_studio_numeric_prompt_create,         /* create function                */
1525     GX_NULL,                                 /* drawing function override      */
1526     GX_NULL,                                 /* event function override        */
1527     {324, 213, 399, 274},                    /* widget size                    */
1528     &wash_cycle_window_icon_1_define,        /* next widget definition         */
1529     GX_NULL,                                 /* no child widgets               */
1530     offsetof(WASH_CYCLE_WINDOW_CONTROL_BLOCK, wash_cycle_window_second), /* control block */
1531     (void *) &wash_cycle_window_second_properties /* extended properties       */
1532 };
1533 
1534 GX_CONST GX_STUDIO_WIDGET wash_cycle_window_minute_define =
1535 {
1536     "minute",
1537     GX_TYPE_NUMERIC_PROMPT,                  /* widget type                    */
1538     GX_ID_NONE,                              /* widget id                      */
1539     #if defined(GX_WIDGET_USER_DATA)
1540     0,                                       /* user data                      */
1541     #endif
1542     GX_STYLE_BORDER_NONE|GX_STYLE_TRANSPARENT|GX_STYLE_TEXT_CENTER,   /* style flags */
1543     0,                                       /* status flags                   */
1544     sizeof(GX_NUMERIC_PROMPT),               /* control block size             */
1545     GX_COLOR_ID_WIDGET_FILL,                 /* normal color id                */
1546     GX_COLOR_ID_SELECTED_FILL,               /* selected color id              */
1547     GX_COLOR_ID_DISABLED_FILL,               /* disabled color id              */
1548     gx_studio_numeric_prompt_create,         /* create function                */
1549     GX_NULL,                                 /* drawing function override      */
1550     GX_NULL,                                 /* event function override        */
1551     {236, 212, 311, 273},                    /* widget size                    */
1552     &wash_cycle_window_second_define,        /* next widget definition         */
1553     GX_NULL,                                 /* no child widgets               */
1554     offsetof(WASH_CYCLE_WINDOW_CONTROL_BLOCK, wash_cycle_window_minute), /* control block */
1555     (void *) &wash_cycle_window_minute_properties /* extended properties       */
1556 };
1557 
1558 GX_CONST GX_STUDIO_WIDGET wash_cycle_window_wash_cycle_slider_define =
1559 {
1560     "wash_cycle_slider",
1561     GX_TYPE_RADIAL_SLIDER,                   /* widget type                    */
1562     ID_WASH_CYCLE_SLIDER,                    /* widget id                      */
1563     #if defined(GX_WIDGET_USER_DATA)
1564     0,                                       /* user data                      */
1565     #endif
1566     GX_STYLE_BORDER_NONE|GX_STYLE_TRANSPARENT|GX_STYLE_ENABLED,   /* style flags */
1567     GX_STATUS_ACCEPTS_FOCUS,                 /* status flags                   */
1568     sizeof(GX_RADIAL_SLIDER),                /* control block size             */
1569     GX_COLOR_ID_WIDGET_FILL,                 /* normal color id                */
1570     GX_COLOR_ID_SELECTED_FILL,               /* selected color id              */
1571     GX_COLOR_ID_DISABLED_FILL,               /* disabled color id              */
1572     gx_studio_radial_slider_create,          /* create function                */
1573     (VOID (*)(GX_WIDGET *)) wash_cycle_slider_draw, /* drawing function override */
1574     GX_NULL,                                 /* event function override        */
1575     {160, 80, 477, 397},                     /* widget size                    */
1576     GX_NULL,                                 /* no next widget                 */
1577     &wash_cycle_window_minute_define,        /* child widget definition        */
1578     offsetof(WASH_CYCLE_WINDOW_CONTROL_BLOCK, wash_cycle_window_wash_cycle_slider), /* control block */
1579     (void *) &wash_cycle_window_wash_cycle_slider_properties /* extended properties */
1580 };
1581 
1582 GX_CONST GX_STUDIO_WIDGET wash_cycle_window_define =
1583 {
1584     "wash_cycle_window",
1585     GX_TYPE_WINDOW,                          /* widget type                    */
1586     GX_ID_NONE,                              /* widget id                      */
1587     #if defined(GX_WIDGET_USER_DATA)
1588     0,                                       /* user data                      */
1589     #endif
1590     GX_STYLE_BORDER_NONE|GX_STYLE_TRANSPARENT|GX_STYLE_ENABLED,   /* style flags */
1591     GX_STATUS_ACCEPTS_FOCUS,                 /* status flags                   */
1592     sizeof(WASH_CYCLE_WINDOW_CONTROL_BLOCK), /* control block size             */
1593     GX_COLOR_ID_TEXT,                        /* normal color id                */
1594     GX_COLOR_ID_TEXT,                        /* selected color id              */
1595     GX_COLOR_ID_TEXT,                        /* disabled color id              */
1596     gx_studio_window_create,                 /* create function                */
1597     (VOID (*)(GX_WIDGET *)) wash_cycle_window_draw, /* drawing function override */
1598     (UINT (*)(GX_WIDGET *, GX_EVENT *)) wash_cycle_window_event_process, /* event function override */
1599     {160, 80, 477, 397},                     /* widget size                    */
1600     GX_NULL,                                 /* next widget                    */
1601     &wash_cycle_window_wash_cycle_slider_define, /* child widget               */
1602     0,                                       /* control block                  */
1603     (void *) &wash_cycle_window_properties   /* extended properties            */
1604 };
1605 GX_WINDOW_PROPERTIES main_screen_properties =
1606 {
1607     GX_PIXELMAP_ID_BG                        /* wallpaper pixelmap id          */
1608 };
1609 GX_ICON_PROPERTIES main_screen_logo_properties =
1610 {
1611     GX_PIXELMAP_ID_MICROSOFT_AZURE_LOGO,     /* normal pixelmap id             */
1612     0                                        /* selected pixelmap id           */
1613 };
1614 GX_PROMPT_PROPERTIES main_screen_wash_cycle_mode_properties =
1615 {
1616     GX_STRING_ID_STRING_2,                   /* string id                      */
1617     GX_FONT_ID_PROMPT,                       /* font id                        */
1618     GX_COLOR_ID_WHITE,                       /* normal text color              */
1619     GX_COLOR_ID_YELLOW,                      /* selected text color            */
1620     GX_COLOR_ID_WHITE                        /* disabled text color            */
1621 };
1622 GX_PROMPT_PROPERTIES main_screen_wash_cycle_lable_properties =
1623 {
1624     GX_STRING_ID_STRING_3,                   /* string id                      */
1625     GX_FONT_ID_SMALL,                        /* font id                        */
1626     GX_COLOR_ID_WHITE,                       /* normal text color              */
1627     GX_COLOR_ID_YELLOW,                      /* selected text color            */
1628     GX_COLOR_ID_WHITE                        /* disabled text color            */
1629 };
1630 GX_PROMPT_PROPERTIES main_screen_prompt_2_properties =
1631 {
1632     GX_STRING_ID_STRING_7,                   /* string id                      */
1633     GX_FONT_ID_SMALL,                        /* font id                        */
1634     GX_COLOR_ID_WHITE,                       /* normal text color              */
1635     GX_COLOR_ID_YELLOW,                      /* selected text color            */
1636     GX_COLOR_ID_WHITE                        /* disabled text color            */
1637 };
1638 GX_PROMPT_PROPERTIES main_screen_temperature_lable_properties =
1639 {
1640     GX_STRING_ID_STRING_8,                   /* string id                      */
1641     GX_FONT_ID_SMALL,                        /* font id                        */
1642     GX_COLOR_ID_WHITE,                       /* normal text color              */
1643     GX_COLOR_ID_YELLOW,                      /* selected text color            */
1644     GX_COLOR_ID_WHITE                        /* disabled text color            */
1645 };
1646 GX_NUMERIC_PROMPT_PROPERTIES main_screen_temperature_value_properties =
1647 {
1648     0,                                       /* string id                      */
1649     GX_FONT_ID_PROMPT,                       /* font id                        */
1650     GX_COLOR_ID_WHITE,                       /* normal text color              */
1651     GX_COLOR_ID_YELLOW,                      /* selected text color            */
1652     GX_COLOR_ID_WHITE,                       /* disabled text color            */
1653     GX_NULL,                                 /* format function                */
1654     75                                       /* numeric prompt value           */
1655 };
1656 GX_PROMPT_PROPERTIES main_screen_prompt_4_properties =
1657 {
1658     GX_STRING_ID_STRING_6,                   /* string id                      */
1659     GX_FONT_ID_PROMPT,                       /* font id                        */
1660     GX_COLOR_ID_WHITE,                       /* normal text color              */
1661     GX_COLOR_ID_YELLOW,                      /* selected text color            */
1662     GX_COLOR_ID_WHITE                        /* disabled text color            */
1663 };
1664 GX_PROMPT_PROPERTIES main_screen_water_level_label_properties =
1665 {
1666     GX_STRING_ID_STRING_9,                   /* string id                      */
1667     GX_FONT_ID_SMALL,                        /* font id                        */
1668     GX_COLOR_ID_WHITE,                       /* normal text color              */
1669     GX_COLOR_ID_YELLOW,                      /* selected text color            */
1670     GX_COLOR_ID_WHITE                        /* disabled text color            */
1671 };
1672 GX_NUMERIC_PROMPT_PROPERTIES main_screen_water_level_value_properties =
1673 {
1674     0,                                       /* string id                      */
1675     GX_FONT_ID_PROMPT,                       /* font id                        */
1676     GX_COLOR_ID_WHITE,                       /* normal text color              */
1677     GX_COLOR_ID_YELLOW,                      /* selected text color            */
1678     GX_COLOR_ID_WHITE,                       /* disabled text color            */
1679     GX_NULL,                                 /* format function                */
1680     35                                       /* numeric prompt value           */
1681 };
1682 GX_PIXELMAP_BUTTON_PROPERTIES main_screen_btn_play_properties =
1683 {
1684     GX_PIXELMAP_ID_PLAY,                     /* normal pixelmap id             */
1685     GX_PIXELMAP_ID_PAUSE,                    /* selected pixelmap id           */
1686     0                                        /* disabled pixelmap id           */
1687 };
1688 GX_PROGRESS_BAR_INFO main_screen_wash_cycle_progress_bar_properties =
1689 {
1690     0,                                       /* mimimun value                  */
1691     100,                                     /* maximum value                  */
1692     17,                                      /* current value                  */
1693     GX_FONT_ID_SYSTEM,                       /* font_id                        */
1694     GX_COLOR_ID_TEXT,                        /* normal text color              */
1695     GX_COLOR_ID_SELECTED_TEXT,               /* selected text color            */
1696     GX_COLOR_ID_DISABLED_TEXT,               /* disabled text color            */
1697     0                                        /* fill pixelmap                  */
1698 };
1699 GX_PROMPT_PROPERTIES main_screen_label_1_soak_properties =
1700 {
1701     GX_STRING_ID_STRING_11,                  /* string id                      */
1702     GX_FONT_ID_SMALL,                        /* font id                        */
1703     GX_COLOR_ID_WHITE,                       /* normal text color              */
1704     GX_COLOR_ID_WHITE,                       /* selected text color            */
1705     GX_COLOR_ID_WHITE                        /* disabled text color            */
1706 };
1707 GX_PROMPT_PROPERTIES main_screen_label_2_spin_properties =
1708 {
1709     GX_STRING_ID_STRING_13,                  /* string id                      */
1710     GX_FONT_ID_SMALL,                        /* font id                        */
1711     GX_COLOR_ID_WHITE,                       /* normal text color              */
1712     GX_COLOR_ID_WHITE,                       /* selected text color            */
1713     GX_COLOR_ID_WHITE                        /* disabled text color            */
1714 };
1715 GX_PROMPT_PROPERTIES main_screen_label_3_wash_properties =
1716 {
1717     GX_STRING_ID_STRING_14,                  /* string id                      */
1718     GX_FONT_ID_SMALL,                        /* font id                        */
1719     GX_COLOR_ID_WHITE,                       /* normal text color              */
1720     GX_COLOR_ID_WHITE,                       /* selected text color            */
1721     GX_COLOR_ID_WHITE                        /* disabled text color            */
1722 };
1723 GX_PROMPT_PROPERTIES main_screen_label_4_spin_properties =
1724 {
1725     GX_STRING_ID_STRING_13,                  /* string id                      */
1726     GX_FONT_ID_SMALL,                        /* font id                        */
1727     GX_COLOR_ID_WHITE,                       /* normal text color              */
1728     GX_COLOR_ID_WHITE,                       /* selected text color            */
1729     GX_COLOR_ID_WHITE                        /* disabled text color            */
1730 };
1731 GX_PROMPT_PROPERTIES main_screen_label_5_rinse_properties =
1732 {
1733     GX_STRING_ID_STRING_15,                  /* string id                      */
1734     GX_FONT_ID_SMALL,                        /* font id                        */
1735     GX_COLOR_ID_WHITE,                       /* normal text color              */
1736     GX_COLOR_ID_WHITE,                       /* selected text color            */
1737     GX_COLOR_ID_WHITE                        /* disabled text color            */
1738 };
1739 GX_PROMPT_PROPERTIES main_screen_label_6_spin_properties =
1740 {
1741     GX_STRING_ID_STRING_13,                  /* string id                      */
1742     GX_FONT_ID_SMALL,                        /* font id                        */
1743     GX_COLOR_ID_WHITE,                       /* normal text color              */
1744     GX_COLOR_ID_WHITE,                       /* selected text color            */
1745     GX_COLOR_ID_WHITE                        /* disabled text color            */
1746 };
1747 
1748 GX_CONST GX_STUDIO_WIDGET main_screen_wash_cycle_lable_define =
1749 {
1750     "wash_cycle_lable",
1751     GX_TYPE_PROMPT,                          /* widget type                    */
1752     GX_ID_NONE,                              /* widget id                      */
1753     #if defined(GX_WIDGET_USER_DATA)
1754     0,                                       /* user data                      */
1755     #endif
1756     GX_STYLE_BORDER_NONE|GX_STYLE_TRANSPARENT|GX_STYLE_ENABLED|GX_STYLE_TEXT_CENTER,   /* style flags */
1757     0,                                       /* status flags                   */
1758     sizeof(GX_PROMPT),                       /* control block size             */
1759     GX_COLOR_ID_WIDGET_FILL,                 /* normal color id                */
1760     GX_COLOR_ID_SELECTED_FILL,               /* selected color id              */
1761     GX_COLOR_ID_DISABLED_FILL,               /* disabled color id              */
1762     gx_studio_prompt_create,                 /* create function                */
1763     (VOID (*)(GX_WIDGET *)) btn_text_draw,   /* drawing function override      */
1764     GX_NULL,                                 /* event function override        */
1765     {376, 65, 444, 77},                      /* widget size                    */
1766     GX_NULL,                                 /* no next widget                 */
1767     GX_NULL,                                 /* no child widgets               */
1768     offsetof(MAIN_SCREEN_CONTROL_BLOCK, main_screen_wash_cycle_lable), /* control block */
1769     (void *) &main_screen_wash_cycle_lable_properties /* extended properties   */
1770 };
1771 
1772 GX_CONST GX_STUDIO_WIDGET main_screen_wash_cycle_mode_define =
1773 {
1774     "wash_cycle_mode",
1775     GX_TYPE_PROMPT,                          /* widget type                    */
1776     GX_ID_NONE,                              /* widget id                      */
1777     #if defined(GX_WIDGET_USER_DATA)
1778     0,                                       /* user data                      */
1779     #endif
1780     GX_STYLE_BORDER_NONE|GX_STYLE_TRANSPARENT|GX_STYLE_ENABLED|GX_STYLE_TEXT_CENTER,   /* style flags */
1781     0,                                       /* status flags                   */
1782     sizeof(GX_PROMPT),                       /* control block size             */
1783     GX_COLOR_ID_WIDGET_FILL,                 /* normal color id                */
1784     GX_COLOR_ID_SELECTED_FILL,               /* selected color id              */
1785     GX_COLOR_ID_DISABLED_FILL,               /* disabled color id              */
1786     gx_studio_prompt_create,                 /* create function                */
1787     (VOID (*)(GX_WIDGET *)) btn_text_draw,   /* drawing function override      */
1788     GX_NULL,                                 /* event function override        */
1789     {397, 41, 439, 58},                      /* widget size                    */
1790     &main_screen_wash_cycle_lable_define,    /* next widget definition         */
1791     GX_NULL,                                 /* no child widgets               */
1792     offsetof(MAIN_SCREEN_CONTROL_BLOCK, main_screen_wash_cycle_mode), /* control block */
1793     (void *) &main_screen_wash_cycle_mode_properties /* extended properties    */
1794 };
1795 
1796 GX_CONST GX_STUDIO_WIDGET main_screen_temperature_value_define =
1797 {
1798     "temperature_value",
1799     GX_TYPE_NUMERIC_PROMPT,                  /* widget type                    */
1800     GX_ID_NONE,                              /* widget id                      */
1801     #if defined(GX_WIDGET_USER_DATA)
1802     0,                                       /* user data                      */
1803     #endif
1804     GX_STYLE_BORDER_NONE|GX_STYLE_TRANSPARENT|GX_STYLE_ENABLED|GX_STYLE_TEXT_CENTER,   /* style flags */
1805     0,                                       /* status flags                   */
1806     sizeof(GX_NUMERIC_PROMPT),               /* control block size             */
1807     GX_COLOR_ID_WIDGET_FILL,                 /* normal color id                */
1808     GX_COLOR_ID_SELECTED_FILL,               /* selected color id              */
1809     GX_COLOR_ID_DISABLED_FILL,               /* disabled color id              */
1810     gx_studio_numeric_prompt_create,         /* create function                */
1811     (VOID (*)(GX_WIDGET *)) btn_numeric_text_draw, /* drawing function override */
1812     GX_NULL,                                 /* event function override        */
1813     {489, 41, 510, 62},                      /* widget size                    */
1814     GX_NULL,                                 /* no next widget                 */
1815     GX_NULL,                                 /* no child widgets               */
1816     offsetof(MAIN_SCREEN_CONTROL_BLOCK, main_screen_temperature_value), /* control block */
1817     (void *) &main_screen_temperature_value_properties /* extended properties  */
1818 };
1819 
1820 GX_CONST GX_STUDIO_WIDGET main_screen_temperature_lable_define =
1821 {
1822     "temperature_lable",
1823     GX_TYPE_PROMPT,                          /* widget type                    */
1824     GX_ID_NONE,                              /* widget id                      */
1825     #if defined(GX_WIDGET_USER_DATA)
1826     0,                                       /* user data                      */
1827     #endif
1828     GX_STYLE_BORDER_NONE|GX_STYLE_TRANSPARENT|GX_STYLE_ENABLED|GX_STYLE_TEXT_CENTER,   /* style flags */
1829     0,                                       /* status flags                   */
1830     sizeof(GX_PROMPT),                       /* control block size             */
1831     GX_COLOR_ID_WIDGET_FILL,                 /* normal color id                */
1832     GX_COLOR_ID_SELECTED_FILL,               /* selected color id              */
1833     GX_COLOR_ID_DISABLED_FILL,               /* disabled color id              */
1834     gx_studio_prompt_create,                 /* create function                */
1835     (VOID (*)(GX_WIDGET *)) btn_text_draw,   /* drawing function override      */
1836     GX_NULL,                                 /* event function override        */
1837     {453, 65, 530, 77},                      /* widget size                    */
1838     &main_screen_temperature_value_define,   /* next widget definition         */
1839     GX_NULL,                                 /* no child widgets               */
1840     offsetof(MAIN_SCREEN_CONTROL_BLOCK, main_screen_temperature_lable), /* control block */
1841     (void *) &main_screen_temperature_lable_properties /* extended properties  */
1842 };
1843 
1844 GX_CONST GX_STUDIO_WIDGET main_screen_prompt_2_define =
1845 {
1846     "prompt_2",
1847     GX_TYPE_PROMPT,                          /* widget type                    */
1848     GX_ID_NONE,                              /* widget id                      */
1849     #if defined(GX_WIDGET_USER_DATA)
1850     0,                                       /* user data                      */
1851     #endif
1852     GX_STYLE_BORDER_NONE|GX_STYLE_TRANSPARENT|GX_STYLE_ENABLED|GX_STYLE_TEXT_CENTER,   /* style flags */
1853     0,                                       /* status flags                   */
1854     sizeof(GX_PROMPT),                       /* control block size             */
1855     GX_COLOR_ID_WIDGET_FILL,                 /* normal color id                */
1856     GX_COLOR_ID_SELECTED_FILL,               /* selected color id              */
1857     GX_COLOR_ID_DISABLED_FILL,               /* disabled color id              */
1858     gx_studio_prompt_create,                 /* create function                */
1859     (VOID (*)(GX_WIDGET *)) btn_text_draw,   /* drawing function override      */
1860     GX_NULL,                                 /* event function override        */
1861     {509, 40, 515, 52},                      /* widget size                    */
1862     &main_screen_temperature_lable_define,   /* next widget definition         */
1863     GX_NULL,                                 /* no child widgets               */
1864     offsetof(MAIN_SCREEN_CONTROL_BLOCK, main_screen_prompt_2), /* control block */
1865     (void *) &main_screen_prompt_2_properties /* extended properties           */
1866 };
1867 
1868 GX_CONST GX_STUDIO_WIDGET main_screen_water_level_value_define =
1869 {
1870     "water_level_value",
1871     GX_TYPE_NUMERIC_PROMPT,                  /* widget type                    */
1872     GX_ID_NONE,                              /* widget id                      */
1873     #if defined(GX_WIDGET_USER_DATA)
1874     0,                                       /* user data                      */
1875     #endif
1876     GX_STYLE_BORDER_NONE|GX_STYLE_TRANSPARENT|GX_STYLE_ENABLED|GX_STYLE_TEXT_CENTER,   /* style flags */
1877     0,                                       /* status flags                   */
1878     sizeof(GX_NUMERIC_PROMPT),               /* control block size             */
1879     GX_COLOR_ID_WIDGET_FILL,                 /* normal color id                */
1880     GX_COLOR_ID_SELECTED_FILL,               /* selected color id              */
1881     GX_COLOR_ID_DISABLED_FILL,               /* disabled color id              */
1882     gx_studio_numeric_prompt_create,         /* create function                */
1883     (VOID (*)(GX_WIDGET *)) btn_numeric_text_draw, /* drawing function override */
1884     GX_NULL,                                 /* event function override        */
1885     {566, 41, 587, 62},                      /* widget size                    */
1886     GX_NULL,                                 /* no next widget                 */
1887     GX_NULL,                                 /* no child widgets               */
1888     offsetof(MAIN_SCREEN_CONTROL_BLOCK, main_screen_water_level_value), /* control block */
1889     (void *) &main_screen_water_level_value_properties /* extended properties  */
1890 };
1891 
1892 GX_CONST GX_STUDIO_WIDGET main_screen_water_level_label_define =
1893 {
1894     "water_level_label",
1895     GX_TYPE_PROMPT,                          /* widget type                    */
1896     GX_ID_NONE,                              /* widget id                      */
1897     #if defined(GX_WIDGET_USER_DATA)
1898     0,                                       /* user data                      */
1899     #endif
1900     GX_STYLE_BORDER_NONE|GX_STYLE_TRANSPARENT|GX_STYLE_ENABLED|GX_STYLE_TEXT_CENTER,   /* style flags */
1901     0,                                       /* status flags                   */
1902     sizeof(GX_PROMPT),                       /* control block size             */
1903     GX_COLOR_ID_WIDGET_FILL,                 /* normal color id                */
1904     GX_COLOR_ID_SELECTED_FILL,               /* selected color id              */
1905     GX_COLOR_ID_DISABLED_FILL,               /* disabled color id              */
1906     gx_studio_prompt_create,                 /* create function                */
1907     (VOID (*)(GX_WIDGET *)) btn_text_draw,   /* drawing function override      */
1908     GX_NULL,                                 /* event function override        */
1909     {537, 64, 607, 76},                      /* widget size                    */
1910     &main_screen_water_level_value_define,   /* next widget definition         */
1911     GX_NULL,                                 /* no child widgets               */
1912     offsetof(MAIN_SCREEN_CONTROL_BLOCK, main_screen_water_level_label), /* control block */
1913     (void *) &main_screen_water_level_label_properties /* extended properties  */
1914 };
1915 
1916 GX_CONST GX_STUDIO_WIDGET main_screen_prompt_4_define =
1917 {
1918     "prompt_4",
1919     GX_TYPE_PROMPT,                          /* widget type                    */
1920     GX_ID_NONE,                              /* widget id                      */
1921     #if defined(GX_WIDGET_USER_DATA)
1922     0,                                       /* user data                      */
1923     #endif
1924     GX_STYLE_BORDER_NONE|GX_STYLE_TRANSPARENT|GX_STYLE_ENABLED|GX_STYLE_TEXT_CENTER,   /* style flags */
1925     0,                                       /* status flags                   */
1926     sizeof(GX_PROMPT),                       /* control block size             */
1927     GX_COLOR_ID_WIDGET_FILL,                 /* normal color id                */
1928     GX_COLOR_ID_SELECTED_FILL,               /* selected color id              */
1929     GX_COLOR_ID_DISABLED_FILL,               /* disabled color id              */
1930     gx_studio_prompt_create,                 /* create function                */
1931     (VOID (*)(GX_WIDGET *)) btn_text_draw,   /* drawing function override      */
1932     GX_NULL,                                 /* event function override        */
1933     {587, 42, 601, 59},                      /* widget size                    */
1934     &main_screen_water_level_label_define,   /* next widget definition         */
1935     GX_NULL,                                 /* no child widgets               */
1936     offsetof(MAIN_SCREEN_CONTROL_BLOCK, main_screen_prompt_4), /* control block */
1937     (void *) &main_screen_prompt_4_properties /* extended properties           */
1938 };
1939 
1940 GX_CONST GX_STUDIO_WIDGET main_screen_label_6_spin_define =
1941 {
1942     "label_6_spin",
1943     GX_TYPE_PROMPT,                          /* widget type                    */
1944     GX_ID_NONE,                              /* widget id                      */
1945     #if defined(GX_WIDGET_USER_DATA)
1946     0,                                       /* user data                      */
1947     #endif
1948     GX_STYLE_BORDER_NONE|GX_STYLE_TRANSPARENT|GX_STYLE_TEXT_CENTER,   /* style flags */
1949     0,                                       /* status flags                   */
1950     sizeof(GX_PROMPT),                       /* control block size             */
1951     GX_COLOR_ID_WIDGET_FILL,                 /* normal color id                */
1952     GX_COLOR_ID_SELECTED_FILL,               /* selected color id              */
1953     GX_COLOR_ID_DISABLED_FILL,               /* disabled color id              */
1954     gx_studio_prompt_create,                 /* create function                */
1955     GX_NULL,                                 /* drawing function override      */
1956     GX_NULL,                                 /* event function override        */
1957     {574, 428, 600, 440},                    /* widget size                    */
1958     GX_NULL,                                 /* no next widget                 */
1959     GX_NULL,                                 /* no child widgets               */
1960     offsetof(MAIN_SCREEN_CONTROL_BLOCK, main_screen_label_6_spin), /* control block */
1961     (void *) &main_screen_label_6_spin_properties /* extended properties       */
1962 };
1963 
1964 GX_CONST GX_STUDIO_WIDGET main_screen_label_5_rinse_define =
1965 {
1966     "label_5_rinse",
1967     GX_TYPE_PROMPT,                          /* widget type                    */
1968     GX_ID_NONE,                              /* widget id                      */
1969     #if defined(GX_WIDGET_USER_DATA)
1970     0,                                       /* user data                      */
1971     #endif
1972     GX_STYLE_BORDER_NONE|GX_STYLE_TRANSPARENT|GX_STYLE_TEXT_CENTER,   /* style flags */
1973     0,                                       /* status flags                   */
1974     sizeof(GX_PROMPT),                       /* control block size             */
1975     GX_COLOR_ID_WIDGET_FILL,                 /* normal color id                */
1976     GX_COLOR_ID_SELECTED_FILL,               /* selected color id              */
1977     GX_COLOR_ID_DISABLED_FILL,               /* disabled color id              */
1978     gx_studio_prompt_create,                 /* create function                */
1979     GX_NULL,                                 /* drawing function override      */
1980     GX_NULL,                                 /* event function override        */
1981     {532, 428, 563, 440},                    /* widget size                    */
1982     &main_screen_label_6_spin_define,        /* next widget definition         */
1983     GX_NULL,                                 /* no child widgets               */
1984     offsetof(MAIN_SCREEN_CONTROL_BLOCK, main_screen_label_5_rinse), /* control block */
1985     (void *) &main_screen_label_5_rinse_properties /* extended properties      */
1986 };
1987 
1988 GX_CONST GX_STUDIO_WIDGET main_screen_label_4_spin_define =
1989 {
1990     "label_4_spin",
1991     GX_TYPE_PROMPT,                          /* widget type                    */
1992     GX_ID_NONE,                              /* widget id                      */
1993     #if defined(GX_WIDGET_USER_DATA)
1994     0,                                       /* user data                      */
1995     #endif
1996     GX_STYLE_BORDER_NONE|GX_STYLE_TRANSPARENT|GX_STYLE_TEXT_CENTER,   /* style flags */
1997     0,                                       /* status flags                   */
1998     sizeof(GX_PROMPT),                       /* control block size             */
1999     GX_COLOR_ID_WIDGET_FILL,                 /* normal color id                */
2000     GX_COLOR_ID_SELECTED_FILL,               /* selected color id              */
2001     GX_COLOR_ID_DISABLED_FILL,               /* disabled color id              */
2002     gx_studio_prompt_create,                 /* create function                */
2003     GX_NULL,                                 /* drawing function override      */
2004     GX_NULL,                                 /* event function override        */
2005     {494, 428, 520, 440},                    /* widget size                    */
2006     &main_screen_label_5_rinse_define,       /* next widget definition         */
2007     GX_NULL,                                 /* no child widgets               */
2008     offsetof(MAIN_SCREEN_CONTROL_BLOCK, main_screen_label_4_spin), /* control block */
2009     (void *) &main_screen_label_4_spin_properties /* extended properties       */
2010 };
2011 
2012 GX_CONST GX_STUDIO_WIDGET main_screen_label_3_wash_define =
2013 {
2014     "label_3_wash",
2015     GX_TYPE_PROMPT,                          /* widget type                    */
2016     GX_ID_NONE,                              /* widget id                      */
2017     #if defined(GX_WIDGET_USER_DATA)
2018     0,                                       /* user data                      */
2019     #endif
2020     GX_STYLE_BORDER_NONE|GX_STYLE_TRANSPARENT|GX_STYLE_TEXT_CENTER,   /* style flags */
2021     0,                                       /* status flags                   */
2022     sizeof(GX_PROMPT),                       /* control block size             */
2023     GX_COLOR_ID_WIDGET_FILL,                 /* normal color id                */
2024     GX_COLOR_ID_SELECTED_FILL,               /* selected color id              */
2025     GX_COLOR_ID_DISABLED_FILL,               /* disabled color id              */
2026     gx_studio_prompt_create,                 /* create function                */
2027     GX_NULL,                                 /* drawing function override      */
2028     GX_NULL,                                 /* event function override        */
2029     {451, 428, 483, 440},                    /* widget size                    */
2030     &main_screen_label_4_spin_define,        /* next widget definition         */
2031     GX_NULL,                                 /* no child widgets               */
2032     offsetof(MAIN_SCREEN_CONTROL_BLOCK, main_screen_label_3_wash), /* control block */
2033     (void *) &main_screen_label_3_wash_properties /* extended properties       */
2034 };
2035 
2036 GX_CONST GX_STUDIO_WIDGET main_screen_label_2_spin_define =
2037 {
2038     "label_2_spin",
2039     GX_TYPE_PROMPT,                          /* widget type                    */
2040     GX_ID_NONE,                              /* widget id                      */
2041     #if defined(GX_WIDGET_USER_DATA)
2042     0,                                       /* user data                      */
2043     #endif
2044     GX_STYLE_BORDER_NONE|GX_STYLE_TRANSPARENT|GX_STYLE_TEXT_CENTER,   /* style flags */
2045     0,                                       /* status flags                   */
2046     sizeof(GX_PROMPT),                       /* control block size             */
2047     GX_COLOR_ID_WIDGET_FILL,                 /* normal color id                */
2048     GX_COLOR_ID_SELECTED_FILL,               /* selected color id              */
2049     GX_COLOR_ID_DISABLED_FILL,               /* disabled color id              */
2050     gx_studio_prompt_create,                 /* create function                */
2051     GX_NULL,                                 /* drawing function override      */
2052     GX_NULL,                                 /* event function override        */
2053     {414, 428, 440, 440},                    /* widget size                    */
2054     &main_screen_label_3_wash_define,        /* next widget definition         */
2055     GX_NULL,                                 /* no child widgets               */
2056     offsetof(MAIN_SCREEN_CONTROL_BLOCK, main_screen_label_2_spin), /* control block */
2057     (void *) &main_screen_label_2_spin_properties /* extended properties       */
2058 };
2059 
2060 GX_CONST GX_STUDIO_WIDGET main_screen_label_1_soak_define =
2061 {
2062     "label_1_soak",
2063     GX_TYPE_PROMPT,                          /* widget type                    */
2064     GX_ID_NONE,                              /* widget id                      */
2065     #if defined(GX_WIDGET_USER_DATA)
2066     0,                                       /* user data                      */
2067     #endif
2068     GX_STYLE_BORDER_NONE|GX_STYLE_TRANSPARENT|GX_STYLE_TEXT_CENTER,   /* style flags */
2069     0,                                       /* status flags                   */
2070     sizeof(GX_PROMPT),                       /* control block size             */
2071     GX_COLOR_ID_WIDGET_FILL,                 /* normal color id                */
2072     GX_COLOR_ID_SELECTED_FILL,               /* selected color id              */
2073     GX_COLOR_ID_DISABLED_FILL,               /* disabled color id              */
2074     gx_studio_prompt_create,                 /* create function                */
2075     GX_NULL,                                 /* drawing function override      */
2076     GX_NULL,                                 /* event function override        */
2077     {374, 428, 402, 440},                    /* widget size                    */
2078     &main_screen_label_2_spin_define,        /* next widget definition         */
2079     GX_NULL,                                 /* no child widgets               */
2080     offsetof(MAIN_SCREEN_CONTROL_BLOCK, main_screen_label_1_soak), /* control block */
2081     (void *) &main_screen_label_1_soak_properties /* extended properties       */
2082 };
2083 
2084 GX_CONST GX_STUDIO_WIDGET main_screen_wash_cycle_progress_bar_define =
2085 {
2086     "wash_cycle_progress_bar",
2087     GX_TYPE_PROGRESS_BAR,                    /* widget type                    */
2088     GX_ID_NONE,                              /* widget id                      */
2089     #if defined(GX_WIDGET_USER_DATA)
2090     0,                                       /* user data                      */
2091     #endif
2092     GX_STYLE_BORDER_NONE|GX_STYLE_TRANSPARENT|GX_STYLE_ENABLED|GX_STYLE_PROGRESS_PERCENT,   /* style flags */
2093     GX_STATUS_ACCEPTS_FOCUS,                 /* status flags                   */
2094     sizeof(GX_PROGRESS_BAR),                 /* control block size             */
2095     GX_COLOR_ID_WIDGET_FILL,                 /* normal color id                */
2096     GX_COLOR_ID_SELECTED_FILL,               /* selected color id              */
2097     GX_COLOR_ID_DISABLED_FILL,               /* disabled color id              */
2098     gx_studio_progress_bar_create,           /* create function                */
2099     (VOID (*)(GX_WIDGET *)) wash_cycle_progress_bar_draw, /* drawing function override */
2100     GX_NULL,                                 /* event function override        */
2101     {372, 416, 597, 420},                    /* widget size                    */
2102     &main_screen_label_1_soak_define,        /* next widget definition         */
2103     GX_NULL,                                 /* no child widgets               */
2104     offsetof(MAIN_SCREEN_CONTROL_BLOCK, main_screen_wash_cycle_progress_bar), /* control block */
2105     (void *) &main_screen_wash_cycle_progress_bar_properties /* extended properties */
2106 };
2107 
2108 GX_CONST GX_STUDIO_WIDGET main_screen_btn_play_define =
2109 {
2110     "btn_play",
2111     GX_TYPE_PIXELMAP_BUTTON,                 /* widget type                    */
2112     ID_BTN_PLAY,                             /* widget id                      */
2113     #if defined(GX_WIDGET_USER_DATA)
2114     0,                                       /* user data                      */
2115     #endif
2116     GX_STYLE_BORDER_NONE|GX_STYLE_ENABLED|GX_STYLE_BUTTON_TOGGLE,   /* style flags */
2117     GX_STATUS_ACCEPTS_FOCUS,                 /* status flags                   */
2118     sizeof(GX_PIXELMAP_BUTTON),              /* control block size             */
2119     GX_COLOR_ID_BTN_LOWER,                   /* normal color id                */
2120     GX_COLOR_ID_BTN_UPPER,                   /* selected color id              */
2121     GX_COLOR_ID_DISABLED_FILL,               /* disabled color id              */
2122     gx_studio_pixelmap_button_create,        /* create function                */
2123     GX_NULL,                                 /* drawing function override      */
2124     GX_NULL,                                 /* event function override        */
2125     {55, 324, 125, 396},                     /* widget size                    */
2126     &main_screen_wash_cycle_progress_bar_define, /* next widget definition     */
2127     GX_NULL,                                 /* no child widgets               */
2128     offsetof(MAIN_SCREEN_CONTROL_BLOCK, main_screen_btn_play), /* control block */
2129     (void *) &main_screen_btn_play_properties /* extended properties           */
2130 };
2131 
2132 GX_CONST GX_STUDIO_WIDGET main_screen_btn_water_level_define =
2133 {
2134     "btn_water_level",
2135     GX_TYPE_BUTTON,                          /* widget type                    */
2136     ID_BTN_WATER_LEVEL,                      /* widget id                      */
2137     #if defined(GX_WIDGET_USER_DATA)
2138     0,                                       /* user data                      */
2139     #endif
2140     GX_STYLE_BORDER_NONE|GX_STYLE_TRANSPARENT|GX_STYLE_ENABLED|GX_STYLE_BUTTON_RADIO,   /* style flags */
2141     GX_STATUS_ACCEPTS_FOCUS,                 /* status flags                   */
2142     sizeof(GX_BUTTON),                       /* control block size             */
2143     GX_COLOR_ID_BTN_LOWER,                   /* normal color id                */
2144     GX_COLOR_ID_BTN_UPPER,                   /* selected color id              */
2145     GX_COLOR_ID_DISABLED_FILL,               /* disabled color id              */
2146     gx_studio_button_create,                 /* create function                */
2147     GX_NULL,                                 /* drawing function override      */
2148     GX_NULL,                                 /* event function override        */
2149     {533, 33, 612, 81},                      /* widget size                    */
2150     &main_screen_btn_play_define,            /* next widget definition         */
2151     &main_screen_prompt_4_define,            /* child widget definition        */
2152     offsetof(MAIN_SCREEN_CONTROL_BLOCK, main_screen_btn_water_level), /* control block */
2153     (void *) GX_NULL                         /* no extended properties         */
2154 };
2155 
2156 GX_CONST GX_STUDIO_WIDGET main_screen_btn_temperature_define =
2157 {
2158     "btn_temperature",
2159     GX_TYPE_BUTTON,                          /* widget type                    */
2160     ID_BTN_TEMPERATURE,                      /* widget id                      */
2161     #if defined(GX_WIDGET_USER_DATA)
2162     0,                                       /* user data                      */
2163     #endif
2164     GX_STYLE_BORDER_NONE|GX_STYLE_TRANSPARENT|GX_STYLE_ENABLED|GX_STYLE_BUTTON_RADIO,   /* style flags */
2165     GX_STATUS_ACCEPTS_FOCUS,                 /* status flags                   */
2166     sizeof(GX_BUTTON),                       /* control block size             */
2167     GX_COLOR_ID_BTN_LOWER,                   /* normal color id                */
2168     GX_COLOR_ID_BTN_UPPER,                   /* selected color id              */
2169     GX_COLOR_ID_DISABLED_FILL,               /* disabled color id              */
2170     gx_studio_button_create,                 /* create function                */
2171     GX_NULL,                                 /* drawing function override      */
2172     GX_NULL,                                 /* event function override        */
2173     {452, 33, 531, 81},                      /* widget size                    */
2174     &main_screen_btn_water_level_define,     /* next widget definition         */
2175     &main_screen_prompt_2_define,            /* child widget definition        */
2176     offsetof(MAIN_SCREEN_CONTROL_BLOCK, main_screen_btn_temperature), /* control block */
2177     (void *) GX_NULL                         /* no extended properties         */
2178 };
2179 
2180 GX_CONST GX_STUDIO_WIDGET main_screen_btn_wash_cycle_define =
2181 {
2182     "btn_wash_cycle",
2183     GX_TYPE_BUTTON,                          /* widget type                    */
2184     ID_BTN_WASH_CYCLE,                       /* widget id                      */
2185     #if defined(GX_WIDGET_USER_DATA)
2186     0,                                       /* user data                      */
2187     #endif
2188     GX_STYLE_BORDER_NONE|GX_STYLE_TRANSPARENT|GX_STYLE_ENABLED|GX_STYLE_BUTTON_PUSHED|GX_STYLE_BUTTON_RADIO,   /* style flags */
2189     GX_STATUS_ACCEPTS_FOCUS,                 /* status flags                   */
2190     sizeof(GX_BUTTON),                       /* control block size             */
2191     GX_COLOR_ID_BTN_LOWER,                   /* normal color id                */
2192     GX_COLOR_ID_BTN_UPPER,                   /* selected color id              */
2193     GX_COLOR_ID_DISABLED_FILL,               /* disabled color id              */
2194     gx_studio_button_create,                 /* create function                */
2195     GX_NULL,                                 /* drawing function override      */
2196     GX_NULL,                                 /* event function override        */
2197     {371, 33, 450, 81},                      /* widget size                    */
2198     &main_screen_btn_temperature_define,     /* next widget definition         */
2199     &main_screen_wash_cycle_mode_define,     /* child widget definition        */
2200     offsetof(MAIN_SCREEN_CONTROL_BLOCK, main_screen_btn_wash_cycle), /* control block */
2201     (void *) GX_NULL                         /* no extended properties         */
2202 };
2203 
2204 GX_CONST GX_STUDIO_WIDGET main_screen_logo_define =
2205 {
2206     "logo",
2207     GX_TYPE_ICON,                            /* widget type                    */
2208     GX_ID_NONE,                              /* widget id                      */
2209     #if defined(GX_WIDGET_USER_DATA)
2210     0,                                       /* user data                      */
2211     #endif
2212     GX_STYLE_BORDER_NONE|GX_STYLE_HALIGN_LEFT|GX_STYLE_VALIGN_TOP,   /* style flags */
2213     0,                                       /* status flags                   */
2214     sizeof(GX_ICON),                         /* control block size             */
2215     GX_COLOR_ID_WIDGET_FILL,                 /* normal color id                */
2216     GX_COLOR_ID_SELECTED_FILL,               /* selected color id              */
2217     GX_COLOR_ID_DISABLED_FILL,               /* disabled color id              */
2218     gx_studio_icon_create,                   /* create function                */
2219     GX_NULL,                                 /* drawing function override      */
2220     GX_NULL,                                 /* event function override        */
2221     {43, 35, 145, 74},                       /* widget size                    */
2222     &main_screen_btn_wash_cycle_define,      /* next widget definition         */
2223     GX_NULL,                                 /* no child widgets               */
2224     offsetof(MAIN_SCREEN_CONTROL_BLOCK, main_screen_logo), /* control block    */
2225     (void *) &main_screen_logo_properties    /* extended properties            */
2226 };
2227 
2228 GX_CONST GX_STUDIO_WIDGET main_screen_define =
2229 {
2230     "main_screen",
2231     GX_TYPE_WINDOW,                          /* widget type                    */
2232     GX_ID_NONE,                              /* widget id                      */
2233     #if defined(GX_WIDGET_USER_DATA)
2234     0,                                       /* user data                      */
2235     #endif
2236     GX_STYLE_BORDER_NONE|GX_STYLE_ENABLED,   /* style flags                    */
2237     GX_STATUS_ACCEPTS_FOCUS,                 /* status flags                   */
2238     sizeof(MAIN_SCREEN_CONTROL_BLOCK),       /* control block size             */
2239     GX_COLOR_ID_CANVAS,                      /* normal color id                */
2240     GX_COLOR_ID_CANVAS,                      /* selected color id              */
2241     GX_COLOR_ID_CANVAS,                      /* disabled color id              */
2242     gx_studio_window_create,                 /* create function                */
2243     GX_NULL,                                 /* drawing function override      */
2244     (UINT (*)(GX_WIDGET *, GX_EVENT *)) main_screen_event_process, /* event function override */
2245     {0, 0, 639, 479},                        /* widget size                    */
2246     GX_NULL,                                 /* next widget                    */
2247     &main_screen_logo_define,                /* child widget                   */
2248     0,                                       /* control block                  */
2249     (void *) &main_screen_properties         /* extended properties            */
2250 };
2251 GX_CONST GX_STUDIO_WIDGET_ENTRY demo_guix_washing_machine_widget_table[] =
2252 {
2253     { &mode_select_window_define, (GX_WIDGET *) &mode_select_window },
2254     { &water_level_window_define, (GX_WIDGET *) &water_level_window },
2255     { &temperature_window_define, (GX_WIDGET *) &temperature_window },
2256     { &wash_cycle_window_define, (GX_WIDGET *) &wash_cycle_window },
2257     { &main_screen_define, (GX_WIDGET *) &main_screen },
2258     {GX_NULL, GX_NULL}
2259 };
2260 
gx_studio_nested_widget_create(GX_BYTE * control,GX_CONST GX_STUDIO_WIDGET * definition,GX_WIDGET * parent)2261 static GX_WIDGET *gx_studio_nested_widget_create(GX_BYTE *control, GX_CONST GX_STUDIO_WIDGET *definition, GX_WIDGET *parent)
2262 {
2263     UINT status = GX_SUCCESS;
2264     GX_WIDGET *widget = GX_NULL;
2265     GX_VALUE   list_count = 0;
2266     GX_VALUE   list_total_count = 0;
2267 
2268     if(parent && (parent->gx_widget_type == GX_TYPE_MENU))
2269     {
2270         list_total_count = ((GX_MENU *)parent)->gx_menu_list_total_count;
2271     }
2272 
2273     while(definition && status == GX_SUCCESS)
2274     {
2275         if (definition->create_function)
2276         {
2277             if (definition->style & GX_STYLE_DYNAMICALLY_ALLOCATED)
2278             {
2279                 status = gx_widget_allocate(&widget, definition->control_block_size);
2280                 if (status != GX_SUCCESS)
2281                 {
2282                     return GX_NULL;
2283                 }
2284             }
2285             else
2286             {
2287                 if (control == GX_NULL)
2288                 {
2289                     return GX_NULL;
2290                 }
2291                 widget = (GX_WIDGET *) (control + definition->control_block_offset);
2292             }
2293 
2294             status = definition->create_function(definition, widget, parent);
2295 
2296             if(list_count < list_total_count)
2297             {
2298                 gx_menu_insert((GX_MENU *)parent, widget);
2299                 ((GX_MENU *)parent)->gx_menu_list_total_count--;
2300                 list_count++;
2301             }
2302 
2303             if (status == GX_SUCCESS)
2304             {
2305                 if (definition->widget_type != GX_TYPE_TEMPLATE)
2306                 {
2307 #if defined(GUIX_5_4_0_COMPATIBILITY)
2308                     gx_widget_fill_color_set(widget, definition->normal_fill_color_id, definition->selected_fill_color_id);
2309 #else
2310                     gx_widget_fill_color_set(widget, definition->normal_fill_color_id, definition->selected_fill_color_id, definition->disabled_fill_color_id);
2311 #endif
2312                 }
2313 
2314                 if (!(definition->status & GX_STATUS_ACCEPTS_FOCUS))
2315                 {
2316                     gx_widget_status_remove(widget, GX_STATUS_ACCEPTS_FOCUS);
2317                 }
2318 
2319                 if (definition->draw_function)
2320                 {
2321                     gx_widget_draw_set(widget, definition->draw_function);
2322                 }
2323                 if (definition->event_function)
2324                 {
2325                     gx_widget_event_process_set(widget, definition->event_function);
2326                 }
2327 
2328                 #if defined(GX_WIDGET_USER_DATA)
2329                 widget->gx_widget_user_data = definition->user_data;
2330                 #endif
2331 
2332                 if (definition->child_widget)
2333                 {
2334                     gx_studio_nested_widget_create(control, definition->child_widget, widget);
2335                 }
2336             }
2337             definition = definition->next_widget;
2338         }
2339     }
2340     return widget;
2341 }
2342 
gx_studio_widget_create(GX_BYTE * control,GX_CONST GX_STUDIO_WIDGET * definition,GX_WIDGET * parent)2343 GX_WIDGET *gx_studio_widget_create(GX_BYTE *control, GX_CONST GX_STUDIO_WIDGET *definition, GX_WIDGET *parent)
2344 {
2345     GX_WIDGET *widget;
2346     widget = gx_studio_nested_widget_create(control, definition, GX_NULL);
2347 
2348     if (parent && widget)
2349     {
2350         gx_widget_attach(parent, widget);
2351     }
2352     return widget;
2353 }
2354 
gx_studio_named_widget_create(char * name,GX_WIDGET * parent,GX_WIDGET ** new_widget)2355 UINT gx_studio_named_widget_create(char *name, GX_WIDGET *parent, GX_WIDGET **new_widget)
2356 {
2357     UINT status = GX_FAILURE;
2358     GX_CONST GX_STUDIO_WIDGET_ENTRY *entry = demo_guix_washing_machine_widget_table;
2359     GX_WIDGET *widget = GX_NULL;
2360 
2361     while(entry->widget_information)
2362     {
2363         if (!strcmp(name, entry->widget_information->widget_name))
2364         {
2365             widget = gx_studio_widget_create((GX_BYTE *) entry->widget, entry->widget_information, parent);
2366             if (widget)
2367             {
2368                 status = GX_SUCCESS;
2369             }
2370             break;
2371         }
2372         entry++;
2373     }
2374 
2375     if (new_widget)
2376     {
2377         *new_widget = widget;
2378     }
2379     return status;
2380 }
2381 
2382 
gx_studio_display_configure(USHORT display,UINT (* driver)(GX_DISPLAY *),GX_UBYTE language,USHORT theme,GX_WINDOW_ROOT ** return_root)2383 UINT gx_studio_display_configure(USHORT display, UINT (*driver)(GX_DISPLAY *),
2384     GX_UBYTE language, USHORT theme, GX_WINDOW_ROOT **return_root)
2385 {
2386     GX_CONST GX_THEME *theme_ptr;
2387     GX_RECTANGLE size;
2388 
2389     GX_STUDIO_DISPLAY_INFO *display_info = &demo_guix_washing_machine_display_table[display];
2390 
2391 
2392 /* create the requested display                                                */
2393 
2394     gx_display_create(display_info->display,
2395                       display_info->name,
2396                       driver,
2397                       (GX_VALUE) display_info->x_resolution,
2398                       (GX_VALUE) display_info->y_resolution);
2399 
2400 
2401 /* install the request theme                                                   */
2402 
2403     if(display_info->theme_table)
2404     {
2405         theme_ptr = display_info->theme_table[theme];
2406         if(theme_ptr)
2407         {
2408             gx_display_color_table_set(display_info->display, theme_ptr->theme_color_table, theme_ptr->theme_color_table_size);
2409 
2410 /* install the color palette if required                                       */
2411             if (display_info->display->gx_display_driver_palette_set &&
2412                 theme_ptr->theme_palette != NULL)
2413             {
2414                 display_info->display->gx_display_driver_palette_set(display_info->display, theme_ptr->theme_palette, theme_ptr->theme_palette_size);
2415             }
2416 
2417             gx_display_font_table_set(display_info->display, theme_ptr->theme_font_table, theme_ptr->theme_font_table_size);
2418             gx_display_pixelmap_table_set(display_info->display, theme_ptr->theme_pixelmap_table, theme_ptr->theme_pixelmap_table_size);
2419             gx_system_scroll_appearance_set(theme_ptr->theme_vertical_scroll_style, (GX_SCROLLBAR_APPEARANCE *) &theme_ptr->theme_vertical_scrollbar_appearance);
2420             gx_system_scroll_appearance_set(theme_ptr->theme_horizontal_scroll_style, (GX_SCROLLBAR_APPEARANCE *) &theme_ptr->theme_horizontal_scrollbar_appearance);
2421         }
2422     }
2423 
2424 /* Install the language table.                                                 */
2425 
2426     if(display_info->language_table)
2427     {
2428         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);
2429         gx_display_active_language_set(display_info->display, language);
2430     }
2431 
2432 /* Set screen rotation angle.                                                  */
2433 
2434     display_info->display->gx_display_rotation_angle = display_info->rotation_angle;
2435 
2436 /* create the canvas for this display                                          */
2437 
2438     gx_canvas_create(display_info->canvas,
2439                      display_info->canvas_name,
2440                      display_info->display,
2441                      GX_CANVAS_MANAGED | GX_CANVAS_VISIBLE,
2442                      display_info->x_resolution,
2443                      display_info->y_resolution,
2444                      display_info->canvas_memory,
2445                      display_info->canvas_memory_size);
2446 
2447 /* Create the root window for this canvas                                      */
2448 
2449     gx_utility_rectangle_define(&size,
2450                                 0, 0,
2451                                 (GX_VALUE) (display_info->x_resolution - 1),
2452                                 (GX_VALUE) (display_info->y_resolution - 1));
2453 
2454     gx_window_root_create(display_info->root_window,
2455                           display_info->name,
2456                           display_info->canvas, GX_STYLE_NONE, 0, &size);
2457     if (return_root)
2458     {
2459         *return_root = display_info->root_window;
2460     }
2461     return GX_SUCCESS;
2462 }
2463 #undef GUIX_STUDIO_GENERATED_FILE
2464