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:44                        */
10 /*******************************************************************************/
11 
12 
13 #define GUIX_STUDIO_GENERATED_FILE
14 #include <stddef.h>
15 #include "demo_guix_transitions_resources.h"
16 #include "demo_guix_transitions_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 PHOTO_3_CONTROL_BLOCK photo_3;
20 PHOTO_2_CONTROL_BLOCK photo_2;
21 PHOTO_1_CONTROL_BLOCK photo_1;
22 SETTINGS_WIN_CONTROL_BLOCK settings_win;
23 BACKGROUND_WIN_CONTROL_BLOCK background_win;
24 ABOUT_WIN_CONTROL_BLOCK about_win;
25 GX_DISPLAY display_1_control_block;
26 GX_WINDOW_ROOT display_1_root_window;
27 GX_CANVAS  display_1_canvas_control_block;
28 ULONG      display_1_canvas_memory[153600];
29 
30 extern GX_CONST GX_THEME *display_1_theme_table[];
31 extern GX_CONST GX_STRING *display_1_language_table[];
32 
33 GX_STUDIO_DISPLAY_INFO demo_guix_transitions_display_table[1] =
34 {
35     {
36     "display_1",
37     "display_1_canvas",
38     display_1_theme_table,
39     display_1_language_table,
40     DISPLAY_1_THEME_TABLE_SIZE,
41     DISPLAY_1_LANGUAGE_TABLE_SIZE,
42     DISPLAY_1_STRING_TABLE_SIZE,
43     640,                                     /* x resolution                   */
44     480,                                     /* y resolution                   */
45     &display_1_control_block,
46     &display_1_canvas_control_block,
47     &display_1_root_window,
48     display_1_canvas_memory,                 /* canvas memory area             */
49     614400,                                  /* canvas memory size in bytes    */
50     GX_SCREEN_ROTATION_NONE                  /* rotation angle                 */
51     }
52 };
53 
gx_studio_screen_toggle(GX_WIDGET * target1,GX_WIDGET * target2)54 static VOID gx_studio_screen_toggle(GX_WIDGET *target1, GX_WIDGET *target2)
55 {
56     GX_WIDGET *parent = target1->gx_widget_parent;
57     if (parent)
58     {
59         gx_widget_detach(target1);
60         gx_widget_attach(parent, target2);
61         if (target1->gx_widget_status & GX_STATUS_STUDIO_CREATED)
62         {
63             gx_widget_delete(target1);
64         }
65     }
66 }
67 
gx_studio_action_target_get(GX_WIDGET * current,GX_CONST GX_STUDIO_ACTION * action)68 static GX_WIDGET *gx_studio_action_target_get(GX_WIDGET *current, GX_CONST GX_STUDIO_ACTION *action)
69 {
70     GX_WIDGET *parent = GX_NULL;
71     GX_WIDGET *target = GX_NULL;
72     INT        search_depth;
73     GX_STUDIO_WIDGET *widget_define;
74 
75     if (action->flags & GX_ACTION_FLAG_DYNAMIC_TARGET)
76     {
77                                              /* dynamically create the target widget */
78         widget_define = (GX_STUDIO_WIDGET *) action->target;
79         if(action->flags & GX_ACTION_FLAG_DYNAMIC_PARENT)
80         {
81             gx_window_root_find(current, (GX_WINDOW_ROOT **)&parent);
82             search_depth = GX_SEARCH_DEPTH_INFINITE;
83         }
84         else
85         {
86             parent = (GX_WIDGET *)action->parent;
87             search_depth = 1;
88         }
89         gx_widget_find(parent, widget_define->widget_id, search_depth, &target);
90         if (target == GX_NULL)
91         {
92             target = gx_studio_widget_create(GX_NULL, widget_define, GX_NULL);
93         }
94         if (target)
95         {
96             target->gx_widget_status |= GX_STATUS_STUDIO_CREATED;
97         }
98     }
99     else
100     {
101         target = (GX_WIDGET *) action->target;
102     }
103     return target;
104 }
105 
gx_studio_action_target_find(GX_WIDGET * current,GX_CONST GX_STUDIO_ACTION * action)106 static GX_WIDGET *gx_studio_action_target_find(GX_WIDGET *current, GX_CONST GX_STUDIO_ACTION *action)
107 {
108     GX_WIDGET *parent = GX_NULL;
109     GX_WIDGET *target = GX_NULL;
110     GX_STUDIO_WIDGET *widget_define;
111 
112     if (action->flags & GX_ACTION_FLAG_DYNAMIC_TARGET)
113     {
114                                              /* Find the dynamically created target */
115         widget_define = (GX_STUDIO_WIDGET *) action->target;
116         if(action->flags & GX_ACTION_FLAG_DYNAMIC_PARENT)
117         {
118             gx_window_root_find(current, (GX_WINDOW_ROOT **)&parent);
119         }
120         else
121         {
122             parent = (GX_WIDGET *)action->parent;
123         }
124         gx_widget_find(parent, widget_define->widget_id, GX_SEARCH_DEPTH_INFINITE, &target);
125     }
126     else
127     {
128         target = (GX_WIDGET *) action->target;
129     }
130     return target;
131 }
132 
gx_studio_action_parent_find(GX_WIDGET * current,GX_CONST GX_STUDIO_ACTION * action)133 static GX_WIDGET *gx_studio_action_parent_find(GX_WIDGET *current, GX_CONST GX_STUDIO_ACTION *action)
134 {
135 GX_WIDGET *parent = GX_NULL;
136 GX_STUDIO_WIDGET *widget_define;
137 
138     if (action->flags & GX_ACTION_FLAG_DYNAMIC_PARENT)
139     {
140                                              /* Find the dynamically created target */
141         widget_define = (GX_STUDIO_WIDGET *)action->parent;
142         gx_window_root_find(current, (GX_WINDOW_ROOT **)&parent);
143         gx_widget_find(parent, widget_define->widget_id, GX_SEARCH_DEPTH_INFINITE, &parent);
144     }
145     else
146     {
147         parent = (GX_WIDGET *)action->parent;
148     }
149     return parent;
150 }
151 
gx_studio_animation_execute(GX_WIDGET * current,GX_CONST GX_STUDIO_ACTION * action)152 static VOID gx_studio_animation_execute(GX_WIDGET *current, GX_CONST GX_STUDIO_ACTION *action)
153 {
154     GX_ANIMATION *animation;
155     GX_ANIMATION_INFO animation_info;
156     GX_WIDGET *parent = GX_NULL;
157     GX_WIDGET *target = GX_NULL;
158     gx_system_animation_get(&animation);
159     if (animation)
160     {
161         animation_info = *action->animation;
162 
163         if((action->flags & GX_ACTION_FLAG_POP_TARGET) ||
164            (action->flags & GX_ACTION_FLAG_POP_PARENT))
165         {
166             gx_system_screen_stack_get((GX_WIDGET **)&parent, &target);
167         }
168 
169         if(action->flags & GX_ACTION_FLAG_POP_TARGET)
170         {
171             animation_info.gx_animation_target = target;
172         }
173 
174         if(action->flags & GX_ACTION_FLAG_POP_PARENT)
175         {
176             animation_info.gx_animation_parent = (GX_WIDGET *)parent;
177         }
178 
179         if ((!animation_info.gx_animation_target) &&
180             (action->flags & GX_ACTION_FLAG_DYNAMIC_TARGET))
181         {
182             target = gx_studio_action_target_get(current, action);
183             animation_info.gx_animation_target = target;
184         }
185 
186         if (!animation_info.gx_animation_parent)
187         {
188             animation_info.gx_animation_parent = gx_studio_action_parent_find(current, action);
189         }
190 
191         if (animation_info.gx_animation_target &&
192             animation_info.gx_animation_parent)
193         {
194             gx_animation_start(animation, &animation_info);
195         }
196     }
197 }
198 
gx_studio_auto_event_handler(GX_WIDGET * widget,GX_EVENT * event_ptr,GX_CONST GX_STUDIO_EVENT_PROCESS * record)199 UINT gx_studio_auto_event_handler(GX_WIDGET *widget, GX_EVENT *event_ptr, GX_CONST GX_STUDIO_EVENT_PROCESS *record)
200 {
201     UINT status = GX_SUCCESS;
202     GX_CONST GX_STUDIO_ACTION *action;
203     GX_CONST GX_WIDGET *parent = GX_NULL;
204     GX_WIDGET *target = GX_NULL;
205     GX_CONST GX_STUDIO_EVENT_ENTRY *entry = record->event_table;
206 
207     while(entry->event_type)
208     {
209         if (entry->event_type == event_ptr->gx_event_type)
210         {
211             if((entry->event_type == GX_EVENT_ANIMATION_COMPLETE) &&
212                (entry->event_sender != event_ptr->gx_event_sender))
213             {
214                 entry++;
215                 continue;
216             }
217             action = entry->action_list;
218 
219             while(action->opcode)
220             {
221                 switch(action->opcode)
222                 {
223                 case GX_ACTION_TYPE_ATTACH:
224                     if((action->flags & GX_ACTION_FLAG_POP_TARGET) ||
225                        (action->flags & GX_ACTION_FLAG_POP_PARENT))
226                     {
227                         gx_system_screen_stack_get((GX_WIDGET **)&parent, &target);
228                     }
229 
230                     if(!(action->flags & GX_ACTION_FLAG_POP_PARENT))
231                     {
232                         parent = action->parent;
233                     }
234                     if(!(action->flags & GX_ACTION_FLAG_POP_TARGET))
235                     {
236                         target = gx_studio_action_target_get(widget, action);
237                     }
238                     if (parent && target)
239                     {
240                         gx_widget_attach(parent, target);
241                     }
242                     break;
243 
244                 case GX_ACTION_TYPE_DETACH:
245                     target = gx_studio_action_target_find(widget, action);
246                     if (target)
247                     {
248                         gx_widget_detach(target);
249                         if (target->gx_widget_status & GX_STATUS_STUDIO_CREATED)
250                         {
251                             gx_widget_delete(target);
252                         }
253                     }
254                     break;
255 
256                 case GX_ACTION_TYPE_TOGGLE:
257                     if(action->flags & GX_ACTION_FLAG_POP_TARGET)
258                     {
259                        gx_system_screen_stack_get(GX_NULL, &target);
260                     }
261                     else
262                     {
263                         target = gx_studio_action_target_get(widget, action);
264                     }
265                     gx_studio_screen_toggle(widget, target);
266                     break;
267 
268                 case GX_ACTION_TYPE_SHOW:
269                     target = gx_studio_action_target_get(widget, action);
270                     if(target)
271                     {
272                         gx_widget_show(target);
273                     }
274                     break;
275 
276                 case GX_ACTION_TYPE_HIDE:
277                     target = gx_studio_action_target_find(widget, action);
278                     if(target)
279                     {
280                         gx_widget_hide(target);
281                     }
282                     break;
283 
284                 case GX_ACTION_TYPE_ANIMATION:
285                     gx_studio_animation_execute(widget, action);
286                     break;
287 
288                 case GX_ACTION_TYPE_WINDOW_EXECUTE:
289                     if((action->flags & GX_ACTION_FLAG_POP_TARGET) ||
290                        (action->flags & GX_ACTION_FLAG_POP_PARENT))
291                     {
292                         gx_system_screen_stack_get((GX_WIDGET **)&parent, &target);
293                     }
294 
295                     if(!(action->flags & GX_ACTION_FLAG_POP_PARENT))
296                     {
297                         parent = widget->gx_widget_parent;
298                     }
299                     if(!(action->flags & GX_ACTION_FLAG_POP_TARGET))
300                     {
301                         target = gx_studio_action_target_get(widget, action);
302                     }
303                     if (parent && target)
304                     {
305                         gx_widget_attach(parent, target);
306                         gx_window_execute((GX_WINDOW *) target, GX_NULL);
307                     }
308                     break;
309 
310                 case GX_ACTION_TYPE_WINDOW_EXECUTE_STOP:
311                     return event_ptr->gx_event_sender;
312 
313                 case GX_ACTION_TYPE_SCREEN_STACK_PUSH:
314                     target = gx_studio_action_target_get(widget, action);
315                     if(target)
316                     {
317                         gx_system_screen_stack_push(target);
318                     }
319                     break;
320 
321                 case GX_ACTION_TYPE_SCREEN_STACK_POP:
322                     gx_system_screen_stack_pop();
323                     break;
324 
325                 case GX_ACTION_TYPE_SCREEN_STACK_RESET:
326                     gx_system_screen_stack_reset();
327                     break;
328 
329                 default:
330                     break;
331                 }
332                 action++;
333             }
334         }
335         entry++;
336     }
337 
338     if (record->chain_event_handler)
339     {
340         status = record->chain_event_handler(widget, event_ptr);
341     }
342     return status;
343 }
344 
345 
gx_studio_checkbox_create(GX_CONST GX_STUDIO_WIDGET * info,GX_WIDGET * control_block,GX_WIDGET * parent)346 UINT gx_studio_checkbox_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent)
347 {
348     UINT status;
349     GX_CHECKBOX *button = (GX_CHECKBOX *) control_block;
350     GX_TEXT_BUTTON *text_button = (GX_TEXT_BUTTON *) button;
351     GX_CHECKBOX_PROPERTIES *props = (GX_CHECKBOX_PROPERTIES *) info->properties;
352     status = gx_checkbox_create(button, info->widget_name, parent, props->string_id, info->style, info->widget_id, &info->size);
353     if (status == GX_SUCCESS)
354     {
355         gx_text_button_font_set(text_button, props->font_id);
356 #if defined(GUIX_5_4_0_COMPATIBILITY)
357         gx_text_button_text_color_set(text_button, props->normal_text_color_id, props->selected_text_color_id);
358  #else
359         gx_text_button_text_color_set(text_button, props->normal_text_color_id, props->selected_text_color_id, props->disabled_text_color_id);
360 #endif
361 
362         if (props->unchecked_pixelmap_id ||
363             props->checked_pixelmap_id ||
364             props->unchecked_disabled_pixelmap_id ||
365             props->checked_disabled_pixelmap_id)
366         {
367             gx_checkbox_pixelmap_set(button,
368                                      props->unchecked_pixelmap_id,
369                                      props->checked_pixelmap_id,
370                                      props->unchecked_disabled_pixelmap_id,
371                                      props->checked_disabled_pixelmap_id);
372         }
373     }
374     return status;
375 }
376 
gx_studio_pixelmap_button_create(GX_CONST GX_STUDIO_WIDGET * info,GX_WIDGET * control_block,GX_WIDGET * parent)377 UINT gx_studio_pixelmap_button_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent)
378 {
379     UINT status;
380     GX_PIXELMAP_BUTTON *button = (GX_PIXELMAP_BUTTON *) control_block;
381     GX_PIXELMAP_BUTTON_PROPERTIES *props = (GX_PIXELMAP_BUTTON_PROPERTIES *) info->properties;
382     status = gx_pixelmap_button_create(button, info->widget_name, parent,
383                props->normal_pixelmap_id,
384                props->selected_pixelmap_id,
385                props->disabled_pixelmap_id,
386                info->style, info->widget_id, &info->size);
387     return status;
388 }
389 
gx_studio_icon_create(GX_CONST GX_STUDIO_WIDGET * info,GX_WIDGET * control_block,GX_WIDGET * parent)390 UINT gx_studio_icon_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent)
391 {
392     UINT status;
393     GX_ICON *icon = (GX_ICON *) control_block;
394     GX_ICON_PROPERTIES *props = (GX_ICON_PROPERTIES *) info->properties;
395     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);
396     if (props->selected_pixelmap_id)
397     {
398         gx_icon_pixelmap_set(icon, props->normal_pixelmap_id, props->selected_pixelmap_id);
399     }
400     else
401     {
402         gx_widget_resize((GX_WIDGET *)icon, (GX_RECTANGLE *)&info->size);
403     }
404     return status;
405 }
406 
gx_studio_prompt_create(GX_CONST GX_STUDIO_WIDGET * info,GX_WIDGET * control_block,GX_WIDGET * parent)407 UINT gx_studio_prompt_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent)
408 {
409     UINT status;
410     GX_PROMPT *prompt = (GX_PROMPT *) control_block;
411     GX_PROMPT_PROPERTIES *props = (GX_PROMPT_PROPERTIES *) info->properties;
412     status = gx_prompt_create(prompt, info->widget_name, parent, props->string_id, info->style, info->widget_id, &info->size);
413     if (status == GX_SUCCESS)
414     {
415         gx_prompt_font_set(prompt, props->font_id);
416 #if defined(GUIX_5_4_0_COMPATIBILITY)
417         gx_prompt_text_color_set(prompt, props->normal_text_color_id, props->selected_text_color_id);
418 #else
419         gx_prompt_text_color_set(prompt, props->normal_text_color_id, props->selected_text_color_id, props->disabled_text_color_id);
420 #endif
421     }
422     return status;
423 }
424 
gx_studio_window_create(GX_CONST GX_STUDIO_WIDGET * info,GX_WIDGET * control_block,GX_WIDGET * parent)425 UINT gx_studio_window_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent)
426 {
427     UINT status;
428     GX_WINDOW *window = (GX_WINDOW *) control_block;
429     GX_WINDOW_PROPERTIES *props = (GX_WINDOW_PROPERTIES *) info->properties;
430     status = gx_window_create(window, info->widget_name, parent, info->style, info->widget_id, &info->size);
431     if (status == GX_SUCCESS)
432     {
433         if (props->wallpaper_id)
434         {
435             gx_window_wallpaper_set(window, props->wallpaper_id, info->style & GX_STYLE_TILE_WALLPAPER);
436         }
437     }
438     return status;
439 }
440 GX_WINDOW_PROPERTIES photo_3_properties =
441 {
442     GX_PIXELMAP_ID_PHOTO_C                   /* wallpaper pixelmap id          */
443 };
444 
445 GX_CONST GX_STUDIO_WIDGET photo_3_define =
446 {
447     "photo_3",
448     GX_TYPE_WINDOW,                          /* widget type                    */
449     GX_ID_NONE,                              /* widget id                      */
450     #if defined(GX_WIDGET_USER_DATA)
451     0,                                       /* user data                      */
452     #endif
453     GX_STYLE_BORDER_NONE|GX_STYLE_ENABLED,   /* style flags                    */
454     GX_STATUS_ACCEPTS_FOCUS,                 /* status flags                   */
455     sizeof(PHOTO_3_CONTROL_BLOCK),           /* control block size             */
456     GX_COLOR_ID_CHILD_FILL,                  /* normal color id                */
457     GX_COLOR_ID_BACKGROUND_FILL,             /* selected color id              */
458     GX_COLOR_ID_BACKGROUND_FILL,             /* disabled color id              */
459     gx_studio_window_create,                 /* create function                */
460     GX_NULL,                                 /* drawing function override      */
461     GX_NULL,                                 /* event function override        */
462     {114, 119, 533, 390},                    /* widget size                    */
463     GX_NULL,                                 /* next widget                    */
464     GX_NULL,                                 /* child widget                   */
465     0,                                       /* control block                  */
466     (void *) &photo_3_properties             /* extended properties            */
467 };
468 GX_WINDOW_PROPERTIES photo_2_properties =
469 {
470     GX_PIXELMAP_ID_PHOTO_B                   /* wallpaper pixelmap id          */
471 };
472 
473 GX_CONST GX_STUDIO_WIDGET photo_2_define =
474 {
475     "photo_2",
476     GX_TYPE_WINDOW,                          /* widget type                    */
477     GX_ID_NONE,                              /* widget id                      */
478     #if defined(GX_WIDGET_USER_DATA)
479     0,                                       /* user data                      */
480     #endif
481     GX_STYLE_BORDER_NONE|GX_STYLE_ENABLED,   /* style flags                    */
482     GX_STATUS_ACCEPTS_FOCUS,                 /* status flags                   */
483     sizeof(PHOTO_2_CONTROL_BLOCK),           /* control block size             */
484     GX_COLOR_ID_CHILD_FILL,                  /* normal color id                */
485     GX_COLOR_ID_BACKGROUND_FILL,             /* selected color id              */
486     GX_COLOR_ID_BACKGROUND_FILL,             /* disabled color id              */
487     gx_studio_window_create,                 /* create function                */
488     GX_NULL,                                 /* drawing function override      */
489     GX_NULL,                                 /* event function override        */
490     {114, 119, 533, 390},                    /* widget size                    */
491     GX_NULL,                                 /* next widget                    */
492     GX_NULL,                                 /* child widget                   */
493     0,                                       /* control block                  */
494     (void *) &photo_2_properties             /* extended properties            */
495 };
496 GX_WINDOW_PROPERTIES photo_1_properties =
497 {
498     GX_PIXELMAP_ID_PHOTO_1                   /* wallpaper pixelmap id          */
499 };
500 
501 GX_CONST GX_STUDIO_WIDGET photo_1_define =
502 {
503     "photo_1",
504     GX_TYPE_WINDOW,                          /* widget type                    */
505     GX_ID_NONE,                              /* widget id                      */
506     #if defined(GX_WIDGET_USER_DATA)
507     0,                                       /* user data                      */
508     #endif
509     GX_STYLE_BORDER_NONE|GX_STYLE_ENABLED,   /* style flags                    */
510     GX_STATUS_ACCEPTS_FOCUS,                 /* status flags                   */
511     sizeof(PHOTO_1_CONTROL_BLOCK),           /* control block size             */
512     GX_COLOR_ID_CHILD_FILL,                  /* normal color id                */
513     GX_COLOR_ID_BACKGROUND_FILL,             /* selected color id              */
514     GX_COLOR_ID_BACKGROUND_FILL,             /* disabled color id              */
515     gx_studio_window_create,                 /* create function                */
516     GX_NULL,                                 /* drawing function override      */
517     GX_NULL,                                 /* event function override        */
518     {114, 119, 533, 390},                    /* widget size                    */
519     GX_NULL,                                 /* next widget                    */
520     GX_NULL,                                 /* child widget                   */
521     0,                                       /* control block                  */
522     (void *) &photo_1_properties             /* extended properties            */
523 };
524 GX_WINDOW_PROPERTIES settings_win_properties =
525 {
526     0                                        /* wallpaper pixelmap id          */
527 };
528 GX_PIXELMAP_BUTTON_PROPERTIES settings_win_close_button_properties =
529 {
530     GX_PIXELMAP_ID_BUTTON_SMALL,             /* normal pixelmap id             */
531     GX_PIXELMAP_ID_BUTTON_SMALL_ACTIVE,      /* selected pixelmap id           */
532     0                                        /* disabled pixelmap id           */
533 };
534 GX_ICON_PROPERTIES settings_win_icon_properties =
535 {
536     GX_PIXELMAP_ID_ICON_CLOSE,               /* normal pixelmap id             */
537     0                                        /* selected pixelmap id           */
538 };
539 GX_ICON_PROPERTIES settings_win_icon_2_properties =
540 {
541     GX_PIXELMAP_ID_ICON_CLOSE,               /* normal pixelmap id             */
542     0                                        /* selected pixelmap id           */
543 };
544 GX_PROMPT_PROPERTIES settings_win_prompt_properties =
545 {
546     GX_STRING_ID_STRING_43,                  /* string id                      */
547     GX_FONT_ID_MIDSIZE,                      /* font id                        */
548     GX_COLOR_ID_TEXT,                        /* normal text color              */
549     GX_COLOR_ID_SELECTED_TEXT,               /* selected text color            */
550     GX_COLOR_ID_DISABLED_TEXT                /* disabled text color            */
551 };
552 GX_CHECKBOX_PROPERTIES settings_win_checkbox_properties =
553 {
554     GX_STRING_ID_STRING_45,                  /* string id                      */
555     GX_FONT_ID_BUTTON,                       /* font id                        */
556     GX_COLOR_ID_BTN_TEXT,                    /* normal text color              */
557     GX_COLOR_ID_BTN_TEXT,                    /* selected text color            */
558     GX_COLOR_ID_DISABLED_TEXT,               /* disabled text color            */
559     0,                                       /* unchecked pixelmap id          */
560     0,                                       /* checked pixelmap id            */
561     0,                                       /* unchecked disabled pixelmap id */
562     0                                        /* checked disabled pixelmap id   */
563 };
564 GX_CHECKBOX_PROPERTIES settings_win_checkbox_1_properties =
565 {
566     GX_STRING_ID_STRING_46,                  /* string id                      */
567     GX_FONT_ID_BUTTON,                       /* font id                        */
568     GX_COLOR_ID_BTN_TEXT,                    /* normal text color              */
569     GX_COLOR_ID_BTN_TEXT,                    /* selected text color            */
570     GX_COLOR_ID_DISABLED_TEXT,               /* disabled text color            */
571     0,                                       /* unchecked pixelmap id          */
572     0,                                       /* checked pixelmap id            */
573     0,                                       /* unchecked disabled pixelmap id */
574     0                                        /* checked disabled pixelmap id   */
575 };
576 GX_CHECKBOX_PROPERTIES settings_win_checkbox_2_properties =
577 {
578     GX_STRING_ID_STRING_47,                  /* string id                      */
579     GX_FONT_ID_BUTTON,                       /* font id                        */
580     GX_COLOR_ID_BTN_TEXT,                    /* normal text color              */
581     GX_COLOR_ID_BTN_TEXT,                    /* selected text color            */
582     GX_COLOR_ID_DISABLED_TEXT,               /* disabled text color            */
583     0,                                       /* unchecked pixelmap id          */
584     0,                                       /* checked pixelmap id            */
585     0,                                       /* unchecked disabled pixelmap id */
586     0                                        /* checked disabled pixelmap id   */
587 };
588 GX_CHECKBOX_PROPERTIES settings_win_checkbox_3_properties =
589 {
590     GX_STRING_ID_STRING_48,                  /* string id                      */
591     GX_FONT_ID_BUTTON,                       /* font id                        */
592     GX_COLOR_ID_BTN_TEXT,                    /* normal text color              */
593     GX_COLOR_ID_BTN_TEXT,                    /* selected text color            */
594     GX_COLOR_ID_DISABLED_TEXT,               /* disabled text color            */
595     0,                                       /* unchecked pixelmap id          */
596     0,                                       /* checked pixelmap id            */
597     0,                                       /* unchecked disabled pixelmap id */
598     0                                        /* checked disabled pixelmap id   */
599 };
600 GX_CHECKBOX_PROPERTIES settings_win_checkbox_4_properties =
601 {
602     GX_STRING_ID_STRING_49,                  /* string id                      */
603     GX_FONT_ID_BUTTON,                       /* font id                        */
604     GX_COLOR_ID_BTN_TEXT,                    /* normal text color              */
605     GX_COLOR_ID_BTN_TEXT,                    /* selected text color            */
606     GX_COLOR_ID_DISABLED_TEXT,               /* disabled text color            */
607     0,                                       /* unchecked pixelmap id          */
608     0,                                       /* checked pixelmap id            */
609     0,                                       /* unchecked disabled pixelmap id */
610     0                                        /* checked disabled pixelmap id   */
611 };
612 GX_CHECKBOX_PROPERTIES settings_win_checkbox_5_properties =
613 {
614     GX_STRING_ID_STRING_50,                  /* string id                      */
615     GX_FONT_ID_BUTTON,                       /* font id                        */
616     GX_COLOR_ID_BTN_TEXT,                    /* normal text color              */
617     GX_COLOR_ID_BTN_TEXT,                    /* selected text color            */
618     GX_COLOR_ID_DISABLED_TEXT,               /* disabled text color            */
619     0,                                       /* unchecked pixelmap id          */
620     0,                                       /* checked pixelmap id            */
621     0,                                       /* unchecked disabled pixelmap id */
622     0                                        /* checked disabled pixelmap id   */
623 };
624 GX_CHECKBOX_PROPERTIES settings_win_checkbox_6_properties =
625 {
626     GX_STRING_ID_STRING_51,                  /* string id                      */
627     GX_FONT_ID_BUTTON,                       /* font id                        */
628     GX_COLOR_ID_BTN_TEXT,                    /* normal text color              */
629     GX_COLOR_ID_BTN_TEXT,                    /* selected text color            */
630     GX_COLOR_ID_DISABLED_TEXT,               /* disabled text color            */
631     0,                                       /* unchecked pixelmap id          */
632     0,                                       /* checked pixelmap id            */
633     0,                                       /* unchecked disabled pixelmap id */
634     0                                        /* checked disabled pixelmap id   */
635 };
636 GX_CHECKBOX_PROPERTIES settings_win_checkbox_7_properties =
637 {
638     GX_STRING_ID_STRING_52,                  /* string id                      */
639     GX_FONT_ID_BUTTON,                       /* font id                        */
640     GX_COLOR_ID_BTN_TEXT,                    /* normal text color              */
641     GX_COLOR_ID_BTN_TEXT,                    /* selected text color            */
642     GX_COLOR_ID_DISABLED_TEXT,               /* disabled text color            */
643     0,                                       /* unchecked pixelmap id          */
644     0,                                       /* checked pixelmap id            */
645     0,                                       /* unchecked disabled pixelmap id */
646     0                                        /* checked disabled pixelmap id   */
647 };
648 
649 GX_CONST GX_STUDIO_WIDGET settings_win_icon_2_define =
650 {
651     "icon_2",
652     GX_TYPE_ICON,                            /* widget type                    */
653     GX_ID_NONE,                              /* widget id                      */
654     #if defined(GX_WIDGET_USER_DATA)
655     0,                                       /* user data                      */
656     #endif
657     GX_STYLE_BORDER_NONE|GX_STYLE_ENABLED|GX_STYLE_HALIGN_LEFT|GX_STYLE_VALIGN_TOP,   /* style flags */
658     GX_STATUS_ACCEPTS_FOCUS,                 /* status flags                   */
659     sizeof(GX_ICON),                         /* control block size             */
660     GX_COLOR_ID_WIDGET_FILL,                 /* normal color id                */
661     GX_COLOR_ID_SELECTED_FILL,               /* selected color id              */
662     GX_COLOR_ID_DISABLED_FILL,               /* disabled color id              */
663     gx_studio_icon_create,                   /* create function                */
664     GX_NULL,                                 /* drawing function override      */
665     GX_NULL,                                 /* event function override        */
666     {491, 133, 507, 150},                    /* widget size                    */
667     GX_NULL,                                 /* no next widget                 */
668     GX_NULL,                                 /* no child widgets               */
669     offsetof(SETTINGS_WIN_CONTROL_BLOCK, settings_win_icon_2), /* control block */
670     (void *) &settings_win_icon_2_properties /* extended properties            */
671 };
672 
673 GX_CONST GX_STUDIO_WIDGET settings_win_icon_define =
674 {
675     "icon",
676     GX_TYPE_ICON,                            /* widget type                    */
677     GX_ID_NONE,                              /* widget id                      */
678     #if defined(GX_WIDGET_USER_DATA)
679     0,                                       /* user data                      */
680     #endif
681     GX_STYLE_BORDER_NONE|GX_STYLE_TRANSPARENT|GX_STYLE_HALIGN_LEFT|GX_STYLE_VALIGN_TOP,   /* style flags */
682     0,                                       /* status flags                   */
683     sizeof(GX_ICON),                         /* control block size             */
684     GX_COLOR_ID_WIDGET_FILL,                 /* normal color id                */
685     GX_COLOR_ID_SELECTED_FILL,               /* selected color id              */
686     GX_COLOR_ID_WIDGET_FILL,                 /* disabled color id              */
687     gx_studio_icon_create,                   /* create function                */
688     GX_NULL,                                 /* drawing function override      */
689     GX_NULL,                                 /* event function override        */
690     {437, 229, 453, 246},                    /* widget size                    */
691     &settings_win_icon_2_define,             /* next widget definition         */
692     GX_NULL,                                 /* no child widgets               */
693     offsetof(SETTINGS_WIN_CONTROL_BLOCK, settings_win_icon), /* control block  */
694     (void *) &settings_win_icon_properties   /* extended properties            */
695 };
696 
697 GX_CONST GX_STUDIO_WIDGET settings_win_checkbox_7_define =
698 {
699     "checkbox_7",
700     GX_TYPE_CHECKBOX,                        /* widget type                    */
701     GX_ID_NONE,                              /* widget id                      */
702     #if defined(GX_WIDGET_USER_DATA)
703     0,                                       /* user data                      */
704     #endif
705     GX_STYLE_BORDER_NONE|GX_STYLE_TRANSPARENT|GX_STYLE_ENABLED|GX_STYLE_BUTTON_TOGGLE|GX_STYLE_TEXT_LEFT,   /* style flags */
706     GX_STATUS_ACCEPTS_FOCUS,                 /* status flags                   */
707     sizeof(GX_CHECKBOX),                     /* control block size             */
708     GX_COLOR_ID_BTN_LOWER,                   /* normal color id                */
709     GX_COLOR_ID_BTN_UPPER,                   /* selected color id              */
710     GX_COLOR_ID_DISABLED_FILL,               /* disabled color id              */
711     gx_studio_checkbox_create,               /* create function                */
712     GX_NULL,                                 /* drawing function override      */
713     GX_NULL,                                 /* event function override        */
714     {378, 314, 491, 337},                    /* widget size                    */
715     GX_NULL,                                 /* no next widget                 */
716     GX_NULL,                                 /* no child widgets               */
717     offsetof(SETTINGS_WIN_CONTROL_BLOCK, settings_win_checkbox_7), /* control block */
718     (void *) &settings_win_checkbox_7_properties /* extended properties        */
719 };
720 
721 GX_CONST GX_STUDIO_WIDGET settings_win_checkbox_6_define =
722 {
723     "checkbox_6",
724     GX_TYPE_CHECKBOX,                        /* widget type                    */
725     GX_ID_NONE,                              /* widget id                      */
726     #if defined(GX_WIDGET_USER_DATA)
727     0,                                       /* user data                      */
728     #endif
729     GX_STYLE_BORDER_NONE|GX_STYLE_TRANSPARENT|GX_STYLE_ENABLED|GX_STYLE_BUTTON_TOGGLE|GX_STYLE_TEXT_LEFT,   /* style flags */
730     GX_STATUS_ACCEPTS_FOCUS,                 /* status flags                   */
731     sizeof(GX_CHECKBOX),                     /* control block size             */
732     GX_COLOR_ID_BTN_LOWER,                   /* normal color id                */
733     GX_COLOR_ID_BTN_UPPER,                   /* selected color id              */
734     GX_COLOR_ID_DISABLED_FILL,               /* disabled color id              */
735     gx_studio_checkbox_create,               /* create function                */
736     GX_NULL,                                 /* drawing function override      */
737     GX_NULL,                                 /* event function override        */
738     {378, 277, 491, 300},                    /* widget size                    */
739     &settings_win_checkbox_7_define,         /* next widget definition         */
740     GX_NULL,                                 /* no child widgets               */
741     offsetof(SETTINGS_WIN_CONTROL_BLOCK, settings_win_checkbox_6), /* control block */
742     (void *) &settings_win_checkbox_6_properties /* extended properties        */
743 };
744 
745 GX_CONST GX_STUDIO_WIDGET settings_win_checkbox_5_define =
746 {
747     "checkbox_5",
748     GX_TYPE_CHECKBOX,                        /* widget type                    */
749     GX_ID_NONE,                              /* widget id                      */
750     #if defined(GX_WIDGET_USER_DATA)
751     0,                                       /* user data                      */
752     #endif
753     GX_STYLE_BORDER_NONE|GX_STYLE_TRANSPARENT|GX_STYLE_ENABLED|GX_STYLE_BUTTON_TOGGLE|GX_STYLE_TEXT_LEFT,   /* style flags */
754     GX_STATUS_ACCEPTS_FOCUS,                 /* status flags                   */
755     sizeof(GX_CHECKBOX),                     /* control block size             */
756     GX_COLOR_ID_BTN_LOWER,                   /* normal color id                */
757     GX_COLOR_ID_BTN_UPPER,                   /* selected color id              */
758     GX_COLOR_ID_DISABLED_FILL,               /* disabled color id              */
759     gx_studio_checkbox_create,               /* create function                */
760     GX_NULL,                                 /* drawing function override      */
761     GX_NULL,                                 /* event function override        */
762     {378, 240, 491, 263},                    /* widget size                    */
763     &settings_win_checkbox_6_define,         /* next widget definition         */
764     GX_NULL,                                 /* no child widgets               */
765     offsetof(SETTINGS_WIN_CONTROL_BLOCK, settings_win_checkbox_5), /* control block */
766     (void *) &settings_win_checkbox_5_properties /* extended properties        */
767 };
768 
769 GX_CONST GX_STUDIO_WIDGET settings_win_checkbox_4_define =
770 {
771     "checkbox_4",
772     GX_TYPE_CHECKBOX,                        /* widget type                    */
773     GX_ID_NONE,                              /* widget id                      */
774     #if defined(GX_WIDGET_USER_DATA)
775     0,                                       /* user data                      */
776     #endif
777     GX_STYLE_BORDER_NONE|GX_STYLE_TRANSPARENT|GX_STYLE_ENABLED|GX_STYLE_BUTTON_TOGGLE|GX_STYLE_TEXT_LEFT,   /* style flags */
778     GX_STATUS_ACCEPTS_FOCUS,                 /* status flags                   */
779     sizeof(GX_CHECKBOX),                     /* control block size             */
780     GX_COLOR_ID_BTN_LOWER,                   /* normal color id                */
781     GX_COLOR_ID_BTN_UPPER,                   /* selected color id              */
782     GX_COLOR_ID_DISABLED_FILL,               /* disabled color id              */
783     gx_studio_checkbox_create,               /* create function                */
784     GX_NULL,                                 /* drawing function override      */
785     GX_NULL,                                 /* event function override        */
786     {378, 203, 491, 226},                    /* widget size                    */
787     &settings_win_checkbox_5_define,         /* next widget definition         */
788     GX_NULL,                                 /* no child widgets               */
789     offsetof(SETTINGS_WIN_CONTROL_BLOCK, settings_win_checkbox_4), /* control block */
790     (void *) &settings_win_checkbox_4_properties /* extended properties        */
791 };
792 
793 GX_CONST GX_STUDIO_WIDGET settings_win_checkbox_3_define =
794 {
795     "checkbox_3",
796     GX_TYPE_CHECKBOX,                        /* widget type                    */
797     GX_ID_NONE,                              /* widget id                      */
798     #if defined(GX_WIDGET_USER_DATA)
799     0,                                       /* user data                      */
800     #endif
801     GX_STYLE_BORDER_NONE|GX_STYLE_TRANSPARENT|GX_STYLE_ENABLED|GX_STYLE_BUTTON_TOGGLE|GX_STYLE_TEXT_LEFT,   /* style flags */
802     GX_STATUS_ACCEPTS_FOCUS,                 /* status flags                   */
803     sizeof(GX_CHECKBOX),                     /* control block size             */
804     GX_COLOR_ID_BTN_LOWER,                   /* normal color id                */
805     GX_COLOR_ID_BTN_UPPER,                   /* selected color id              */
806     GX_COLOR_ID_DISABLED_FILL,               /* disabled color id              */
807     gx_studio_checkbox_create,               /* create function                */
808     GX_NULL,                                 /* drawing function override      */
809     GX_NULL,                                 /* event function override        */
810     {146, 314, 259, 337},                    /* widget size                    */
811     &settings_win_checkbox_4_define,         /* next widget definition         */
812     GX_NULL,                                 /* no child widgets               */
813     offsetof(SETTINGS_WIN_CONTROL_BLOCK, settings_win_checkbox_3), /* control block */
814     (void *) &settings_win_checkbox_3_properties /* extended properties        */
815 };
816 
817 GX_CONST GX_STUDIO_WIDGET settings_win_checkbox_2_define =
818 {
819     "checkbox_2",
820     GX_TYPE_CHECKBOX,                        /* widget type                    */
821     GX_ID_NONE,                              /* widget id                      */
822     #if defined(GX_WIDGET_USER_DATA)
823     0,                                       /* user data                      */
824     #endif
825     GX_STYLE_BORDER_NONE|GX_STYLE_TRANSPARENT|GX_STYLE_ENABLED|GX_STYLE_BUTTON_TOGGLE|GX_STYLE_TEXT_LEFT,   /* style flags */
826     GX_STATUS_ACCEPTS_FOCUS,                 /* status flags                   */
827     sizeof(GX_CHECKBOX),                     /* control block size             */
828     GX_COLOR_ID_BTN_LOWER,                   /* normal color id                */
829     GX_COLOR_ID_BTN_UPPER,                   /* selected color id              */
830     GX_COLOR_ID_DISABLED_FILL,               /* disabled color id              */
831     gx_studio_checkbox_create,               /* create function                */
832     GX_NULL,                                 /* drawing function override      */
833     GX_NULL,                                 /* event function override        */
834     {146, 277, 259, 300},                    /* widget size                    */
835     &settings_win_checkbox_3_define,         /* next widget definition         */
836     GX_NULL,                                 /* no child widgets               */
837     offsetof(SETTINGS_WIN_CONTROL_BLOCK, settings_win_checkbox_2), /* control block */
838     (void *) &settings_win_checkbox_2_properties /* extended properties        */
839 };
840 
841 GX_CONST GX_STUDIO_WIDGET settings_win_checkbox_1_define =
842 {
843     "checkbox_1",
844     GX_TYPE_CHECKBOX,                        /* widget type                    */
845     GX_ID_NONE,                              /* widget id                      */
846     #if defined(GX_WIDGET_USER_DATA)
847     0,                                       /* user data                      */
848     #endif
849     GX_STYLE_BORDER_NONE|GX_STYLE_TRANSPARENT|GX_STYLE_ENABLED|GX_STYLE_BUTTON_TOGGLE|GX_STYLE_TEXT_LEFT,   /* style flags */
850     GX_STATUS_ACCEPTS_FOCUS,                 /* status flags                   */
851     sizeof(GX_CHECKBOX),                     /* control block size             */
852     GX_COLOR_ID_BTN_LOWER,                   /* normal color id                */
853     GX_COLOR_ID_BTN_UPPER,                   /* selected color id              */
854     GX_COLOR_ID_DISABLED_FILL,               /* disabled color id              */
855     gx_studio_checkbox_create,               /* create function                */
856     GX_NULL,                                 /* drawing function override      */
857     GX_NULL,                                 /* event function override        */
858     {146, 240, 259, 263},                    /* widget size                    */
859     &settings_win_checkbox_2_define,         /* next widget definition         */
860     GX_NULL,                                 /* no child widgets               */
861     offsetof(SETTINGS_WIN_CONTROL_BLOCK, settings_win_checkbox_1), /* control block */
862     (void *) &settings_win_checkbox_1_properties /* extended properties        */
863 };
864 
865 GX_CONST GX_STUDIO_WIDGET settings_win_checkbox_define =
866 {
867     "checkbox",
868     GX_TYPE_CHECKBOX,                        /* widget type                    */
869     GX_ID_NONE,                              /* widget id                      */
870     #if defined(GX_WIDGET_USER_DATA)
871     0,                                       /* user data                      */
872     #endif
873     GX_STYLE_BORDER_NONE|GX_STYLE_TRANSPARENT|GX_STYLE_ENABLED|GX_STYLE_BUTTON_TOGGLE|GX_STYLE_TEXT_LEFT,   /* style flags */
874     GX_STATUS_ACCEPTS_FOCUS,                 /* status flags                   */
875     sizeof(GX_CHECKBOX),                     /* control block size             */
876     GX_COLOR_ID_BTN_LOWER,                   /* normal color id                */
877     GX_COLOR_ID_BTN_UPPER,                   /* selected color id              */
878     GX_COLOR_ID_DISABLED_FILL,               /* disabled color id              */
879     gx_studio_checkbox_create,               /* create function                */
880     GX_NULL,                                 /* drawing function override      */
881     GX_NULL,                                 /* event function override        */
882     {146, 203, 259, 226},                    /* widget size                    */
883     &settings_win_checkbox_1_define,         /* next widget definition         */
884     GX_NULL,                                 /* no child widgets               */
885     offsetof(SETTINGS_WIN_CONTROL_BLOCK, settings_win_checkbox), /* control block */
886     (void *) &settings_win_checkbox_properties /* extended properties          */
887 };
888 
889 GX_CONST GX_STUDIO_WIDGET settings_win_prompt_define =
890 {
891     "prompt",
892     GX_TYPE_PROMPT,                          /* widget type                    */
893     GX_ID_NONE,                              /* widget id                      */
894     #if defined(GX_WIDGET_USER_DATA)
895     0,                                       /* user data                      */
896     #endif
897     GX_STYLE_BORDER_RECESSED|GX_STYLE_ENABLED|GX_STYLE_TEXT_CENTER,   /* style flags */
898     GX_STATUS_ACCEPTS_FOCUS,                 /* status flags                   */
899     sizeof(GX_PROMPT),                       /* control block size             */
900     GX_COLOR_ID_BLACK,                       /* normal color id                */
901     GX_COLOR_ID_SELECTED_FILL,               /* selected color id              */
902     GX_COLOR_ID_DISABLED_FILL,               /* disabled color id              */
903     gx_studio_prompt_create,                 /* create function                */
904     GX_NULL,                                 /* drawing function override      */
905     GX_NULL,                                 /* event function override        */
906     {206, 130, 427, 158},                    /* widget size                    */
907     &settings_win_checkbox_define,           /* next widget definition         */
908     GX_NULL,                                 /* no child widgets               */
909     offsetof(SETTINGS_WIN_CONTROL_BLOCK, settings_win_prompt), /* control block */
910     (void *) &settings_win_prompt_properties /* extended properties            */
911 };
912 
913 GX_CONST GX_STUDIO_WIDGET settings_win_close_button_define =
914 {
915     "close_button",
916     GX_TYPE_PIXELMAP_BUTTON,                 /* widget type                    */
917     IDB_CLOSE,                               /* widget id                      */
918     #if defined(GX_WIDGET_USER_DATA)
919     0,                                       /* user data                      */
920     #endif
921     GX_STYLE_BORDER_NONE|GX_STYLE_ENABLED,   /* style flags                    */
922     GX_STATUS_ACCEPTS_FOCUS,                 /* status flags                   */
923     sizeof(GX_PIXELMAP_BUTTON),              /* control block size             */
924     GX_COLOR_ID_BTN_LOWER,                   /* normal color id                */
925     GX_COLOR_ID_BTN_UPPER,                   /* selected color id              */
926     GX_COLOR_ID_BTN_LOWER,                   /* disabled color id              */
927     gx_studio_pixelmap_button_create,        /* create function                */
928     GX_NULL,                                 /* drawing function override      */
929     GX_NULL,                                 /* event function override        */
930     {475, 124, 527, 171},                    /* widget size                    */
931     &settings_win_prompt_define,             /* next widget definition         */
932     &settings_win_icon_define,               /* child widget definition        */
933     offsetof(SETTINGS_WIN_CONTROL_BLOCK, settings_win_close_button), /* control block */
934     (void *) &settings_win_close_button_properties /* extended properties      */
935 };
936 
937 GX_CONST GX_STUDIO_WIDGET settings_win_define =
938 {
939     "settings_win",
940     GX_TYPE_WINDOW,                          /* widget type                    */
941     GX_ID_NONE,                              /* widget id                      */
942     #if defined(GX_WIDGET_USER_DATA)
943     0,                                       /* user data                      */
944     #endif
945     GX_STYLE_BORDER_NONE|GX_STYLE_ENABLED,   /* style flags                    */
946     GX_STATUS_ACCEPTS_FOCUS,                 /* status flags                   */
947     sizeof(SETTINGS_WIN_CONTROL_BLOCK),      /* control block size             */
948     GX_COLOR_ID_CHILD_FILL,                  /* normal color id                */
949     GX_COLOR_ID_BACKGROUND_FILL,             /* selected color id              */
950     GX_COLOR_ID_BACKGROUND_FILL,             /* disabled color id              */
951     gx_studio_window_create,                 /* create function                */
952     GX_NULL,                                 /* drawing function override      */
953     (UINT (*)(GX_WIDGET *, GX_EVENT *)) settings_win_event_process, /* event function override */
954     {111, 117, 530, 388},                    /* widget size                    */
955     GX_NULL,                                 /* next widget                    */
956     &settings_win_close_button_define,       /* child widget                   */
957     0,                                       /* control block                  */
958     (void *) &settings_win_properties        /* extended properties            */
959 };
960 GX_WINDOW_PROPERTIES background_win_properties =
961 {
962     0                                        /* wallpaper pixelmap id          */
963 };
964 GX_ICON_PROPERTIES background_win_logo_properties =
965 {
966     GX_PIXELMAP_ID_MS_AZURE_LOGO_SMALL,      /* normal pixelmap id             */
967     0                                        /* selected pixelmap id           */
968 };
969 GX_PIXELMAP_BUTTON_PROPERTIES background_win_info_button_properties =
970 {
971     GX_PIXELMAP_ID_BUTTON_SMALL,             /* normal pixelmap id             */
972     GX_PIXELMAP_ID_BUTTON_SMALL_ACTIVE,      /* selected pixelmap id           */
973     0                                        /* disabled pixelmap id           */
974 };
975 GX_ICON_PROPERTIES background_win_icon_7_properties =
976 {
977     GX_PIXELMAP_ID_ICON_INFO,                /* normal pixelmap id             */
978     0                                        /* selected pixelmap id           */
979 };
980 GX_PIXELMAP_BUTTON_PROPERTIES background_win_settings_button_properties =
981 {
982     GX_PIXELMAP_ID_BUTTON_SMALL,             /* normal pixelmap id             */
983     GX_PIXELMAP_ID_BUTTON_SMALL_ACTIVE,      /* selected pixelmap id           */
984     0                                        /* disabled pixelmap id           */
985 };
986 GX_ICON_PROPERTIES background_win_icon_8_properties =
987 {
988     GX_PIXELMAP_ID_ICON_COG,                 /* normal pixelmap id             */
989     0                                        /* selected pixelmap id           */
990 };
991 GX_WINDOW_PROPERTIES background_win_child_frame_properties =
992 {
993     0                                        /* wallpaper pixelmap id          */
994 };
995 GX_PROMPT_PROPERTIES background_win_prompt_1_properties =
996 {
997     GX_STRING_ID_STRING_53,                  /* string id                      */
998     GX_FONT_ID_PROMPT,                       /* font id                        */
999     GX_COLOR_ID_WHITE,                       /* normal text color              */
1000     GX_COLOR_ID_SELECTED_TEXT,               /* selected text color            */
1001     GX_COLOR_ID_WHITE                        /* disabled text color            */
1002 };
1003 GX_PROMPT_PROPERTIES background_win_prompt_properties =
1004 {
1005     GX_STRING_ID_STRING_54,                  /* string id                      */
1006     GX_FONT_ID_PROMPT,                       /* font id                        */
1007     GX_COLOR_ID_WHITE,                       /* normal text color              */
1008     GX_COLOR_ID_SELECTED_TEXT,               /* selected text color            */
1009     GX_COLOR_ID_WHITE                        /* disabled text color            */
1010 };
1011 
1012 GX_CONST GX_STUDIO_WIDGET background_win_icon_7_define =
1013 {
1014     "icon_7",
1015     GX_TYPE_ICON,                            /* widget type                    */
1016     GX_ID_NONE,                              /* widget id                      */
1017     #if defined(GX_WIDGET_USER_DATA)
1018     0,                                       /* user data                      */
1019     #endif
1020     GX_STYLE_BORDER_NONE|GX_STYLE_TRANSPARENT|GX_STYLE_HALIGN_LEFT|GX_STYLE_VALIGN_TOP,   /* style flags */
1021     0,                                       /* status flags                   */
1022     sizeof(GX_ICON),                         /* control block size             */
1023     GX_COLOR_ID_WIDGET_FILL,                 /* normal color id                */
1024     GX_COLOR_ID_SELECTED_FILL,               /* selected color id              */
1025     GX_COLOR_ID_WIDGET_FILL,                 /* disabled color id              */
1026     gx_studio_icon_create,                   /* create function                */
1027     GX_NULL,                                 /* drawing function override      */
1028     GX_NULL,                                 /* event function override        */
1029     {577, 32, 598, 55},                      /* widget size                    */
1030     GX_NULL,                                 /* no next widget                 */
1031     GX_NULL,                                 /* no child widgets               */
1032     offsetof(BACKGROUND_WIN_CONTROL_BLOCK, background_win_icon_7), /* control block */
1033     (void *) &background_win_icon_7_properties /* extended properties          */
1034 };
1035 
1036 GX_CONST GX_STUDIO_WIDGET background_win_icon_8_define =
1037 {
1038     "icon_8",
1039     GX_TYPE_ICON,                            /* widget type                    */
1040     GX_ID_NONE,                              /* widget id                      */
1041     #if defined(GX_WIDGET_USER_DATA)
1042     0,                                       /* user data                      */
1043     #endif
1044     GX_STYLE_BORDER_NONE|GX_STYLE_TRANSPARENT|GX_STYLE_HALIGN_LEFT|GX_STYLE_VALIGN_TOP,   /* style flags */
1045     0,                                       /* status flags                   */
1046     sizeof(GX_ICON),                         /* control block size             */
1047     GX_COLOR_ID_WIDGET_FILL,                 /* normal color id                */
1048     GX_COLOR_ID_SELECTED_FILL,               /* selected color id              */
1049     GX_COLOR_ID_WIDGET_FILL,                 /* disabled color id              */
1050     gx_studio_icon_create,                   /* create function                */
1051     GX_NULL,                                 /* drawing function override      */
1052     GX_NULL,                                 /* event function override        */
1053     {515, 28, 542, 55},                      /* widget size                    */
1054     GX_NULL,                                 /* no next widget                 */
1055     GX_NULL,                                 /* no child widgets               */
1056     offsetof(BACKGROUND_WIN_CONTROL_BLOCK, background_win_icon_8), /* control block */
1057     (void *) &background_win_icon_8_properties /* extended properties          */
1058 };
1059 
1060 GX_CONST GX_STUDIO_WIDGET background_win_prompt_define =
1061 {
1062     "prompt",
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_THIN|GX_STYLE_TRANSPARENT|GX_STYLE_TEXT_CENTER,   /* style flags */
1069     0,                                       /* 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     {489, 414, 533, 437},                    /* widget size                    */
1078     GX_NULL,                                 /* no next widget                 */
1079     GX_NULL,                                 /* no child widgets               */
1080     offsetof(BACKGROUND_WIN_CONTROL_BLOCK, background_win_prompt), /* control block */
1081     (void *) &background_win_prompt_properties /* extended properties          */
1082 };
1083 
1084 GX_CONST GX_STUDIO_WIDGET background_win_prompt_1_define =
1085 {
1086     "prompt_1",
1087     GX_TYPE_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_THIN|GX_STYLE_TRANSPARENT|GX_STYLE_TEXT_CENTER,   /* style flags */
1093     0,                                       /* status flags                   */
1094     sizeof(GX_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_prompt_create,                 /* create function                */
1099     GX_NULL,                                 /* drawing function override      */
1100     GX_NULL,                                 /* event function override        */
1101     {113, 414, 157, 437},                    /* widget size                    */
1102     &background_win_prompt_define,           /* next widget definition         */
1103     GX_NULL,                                 /* no child widgets               */
1104     offsetof(BACKGROUND_WIN_CONTROL_BLOCK, background_win_prompt_1), /* control block */
1105     (void *) &background_win_prompt_1_properties /* extended properties        */
1106 };
1107 
1108 GX_CONST GX_STUDIO_WIDGET background_win_child_frame_define =
1109 {
1110     "child_frame",
1111     GX_TYPE_WINDOW,                          /* widget type                    */
1112     GX_ID_NONE,                              /* widget id                      */
1113     #if defined(GX_WIDGET_USER_DATA)
1114     0,                                       /* user data                      */
1115     #endif
1116     GX_STYLE_BORDER_THIN|GX_STYLE_ENABLED,   /* style flags                    */
1117     GX_STATUS_ACCEPTS_FOCUS,                 /* status flags                   */
1118     sizeof(GX_WINDOW),                       /* control block size             */
1119     GX_COLOR_ID_WINDOW_FILL,                 /* normal color id                */
1120     GX_COLOR_ID_WINDOW_FILL,                 /* selected color id              */
1121     GX_COLOR_ID_DISABLED_FILL,               /* disabled color id              */
1122     gx_studio_window_create,                 /* create function                */
1123     GX_NULL,                                 /* drawing function override      */
1124     GX_NULL,                                 /* event function override        */
1125     {113, 130, 534, 403},                    /* widget size                    */
1126     &background_win_prompt_1_define,         /* next widget definition         */
1127     GX_NULL,                                 /* no child widgets               */
1128     offsetof(BACKGROUND_WIN_CONTROL_BLOCK, background_win_child_frame), /* control block */
1129     (void *) &background_win_child_frame_properties /* extended properties     */
1130 };
1131 
1132 GX_CONST GX_STUDIO_WIDGET background_win_settings_button_define =
1133 {
1134     "settings_button",
1135     GX_TYPE_PIXELMAP_BUTTON,                 /* widget type                    */
1136     IDB_SETTINGS,                            /* widget id                      */
1137     #if defined(GX_WIDGET_USER_DATA)
1138     0,                                       /* user data                      */
1139     #endif
1140     GX_STYLE_BORDER_NONE|GX_STYLE_ENABLED,   /* style flags                    */
1141     GX_STATUS_ACCEPTS_FOCUS,                 /* status flags                   */
1142     sizeof(GX_PIXELMAP_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_BTN_LOWER,                   /* disabled color id              */
1146     gx_studio_pixelmap_button_create,        /* create function                */
1147     GX_NULL,                                 /* drawing function override      */
1148     GX_NULL,                                 /* event function override        */
1149     {505, 23, 557, 70},                      /* widget size                    */
1150     &background_win_child_frame_define,      /* next widget definition         */
1151     &background_win_icon_8_define,           /* child widget definition        */
1152     offsetof(BACKGROUND_WIN_CONTROL_BLOCK, background_win_settings_button), /* control block */
1153     (void *) &background_win_settings_button_properties /* extended properties */
1154 };
1155 
1156 GX_CONST GX_STUDIO_WIDGET background_win_info_button_define =
1157 {
1158     "info_button",
1159     GX_TYPE_PIXELMAP_BUTTON,                 /* widget type                    */
1160     IDB_INFO,                                /* widget id                      */
1161     #if defined(GX_WIDGET_USER_DATA)
1162     0,                                       /* user data                      */
1163     #endif
1164     GX_STYLE_BORDER_NONE|GX_STYLE_ENABLED,   /* style flags                    */
1165     GX_STATUS_ACCEPTS_FOCUS,                 /* status flags                   */
1166     sizeof(GX_PIXELMAP_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_BTN_LOWER,                   /* disabled color id              */
1170     gx_studio_pixelmap_button_create,        /* create function                */
1171     GX_NULL,                                 /* drawing function override      */
1172     GX_NULL,                                 /* event function override        */
1173     {565, 24, 617, 71},                      /* widget size                    */
1174     &background_win_settings_button_define,  /* next widget definition         */
1175     &background_win_icon_7_define,           /* child widget definition        */
1176     offsetof(BACKGROUND_WIN_CONTROL_BLOCK, background_win_info_button), /* control block */
1177     (void *) &background_win_info_button_properties /* extended properties     */
1178 };
1179 
1180 GX_CONST GX_STUDIO_WIDGET background_win_logo_define =
1181 {
1182     "logo",
1183     GX_TYPE_ICON,                            /* widget type                    */
1184     GX_ID_NONE,                              /* widget id                      */
1185     #if defined(GX_WIDGET_USER_DATA)
1186     0,                                       /* user data                      */
1187     #endif
1188     GX_STYLE_BORDER_NONE|GX_STYLE_HALIGN_LEFT|GX_STYLE_VALIGN_TOP,   /* style flags */
1189     0,                                       /* status flags                   */
1190     sizeof(GX_ICON),                         /* control block size             */
1191     GX_COLOR_ID_WIDGET_FILL,                 /* normal color id                */
1192     GX_COLOR_ID_SELECTED_FILL,               /* selected color id              */
1193     GX_COLOR_ID_WIDGET_FILL,                 /* disabled color id              */
1194     gx_studio_icon_create,                   /* create function                */
1195     GX_NULL,                                 /* drawing function override      */
1196     GX_NULL,                                 /* event function override        */
1197     {9, 9, 197, 38},                         /* widget size                    */
1198     &background_win_info_button_define,      /* next widget definition         */
1199     GX_NULL,                                 /* no child widgets               */
1200     offsetof(BACKGROUND_WIN_CONTROL_BLOCK, background_win_logo), /* control block */
1201     (void *) &background_win_logo_properties /* extended properties            */
1202 };
1203 
1204 GX_ANIMATION_INFO background_win_animation_1 = {
1205     (GX_WIDGET *) &about_win,
1206     (GX_WIDGET *) &display_1_root_window,
1207     GX_NULL,
1208     GX_ANIMATION_TRANSLATE|GX_ANIMATION_EXPO_EASE_IN, ANIMATION_ABOUT_FADE_IN, 0, 1,
1209     {115, 132}, {115, 132}, 20, 255, 20
1210 };
1211 
1212 
1213 GX_ANIMATION_INFO background_win_animation_2 = {
1214     (GX_WIDGET *) &background_win,
1215     (GX_WIDGET *) &display_1_root_window,
1216     GX_NULL,
1217     GX_ANIMATION_TRANSLATE|GX_ANIMATION_DETACH|GX_ANIMATION_EXPO_EASE_OUT, 0, 0, 1,
1218     {0, 0}, {0, 0}, 255, 20, 20
1219 };
1220 
1221 
1222 GX_STUDIO_ACTION background_win__idb_info_gx_event_clicked_actions[3] = {
1223     {GX_ACTION_TYPE_ANIMATION, 0, &display_1_root_window, &about_win, &background_win_animation_1},
1224     {GX_ACTION_TYPE_ANIMATION, 0, &display_1_root_window, &background_win, &background_win_animation_2},
1225     {0, 0, GX_NULL, GX_NULL, GX_NULL}
1226 };
1227 
1228 static GX_STUDIO_EVENT_ENTRY gx_studio_background_win_event_table[] = {
1229     {GX_SIGNAL(IDB_INFO, GX_EVENT_CLICKED), 0, background_win__idb_info_gx_event_clicked_actions},
1230     {0, 0, GX_NULL}
1231 };
1232 
1233 GX_STUDIO_EVENT_PROCESS background_win_event_chain = {gx_studio_background_win_event_table, (UINT (*)(GX_WIDGET *, GX_EVENT *))BackgroundWinEventProcess};
gx_studio_background_win_event_process(GX_WIDGET * target,GX_EVENT * event_ptr)1234 static UINT gx_studio_background_win_event_process(GX_WIDGET *target, GX_EVENT *event_ptr)
1235 {
1236     return (gx_studio_auto_event_handler(target, event_ptr, &background_win_event_chain));
1237 }
1238 
1239 
1240 GX_CONST GX_STUDIO_WIDGET background_win_define =
1241 {
1242     "background_win",
1243     GX_TYPE_WINDOW,                          /* widget type                    */
1244     GX_ID_NONE,                              /* widget id                      */
1245     #if defined(GX_WIDGET_USER_DATA)
1246     0,                                       /* user data                      */
1247     #endif
1248     GX_STYLE_BORDER_NONE|GX_STYLE_TRANSPARENT|GX_STYLE_ENABLED,   /* style flags */
1249     GX_STATUS_ACCEPTS_FOCUS,                 /* status flags                   */
1250     sizeof(BACKGROUND_WIN_CONTROL_BLOCK),    /* control block size             */
1251     GX_COLOR_ID_BLACK,                       /* normal color id                */
1252     GX_COLOR_ID_BLACK,                       /* selected color id              */
1253     GX_COLOR_ID_BLACK,                       /* disabled color id              */
1254     gx_studio_window_create,                 /* create function                */
1255     GX_NULL,                                 /* drawing function override      */
1256     (UINT (*)(GX_WIDGET *, GX_EVENT *)) gx_studio_background_win_event_process, /* event function override */
1257     {0, 0, 639, 479},                        /* widget size                    */
1258     GX_NULL,                                 /* next widget                    */
1259     &background_win_logo_define,             /* child widget                   */
1260     0,                                       /* control block                  */
1261     (void *) &background_win_properties      /* extended properties            */
1262 };
1263 GX_WINDOW_PROPERTIES about_win_properties =
1264 {
1265     0                                        /* wallpaper pixelmap id          */
1266 };
1267 GX_PIXELMAP_BUTTON_PROPERTIES about_win_close_button_properties =
1268 {
1269     GX_PIXELMAP_ID_BUTTON_SMALL,             /* normal pixelmap id             */
1270     GX_PIXELMAP_ID_BUTTON_SMALL_ACTIVE,      /* selected pixelmap id           */
1271     0                                        /* disabled pixelmap id           */
1272 };
1273 GX_ICON_PROPERTIES about_win_icon_properties =
1274 {
1275     GX_PIXELMAP_ID_ICON_CLOSE,               /* normal pixelmap id             */
1276     0                                        /* selected pixelmap id           */
1277 };
1278 GX_ICON_PROPERTIES about_win_icon_2_properties =
1279 {
1280     GX_PIXELMAP_ID_ICON_CLOSE,               /* normal pixelmap id             */
1281     0                                        /* selected pixelmap id           */
1282 };
1283 GX_ICON_PROPERTIES about_win_icon_4_properties =
1284 {
1285     GX_PIXELMAP_ID_GUIX_LOGO_LARGE,          /* normal pixelmap id             */
1286     0                                        /* selected pixelmap id           */
1287 };
1288 GX_ICON_PROPERTIES about_win_icon_1_properties =
1289 {
1290     GX_PIXELMAP_ID_X_LARGE,                  /* normal pixelmap id             */
1291     0                                        /* selected pixelmap id           */
1292 };
1293 
1294 GX_CONST GX_STUDIO_WIDGET about_win_icon_2_define =
1295 {
1296     "icon_2",
1297     GX_TYPE_ICON,                            /* widget type                    */
1298     GX_ID_NONE,                              /* widget id                      */
1299     #if defined(GX_WIDGET_USER_DATA)
1300     0,                                       /* user data                      */
1301     #endif
1302     GX_STYLE_BORDER_NONE|GX_STYLE_ENABLED|GX_STYLE_HALIGN_LEFT|GX_STYLE_VALIGN_TOP,   /* style flags */
1303     GX_STATUS_ACCEPTS_FOCUS,                 /* status flags                   */
1304     sizeof(GX_ICON),                         /* control block size             */
1305     GX_COLOR_ID_WIDGET_FILL,                 /* normal color id                */
1306     GX_COLOR_ID_SELECTED_FILL,               /* selected color id              */
1307     GX_COLOR_ID_DISABLED_FILL,               /* disabled color id              */
1308     gx_studio_icon_create,                   /* create function                */
1309     GX_NULL,                                 /* drawing function override      */
1310     GX_NULL,                                 /* event function override        */
1311     {494, 147, 510, 164},                    /* widget size                    */
1312     GX_NULL,                                 /* no next widget                 */
1313     GX_NULL,                                 /* no child widgets               */
1314     offsetof(ABOUT_WIN_CONTROL_BLOCK, about_win_icon_2), /* control block      */
1315     (void *) &about_win_icon_2_properties    /* extended properties            */
1316 };
1317 
1318 GX_CONST GX_STUDIO_WIDGET about_win_icon_define =
1319 {
1320     "icon",
1321     GX_TYPE_ICON,                            /* widget type                    */
1322     GX_ID_NONE,                              /* widget id                      */
1323     #if defined(GX_WIDGET_USER_DATA)
1324     0,                                       /* user data                      */
1325     #endif
1326     GX_STYLE_BORDER_NONE|GX_STYLE_TRANSPARENT|GX_STYLE_HALIGN_LEFT|GX_STYLE_VALIGN_TOP,   /* style flags */
1327     0,                                       /* status flags                   */
1328     sizeof(GX_ICON),                         /* control block size             */
1329     GX_COLOR_ID_WIDGET_FILL,                 /* normal color id                */
1330     GX_COLOR_ID_SELECTED_FILL,               /* selected color id              */
1331     GX_COLOR_ID_WIDGET_FILL,                 /* disabled color id              */
1332     gx_studio_icon_create,                   /* create function                */
1333     GX_NULL,                                 /* drawing function override      */
1334     GX_NULL,                                 /* event function override        */
1335     {440, 243, 456, 260},                    /* widget size                    */
1336     &about_win_icon_2_define,                /* next widget definition         */
1337     GX_NULL,                                 /* no child widgets               */
1338     offsetof(ABOUT_WIN_CONTROL_BLOCK, about_win_icon), /* control block        */
1339     (void *) &about_win_icon_properties      /* extended properties            */
1340 };
1341 
1342 GX_CONST GX_STUDIO_WIDGET about_win_icon_1_define =
1343 {
1344     "icon_1",
1345     GX_TYPE_ICON,                            /* widget type                    */
1346     GX_ID_NONE,                              /* widget id                      */
1347     #if defined(GX_WIDGET_USER_DATA)
1348     0,                                       /* user data                      */
1349     #endif
1350     GX_STYLE_BORDER_NONE|GX_STYLE_ENABLED|GX_STYLE_HALIGN_LEFT|GX_STYLE_VALIGN_TOP,   /* style flags */
1351     GX_STATUS_ACCEPTS_FOCUS,                 /* status flags                   */
1352     sizeof(GX_ICON),                         /* control block size             */
1353     GX_COLOR_ID_WIDGET_FILL,                 /* normal color id                */
1354     GX_COLOR_ID_SELECTED_FILL,               /* selected color id              */
1355     GX_COLOR_ID_DISABLED_FILL,               /* disabled color id              */
1356     gx_studio_icon_create,                   /* create function                */
1357     GX_NULL,                                 /* drawing function override      */
1358     GX_NULL,                                 /* event function override        */
1359     {119, 144, 350, 383},                    /* widget size                    */
1360     GX_NULL,                                 /* no next widget                 */
1361     GX_NULL,                                 /* no child widgets               */
1362     offsetof(ABOUT_WIN_CONTROL_BLOCK, about_win_icon_1), /* control block      */
1363     (void *) &about_win_icon_1_properties    /* extended properties            */
1364 };
1365 
1366 GX_CONST GX_STUDIO_WIDGET about_win_icon_4_define =
1367 {
1368     "icon_4",
1369     GX_TYPE_ICON,                            /* widget type                    */
1370     GX_ID_NONE,                              /* widget id                      */
1371     #if defined(GX_WIDGET_USER_DATA)
1372     0,                                       /* user data                      */
1373     #endif
1374     GX_STYLE_BORDER_NONE|GX_STYLE_ENABLED|GX_STYLE_HALIGN_LEFT|GX_STYLE_VALIGN_TOP,   /* style flags */
1375     GX_STATUS_ACCEPTS_FOCUS,                 /* status flags                   */
1376     sizeof(GX_ICON),                         /* control block size             */
1377     GX_COLOR_ID_WIDGET_FILL,                 /* normal color id                */
1378     GX_COLOR_ID_SELECTED_FILL,               /* selected color id              */
1379     GX_COLOR_ID_WIDGET_FILL,                 /* disabled color id              */
1380     gx_studio_icon_create,                   /* create function                */
1381     GX_NULL,                                 /* drawing function override      */
1382     GX_NULL,                                 /* event function override        */
1383     {265, 224, 531, 285},                    /* widget size                    */
1384     &about_win_icon_1_define,                /* next widget definition         */
1385     GX_NULL,                                 /* no child widgets               */
1386     offsetof(ABOUT_WIN_CONTROL_BLOCK, about_win_icon_4), /* control block      */
1387     (void *) &about_win_icon_4_properties    /* extended properties            */
1388 };
1389 
1390 GX_CONST GX_STUDIO_WIDGET about_win_close_button_define =
1391 {
1392     "close_button",
1393     GX_TYPE_PIXELMAP_BUTTON,                 /* widget type                    */
1394     IDB_CLOSE,                               /* widget id                      */
1395     #if defined(GX_WIDGET_USER_DATA)
1396     0,                                       /* user data                      */
1397     #endif
1398     GX_STYLE_BORDER_NONE|GX_STYLE_ENABLED,   /* style flags                    */
1399     GX_STATUS_ACCEPTS_FOCUS,                 /* status flags                   */
1400     sizeof(GX_PIXELMAP_BUTTON),              /* control block size             */
1401     GX_COLOR_ID_BTN_LOWER,                   /* normal color id                */
1402     GX_COLOR_ID_BTN_UPPER,                   /* selected color id              */
1403     GX_COLOR_ID_BTN_LOWER,                   /* disabled color id              */
1404     gx_studio_pixelmap_button_create,        /* create function                */
1405     GX_NULL,                                 /* drawing function override      */
1406     GX_NULL,                                 /* event function override        */
1407     {478, 138, 530, 185},                    /* widget size                    */
1408     &about_win_icon_4_define,                /* next widget definition         */
1409     &about_win_icon_define,                  /* child widget definition        */
1410     offsetof(ABOUT_WIN_CONTROL_BLOCK, about_win_close_button), /* control block */
1411     (void *) &about_win_close_button_properties /* extended properties         */
1412 };
1413 
1414 GX_ANIMATION_INFO about_win_animation_1 = {
1415     (GX_WIDGET *) &background_win,
1416     (GX_WIDGET *) &display_1_root_window,
1417     GX_NULL,
1418     GX_ANIMATION_TRANSLATE|GX_ANIMATION_EXPO_EASE_OUT, 0, 0, 1,
1419     {0, 0}, {0, 0}, 20, 255, 20
1420 };
1421 
1422 
1423 GX_ANIMATION_INFO about_win_animation_2 = {
1424     (GX_WIDGET *) &about_win,
1425     (GX_WIDGET *) &display_1_root_window,
1426     GX_NULL,
1427     GX_ANIMATION_TRANSLATE|GX_ANIMATION_DETACH|GX_ANIMATION_CUBIC_EASE_IN, ANIMATION_ABOUT_FADE_OUT, 0, 1,
1428     {115, 132}, {115, 132}, 255, 20, 20
1429 };
1430 
1431 
1432 GX_STUDIO_ACTION about_win__idb_close_gx_event_clicked_actions[3] = {
1433     {GX_ACTION_TYPE_ANIMATION, 0, &display_1_root_window, &background_win, &about_win_animation_1},
1434     {GX_ACTION_TYPE_ANIMATION, 0, &display_1_root_window, &about_win, &about_win_animation_2},
1435     {0, 0, GX_NULL, GX_NULL, GX_NULL}
1436 };
1437 
1438 static GX_STUDIO_EVENT_ENTRY gx_studio_about_win_event_table[] = {
1439     {GX_SIGNAL(IDB_CLOSE, GX_EVENT_CLICKED), 0, about_win__idb_close_gx_event_clicked_actions},
1440     {0, 0, GX_NULL}
1441 };
1442 
1443 GX_STUDIO_EVENT_PROCESS about_win_event_chain = {gx_studio_about_win_event_table, (UINT (*)(GX_WIDGET *, GX_EVENT *))gx_window_event_process};
gx_studio_about_win_event_process(GX_WIDGET * target,GX_EVENT * event_ptr)1444 static UINT gx_studio_about_win_event_process(GX_WIDGET *target, GX_EVENT *event_ptr)
1445 {
1446     return (gx_studio_auto_event_handler(target, event_ptr, &about_win_event_chain));
1447 }
1448 
1449 
1450 GX_CONST GX_STUDIO_WIDGET about_win_define =
1451 {
1452     "about_win",
1453     GX_TYPE_WINDOW,                          /* widget type                    */
1454     GX_ID_NONE,                              /* widget id                      */
1455     #if defined(GX_WIDGET_USER_DATA)
1456     0,                                       /* user data                      */
1457     #endif
1458     GX_STYLE_BORDER_NONE|GX_STYLE_TRANSPARENT,   /* style flags                */
1459     GX_STATUS_ACCEPTS_FOCUS,                 /* status flags                   */
1460     sizeof(ABOUT_WIN_CONTROL_BLOCK),         /* control block size             */
1461     GX_COLOR_ID_BLACK,                       /* normal color id                */
1462     GX_COLOR_ID_BLACK,                       /* selected color id              */
1463     GX_COLOR_ID_BLACK,                       /* disabled color id              */
1464     gx_studio_window_create,                 /* create function                */
1465     GX_NULL,                                 /* drawing function override      */
1466     (UINT (*)(GX_WIDGET *, GX_EVENT *)) gx_studio_about_win_event_process, /* event function override */
1467     {114, 131, 533, 402},                    /* widget size                    */
1468     GX_NULL,                                 /* next widget                    */
1469     &about_win_close_button_define,          /* child widget                   */
1470     0,                                       /* control block                  */
1471     (void *) &about_win_properties           /* extended properties            */
1472 };
1473 GX_CONST GX_STUDIO_WIDGET_ENTRY demo_guix_transitions_widget_table[] =
1474 {
1475     { &photo_3_define, (GX_WIDGET *) &photo_3 },
1476     { &photo_2_define, (GX_WIDGET *) &photo_2 },
1477     { &photo_1_define, (GX_WIDGET *) &photo_1 },
1478     { &settings_win_define, (GX_WIDGET *) &settings_win },
1479     { &background_win_define, (GX_WIDGET *) &background_win },
1480     { &about_win_define, (GX_WIDGET *) &about_win },
1481     {GX_NULL, GX_NULL}
1482 };
1483 
gx_studio_nested_widget_create(GX_BYTE * control,GX_CONST GX_STUDIO_WIDGET * definition,GX_WIDGET * parent)1484 static GX_WIDGET *gx_studio_nested_widget_create(GX_BYTE *control, GX_CONST GX_STUDIO_WIDGET *definition, GX_WIDGET *parent)
1485 {
1486     UINT status = GX_SUCCESS;
1487     GX_WIDGET *widget = GX_NULL;
1488     GX_VALUE   list_count = 0;
1489     GX_VALUE   list_total_count = 0;
1490 
1491     if(parent && (parent->gx_widget_type == GX_TYPE_MENU))
1492     {
1493         list_total_count = ((GX_MENU *)parent)->gx_menu_list_total_count;
1494     }
1495 
1496     while(definition && status == GX_SUCCESS)
1497     {
1498         if (definition->create_function)
1499         {
1500             if (definition->style & GX_STYLE_DYNAMICALLY_ALLOCATED)
1501             {
1502                 status = gx_widget_allocate(&widget, definition->control_block_size);
1503                 if (status != GX_SUCCESS)
1504                 {
1505                     return GX_NULL;
1506                 }
1507             }
1508             else
1509             {
1510                 if (control == GX_NULL)
1511                 {
1512                     return GX_NULL;
1513                 }
1514                 widget = (GX_WIDGET *) (control + definition->control_block_offset);
1515             }
1516 
1517             status = definition->create_function(definition, widget, parent);
1518 
1519             if(list_count < list_total_count)
1520             {
1521                 gx_menu_insert((GX_MENU *)parent, widget);
1522                 ((GX_MENU *)parent)->gx_menu_list_total_count--;
1523                 list_count++;
1524             }
1525 
1526             if (status == GX_SUCCESS)
1527             {
1528                 if (definition->widget_type != GX_TYPE_TEMPLATE)
1529                 {
1530 #if defined(GUIX_5_4_0_COMPATIBILITY)
1531                     gx_widget_fill_color_set(widget, definition->normal_fill_color_id, definition->selected_fill_color_id);
1532 #else
1533                     gx_widget_fill_color_set(widget, definition->normal_fill_color_id, definition->selected_fill_color_id, definition->disabled_fill_color_id);
1534 #endif
1535                 }
1536 
1537                 if (!(definition->status & GX_STATUS_ACCEPTS_FOCUS))
1538                 {
1539                     gx_widget_status_remove(widget, GX_STATUS_ACCEPTS_FOCUS);
1540                 }
1541 
1542                 if (definition->draw_function)
1543                 {
1544                     gx_widget_draw_set(widget, definition->draw_function);
1545                 }
1546                 if (definition->event_function)
1547                 {
1548                     gx_widget_event_process_set(widget, definition->event_function);
1549                 }
1550 
1551                 #if defined(GX_WIDGET_USER_DATA)
1552                 widget->gx_widget_user_data = definition->user_data;
1553                 #endif
1554 
1555                 if (definition->child_widget)
1556                 {
1557                     gx_studio_nested_widget_create(control, definition->child_widget, widget);
1558                 }
1559             }
1560             definition = definition->next_widget;
1561         }
1562     }
1563     return widget;
1564 }
1565 
gx_studio_widget_create(GX_BYTE * control,GX_CONST GX_STUDIO_WIDGET * definition,GX_WIDGET * parent)1566 GX_WIDGET *gx_studio_widget_create(GX_BYTE *control, GX_CONST GX_STUDIO_WIDGET *definition, GX_WIDGET *parent)
1567 {
1568     GX_WIDGET *widget;
1569     widget = gx_studio_nested_widget_create(control, definition, GX_NULL);
1570 
1571     if (parent && widget)
1572     {
1573         gx_widget_attach(parent, widget);
1574     }
1575     return widget;
1576 }
1577 
gx_studio_named_widget_create(char * name,GX_WIDGET * parent,GX_WIDGET ** new_widget)1578 UINT gx_studio_named_widget_create(char *name, GX_WIDGET *parent, GX_WIDGET **new_widget)
1579 {
1580     UINT status = GX_FAILURE;
1581     GX_CONST GX_STUDIO_WIDGET_ENTRY *entry = demo_guix_transitions_widget_table;
1582     GX_WIDGET *widget = GX_NULL;
1583 
1584     while(entry->widget_information)
1585     {
1586         if (!strcmp(name, entry->widget_information->widget_name))
1587         {
1588             widget = gx_studio_widget_create((GX_BYTE *) entry->widget, entry->widget_information, parent);
1589             if (widget)
1590             {
1591                 status = GX_SUCCESS;
1592             }
1593             break;
1594         }
1595         entry++;
1596     }
1597 
1598     if (new_widget)
1599     {
1600         *new_widget = widget;
1601     }
1602     return status;
1603 }
1604 
1605 
gx_studio_display_configure(USHORT display,UINT (* driver)(GX_DISPLAY *),GX_UBYTE language,USHORT theme,GX_WINDOW_ROOT ** return_root)1606 UINT gx_studio_display_configure(USHORT display, UINT (*driver)(GX_DISPLAY *),
1607     GX_UBYTE language, USHORT theme, GX_WINDOW_ROOT **return_root)
1608 {
1609     GX_CONST GX_THEME *theme_ptr;
1610     GX_RECTANGLE size;
1611 
1612     GX_STUDIO_DISPLAY_INFO *display_info = &demo_guix_transitions_display_table[display];
1613 
1614 
1615 /* create the requested display                                                */
1616 
1617     gx_display_create(display_info->display,
1618                       display_info->name,
1619                       driver,
1620                       (GX_VALUE) display_info->x_resolution,
1621                       (GX_VALUE) display_info->y_resolution);
1622 
1623 
1624 /* install the request theme                                                   */
1625 
1626     if(display_info->theme_table)
1627     {
1628         theme_ptr = display_info->theme_table[theme];
1629         if(theme_ptr)
1630         {
1631             gx_display_color_table_set(display_info->display, theme_ptr->theme_color_table, theme_ptr->theme_color_table_size);
1632 
1633 /* install the color palette if required                                       */
1634             if (display_info->display->gx_display_driver_palette_set &&
1635                 theme_ptr->theme_palette != NULL)
1636             {
1637                 display_info->display->gx_display_driver_palette_set(display_info->display, theme_ptr->theme_palette, theme_ptr->theme_palette_size);
1638             }
1639 
1640             gx_display_font_table_set(display_info->display, theme_ptr->theme_font_table, theme_ptr->theme_font_table_size);
1641             gx_display_pixelmap_table_set(display_info->display, theme_ptr->theme_pixelmap_table, theme_ptr->theme_pixelmap_table_size);
1642             gx_system_scroll_appearance_set(theme_ptr->theme_vertical_scroll_style, (GX_SCROLLBAR_APPEARANCE *) &theme_ptr->theme_vertical_scrollbar_appearance);
1643             gx_system_scroll_appearance_set(theme_ptr->theme_horizontal_scroll_style, (GX_SCROLLBAR_APPEARANCE *) &theme_ptr->theme_horizontal_scrollbar_appearance);
1644         }
1645     }
1646 
1647 /* Install the language table.                                                 */
1648 
1649     if(display_info->language_table)
1650     {
1651         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);
1652         gx_display_active_language_set(display_info->display, language);
1653     }
1654 
1655 /* Set screen rotation angle.                                                  */
1656 
1657     display_info->display->gx_display_rotation_angle = display_info->rotation_angle;
1658 
1659 /* create the canvas for this display                                          */
1660 
1661     gx_canvas_create(display_info->canvas,
1662                      display_info->canvas_name,
1663                      display_info->display,
1664                      GX_CANVAS_MANAGED | GX_CANVAS_VISIBLE,
1665                      display_info->x_resolution,
1666                      display_info->y_resolution,
1667                      display_info->canvas_memory,
1668                      display_info->canvas_memory_size);
1669 
1670 /* Create the root window for this canvas                                      */
1671 
1672     gx_utility_rectangle_define(&size,
1673                                 0, 0,
1674                                 (GX_VALUE) (display_info->x_resolution - 1),
1675                                 (GX_VALUE) (display_info->y_resolution - 1));
1676 
1677     gx_window_root_create(display_info->root_window,
1678                           display_info->name,
1679                           display_info->canvas, GX_STYLE_NONE, 0, &size);
1680     if (return_root)
1681     {
1682         *return_root = display_info->root_window;
1683     }
1684     return GX_SUCCESS;
1685 }
1686 #undef GUIX_STUDIO_GENERATED_FILE
1687