1 /*******************************************************************************/
2 /*  This file is auto-generated by Azure RTOS GUIX Studio. Do not edit this    */
3 /*  file by hand. Modifications to this file should only be made by running    */
4 /*  the Azure RTOS GUIX Studio application and re-generating the application   */
5 /*  specification file(s). For more information please refer to the Azure RTOS */
6 /*  GUIX Studio User Guide, or visit our web site at azure.com/rtos            */
7 /*                                                                             */
8 /*  GUIX Studio Revision 6.2.0.1                                               */
9 /*  Date (dd.mm.yyyy): 31.10.2022   Time (hh:mm): 14:07                        */
10 /*******************************************************************************/
11 
12 
13 #ifndef _ALL_WIDGETS_5_4_0_SPECIFICATIONS_H_
14 #define _ALL_WIDGETS_5_4_0_SPECIFICATIONS_H_
15 
16 #include "gx_api.h"
17 
18 /* Determine if C++ compiler is being used, if so use standard C.              */
19 #ifdef __cplusplus
20 extern   "C" {
21 #endif
22 
23 /* Define widget ids                                                           */
24 
25 #define ID_ROTATE_SCREEN 1
26 #define IDB_NEXT 2
27 #define ID_DIRECT_ROTATE 3
28 #define ID_SLIDER_ANGLE 4
29 #define ID_ANGLE_DISPLAY 5
30 #define ID_RADIO_FOOT 6
31 #define ID_RADIO_APPLE 7
32 #define ID_RADIO_FISH 8
33 #define ID_MENU_SCREEN 9
34 #define ID_SCROLL_WHEEL_SCREEN 10
35 #define ID_DAY_WHEEL 11
36 #define ID_MONTH_WHEEL 12
37 #define ID_YEAR_WHEEL 13
38 #define ID_DAY_SELECT 14
39 #define ID_DAY_INPUT 15
40 #define ID_SPRITE_SCREEN 16
41 #define ID_ALPHA_SLIDER 17
42 #define ID_BIRD_SPRITE 18
43 #define ID_GAUGE_SCREEN 19
44 #define ID_GAUGE 20
45 #define IDB_OK 21
46 #define IDB_CANCEL 22
47 #define ID_INDICATOR_SCREEN 23
48 #define ID_SLIDER_HORIZONTAL 24
49 #define ID_SLIDER_1 25
50 #define ID_PIXELMAP_SLIDER_H 26
51 #define ID_PIXELMAP_SLIDER1 27
52 #define ID_TEXT_SCREEN 28
53 #define ID_PROMPT_1 29
54 #define ID_PROMPT_2 30
55 #define ID_PROMPT_3 31
56 #define ID_PROMPT_4 32
57 #define ID_SL_INPUT 33
58 #define ID_ML_VIEW 34
59 #define ID_ML_INPUT 35
60 #define ID_WINDOW_SCREEN 36
61 #define ID_HORIZONTAL_SCROLLBAR 37
62 #define ID_VERTICAL_SCROLLBAR 38
63 #define ID_VERTICAL_LIST 39
64 #define ID_DROP_LIST 40
65 #define ID_BUTTON_SCREEN 41
66 #define ID_BUTTON 42
67 #define ID_TEXT_BUTTON 43
68 #define ID_CHECKBOX 44
69 #define ID_RADIO_BUTTON 45
70 #define ID_PIXELMAP_BUTTON 46
71 #define ID_ICON 47
72 #define ID_ICON_BUTTON 48
73 #define ID_COUNT_PROMPT 49
74 
75 
76 /* Define animation ids                                                        */
77 
78 #define GX_NEXT_ANIMATION_ID 1
79 
80 
81 /* Define user event ids                                                       */
82 
83 #define GX_NEXT_USER_EVENT_ID GX_FIRST_USER_EVENT
84 
85 #define GX_ACTION_FLAG_DYNAMIC_TARGET 0x01
86 #define GX_ACTION_FLAG_DYNAMIC_PARENT 0x02
87 typedef struct GX_STUDIO_ACTION_STRUCT
88 {
89     GX_UBYTE opcode;
90     GX_UBYTE flags;
91     GX_CONST VOID *parent;
92     GX_CONST VOID *target;
93     GX_CONST GX_ANIMATION_INFO  *animation;
94 } GX_STUDIO_ACTION;
95 
96 typedef struct GX_STUDIO_EVENT_ENTRY_STRUCT
97 {
98     ULONG event_type;
99     USHORT event_sender;
100     GX_CONST GX_STUDIO_ACTION *action_list;
101 } GX_STUDIO_EVENT_ENTRY;
102 
103 typedef struct GX_STUDIO_EVENT_PROCESS_STRUCT
104 {
105     GX_CONST GX_STUDIO_EVENT_ENTRY *event_table;
106     UINT (*chain_event_handler)(GX_WIDGET *, GX_EVENT *);
107 } GX_STUDIO_EVENT_PROCESS;
108 
109 /* Declare properties structures for each utilized widget type                 */
110 
111 typedef struct GX_STUDIO_WIDGET_STRUCT
112 {
113    GX_CHAR *widget_name;
114    USHORT  widget_type;
115    USHORT  widget_id;
116    #if defined(GX_WIDGET_USER_DATA)
117    INT   user_data;
118    #endif
119    ULONG style;
120    ULONG status;
121    ULONG control_block_size;
122    GX_RESOURCE_ID normal_fill_color_id;
123    GX_RESOURCE_ID selected_fill_color_id;
124    UINT (*create_function) (GX_CONST struct GX_STUDIO_WIDGET_STRUCT *, GX_WIDGET *, GX_WIDGET *);
125    void (*draw_function) (GX_WIDGET *);
126    UINT (*event_function) (GX_WIDGET *, GX_EVENT *);
127    GX_RECTANGLE size;
128    GX_CONST struct GX_STUDIO_WIDGET_STRUCT *next_widget;
129    GX_CONST struct GX_STUDIO_WIDGET_STRUCT *child_widget;
130    ULONG control_block_offset;
131    GX_CONST void *properties;
132 } GX_STUDIO_WIDGET;
133 
134 typedef struct
135 {
136     GX_CONST GX_STUDIO_WIDGET *widget_information;
137     GX_WIDGET        *widget;
138 } GX_STUDIO_WIDGET_ENTRY;
139 
140 typedef struct
141 {
142     GX_RESOURCE_ID string_id;
143     GX_RESOURCE_ID font_id;
144     GX_RESOURCE_ID normal_text_color_id;
145     GX_RESOURCE_ID selected_text_color_id;
146 } GX_TEXT_BUTTON_PROPERTIES;
147 
148 typedef struct
149 {
150     GX_RESOURCE_ID string_id;
151     GX_RESOURCE_ID font_id;
152     GX_RESOURCE_ID normal_text_color_id;
153     GX_RESOURCE_ID selected_text_color_id;
154 } GX_ML_TEXT_BUTTON_PROPERTIES;
155 
156 typedef struct
157 {
158     GX_RESOURCE_ID string_id;
159     GX_RESOURCE_ID font_id;
160     GX_RESOURCE_ID normal_text_color_id;
161     GX_RESOURCE_ID selected_text_color_id;
162     GX_RESOURCE_ID unchecked_pixelmap_id;
163     GX_RESOURCE_ID checked_pixelmap_id;
164     GX_RESOURCE_ID unchecked_disabled_pixelmap_id;
165     GX_RESOURCE_ID checked_disabled_pixelmap_id;
166 } GX_CHECKBOX_PROPERTIES;
167 
168 typedef struct
169 {
170     GX_RESOURCE_ID string_id;
171     GX_RESOURCE_ID font_id;
172     GX_RESOURCE_ID normal_text_color_id;
173     GX_RESOURCE_ID selected_text_color_id;
174     GX_RESOURCE_ID off_pixelmap_id;
175     GX_RESOURCE_ID on_pixelmap_id;
176     GX_RESOURCE_ID off_disabled_pixelmap_id;
177     GX_RESOURCE_ID on_disabled_pixelmap_id;
178 } GX_RADIO_BUTTON_PROPERTIES;
179 
180 typedef struct
181 {
182     GX_RESOURCE_ID pixelmap_id;
183 } GX_ICON_BUTTON_PROPERTIES;
184 
185 typedef struct
186 {
187     GX_RESOURCE_ID normal_pixelmap_id;
188     GX_RESOURCE_ID selected_pixelmap_id;
189     GX_RESOURCE_ID disabled_pixelmap_id;
190 } GX_PIXELMAP_BUTTON_PROPERTIES;
191 
192 typedef struct
193 {
194     GX_RESOURCE_ID normal_pixelmap_id;
195     GX_RESOURCE_ID selected_pixelmap_id;
196 } GX_ICON_PROPERTIES;
197 
198 typedef struct
199 {
200     int tickmark_count;
201     int minval;
202     int maxval;
203     int current_val;
204     int increment;
205     GX_VALUE min_travel;
206     GX_VALUE max_travel;
207     GX_VALUE needle_width;
208     GX_VALUE needle_height;
209     GX_VALUE needle_inset;
210     GX_VALUE needle_hotspot;
211 } GX_SLIDER_PROPERTIES;
212 
213 typedef struct
214 {
215     int min_val;
216     int max_val;
217     int current_val;
218     int increment;
219     GX_VALUE min_travel;
220     GX_VALUE max_travel;
221     GX_VALUE needle_width;
222     GX_VALUE needle_height;
223     GX_VALUE needle_inset;
224     GX_VALUE needle_hotspot;
225     GX_RESOURCE_ID lower_pixelmap;
226     GX_RESOURCE_ID upper_pixelmap;
227     GX_RESOURCE_ID needle_pixelmap;
228 } GX_PIXELMAP_SLIDER_PROPERTIES;
229 
230 typedef struct
231 {
232     GX_SPRITE_FRAME *frame_list;
233     USHORT           frame_count;
234 } GX_SPRITE_PROPERTIES;
235 
236 typedef struct
237 {
238     GX_RESOURCE_ID string_id;
239     GX_RESOURCE_ID font_id;
240     GX_RESOURCE_ID normal_text_color_id;
241     GX_RESOURCE_ID selected_text_color_id;
242 } GX_PROMPT_PROPERTIES;
243 
244 typedef struct
245 {
246     GX_RESOURCE_ID string_id;
247     GX_RESOURCE_ID font_id;
248     GX_RESOURCE_ID normal_text_color_id;
249     GX_RESOURCE_ID selected_text_color_id;
250     VOID (*format_func)(GX_NUMERIC_PROMPT *, INT);
251     INT            numeric_prompt_value;
252 } GX_NUMERIC_PROMPT_PROPERTIES;
253 
254 typedef struct
255 {
256     GX_RESOURCE_ID string_id;
257     GX_RESOURCE_ID font_id;
258     GX_RESOURCE_ID normal_text_color_id;
259     GX_RESOURCE_ID selected_text_color_id;
260     GX_RESOURCE_ID left_map_id;
261     GX_RESOURCE_ID fill_map_id;
262     GX_RESOURCE_ID right_map_id;
263     GX_RESOURCE_ID selected_left_map_id;
264     GX_RESOURCE_ID selected_fill_map_id;
265     GX_RESOURCE_ID selected_right_map_id;
266 } GX_PIXELMAP_PROMPT_PROPERTIES;
267 
268 typedef struct
269 {
270     GX_RESOURCE_ID string_id;
271     GX_RESOURCE_ID font_id;
272     GX_RESOURCE_ID normal_text_color_id;
273     GX_RESOURCE_ID selected_text_color_id;
274     GX_RESOURCE_ID left_map_id;
275     GX_RESOURCE_ID fill_map_id;
276     GX_RESOURCE_ID right_map_id;
277     GX_RESOURCE_ID selected_left_map_id;
278     GX_RESOURCE_ID selected_fill_map_id;
279     GX_RESOURCE_ID selected_right_map_id;
280     VOID (*format_func)(GX_NUMERIC_PIXELMAP_PROMPT *, INT);
281     INT            numeric_prompt_value;
282 } GX_NUMERIC_PIXELMAP_PROMPT_PROPERTIES;
283 
284 typedef struct
285 {
286     GX_RESOURCE_ID wallpaper_id;
287 } GX_WINDOW_PROPERTIES;
288 
289 typedef struct
290 {
291     GX_RESOURCE_ID wallpaper_id;
292     VOID (*callback)(GX_VERTICAL_LIST *, GX_WIDGET *, INT);
293     int total_rows;
294 } GX_VERTICAL_LIST_PROPERTIES;
295 
296 typedef struct
297 {
298     GX_RESOURCE_ID wallpaper_id;
299     VOID (*callback)(GX_HORIZONTAL_LIST *, GX_WIDGET *, INT);
300     int total_rows;
301 } GX_HORIZONTAL_LIST_PROPERTIES;
302 
303 typedef struct
304 {
305     GX_RESOURCE_ID pixelmap_id;
306     GX_RESOURCE_ID wallpaper_id;
307     VOID (*callback)(GX_VERTICAL_LIST *, GX_WIDGET *, INT);
308     int total_rows;
309     int open_height;
310 } GX_DROP_LIST_PROPERTIES;
311 
312 typedef struct
313 {
314     int                 total_rows;
315     int                 selected_row;
316     GX_VALUE            row_height;
317     GX_UBYTE            start_alpha;
318     GX_UBYTE            end_alpha;
319     GX_RESOURCE_ID      normal_font;
320     GX_RESOURCE_ID      selected_font;
321     GX_RESOURCE_ID      normal_text_color;
322     GX_RESOURCE_ID      selected_text_color;
323     GX_RESOURCE_ID      wallpaper_id;
324     GX_RESOURCE_ID      selected_background;
325     GX_CONST GX_RESOURCE_ID  *string_id_list;
326     GX_CONST GX_CHAR * (*callback)(struct GX_STRING_SCROLL_WHEEL_STRUCT *, INT);
327 } GX_STRING_SCROLL_WHEEL_PROPERTIES;
328 
329 typedef struct
330 {
331     int                 total_rows;
332     int                 selected_row;
333     GX_VALUE            row_height;
334     GX_UBYTE            start_alpha;
335     GX_UBYTE            end_alpha;
336     GX_RESOURCE_ID      normal_font;
337     GX_RESOURCE_ID      selected_font;
338     GX_RESOURCE_ID      normal_text_color;
339     GX_RESOURCE_ID      selected_text_color;
340     GX_RESOURCE_ID      wallpaper_id;
341     GX_RESOURCE_ID      selected_background;
342     GX_CONST GX_CHAR * (*callback)(struct GX_NUMERIC_SCROLL_WHEEL_STRUCT *, INT);
343     int                 start_val;
344     int                 end_val;
345 } GX_NUMERIC_SCROLL_WHEEL_PROPERTIES;
346 
347 typedef struct
348 {
349     GX_RESOURCE_ID string_id;
350     GX_RESOURCE_ID font_id;
351     GX_RESOURCE_ID normal_text_color_id;
352     GX_RESOURCE_ID selected_text_color_id;
353     GX_CHAR *buffer;
354     UINT buffer_size;
355 } GX_SINGLE_LINE_TEXT_INPUT_PROPERTIES;
356 
357 typedef struct
358 {
359     GX_RESOURCE_ID string_id;
360     GX_RESOURCE_ID font_id;
361     GX_RESOURCE_ID normal_text_color_id;
362     GX_RESOURCE_ID selected_text_color_id;
363     GX_BYTE        whitespace;
364     GX_BYTE        line_space;
365 } GX_ML_TEXT_VIEW_PROPERTIES;
366 
367 typedef struct
368 {
369     GX_RESOURCE_ID string_id;
370     GX_RESOURCE_ID font_id;
371     GX_RESOURCE_ID normal_text_color_id;
372     GX_RESOURCE_ID selected_text_color_id;
373     GX_BYTE  whitespace;
374     GX_BYTE  line_space;
375     GX_CHAR *buffer;
376     UINT buffer_size;
377 } GX_MULTI_LINE_TEXT_INPUT_PROPERTIES;
378 
379 typedef struct
380 {
381     GX_VALUE start_angle;
382     GX_VALUE animation_steps;
383     GX_VALUE animation_delay;
384     GX_VALUE needle_xpos;
385     GX_VALUE needle_ypos;
386     GX_VALUE needle_xcor;
387     GX_VALUE needle_ycor;
388     GX_RESOURCE_ID normal_pixelmap_id;
389     GX_RESOURCE_ID selected_pixelmap_id;
390     GX_RESOURCE_ID needle_pixelmap_id;
391 } GX_CIRCULAR_GAUGE_PROPERTIES;
392 
393 typedef struct
394 {
395     GX_RESOURCE_ID string_id;
396     GX_RESOURCE_ID font_id;
397     GX_RESOURCE_ID normal_text_color_id;
398     GX_RESOURCE_ID selected_text_color_id;
399     GX_RESOURCE_ID left_map_id;
400     GX_RESOURCE_ID fill_map_id;
401     GX_RESOURCE_ID right_map_id;
402     GX_RESOURCE_ID selected_left_map_id;
403     GX_RESOURCE_ID selected_fill_map_id;
404     GX_RESOURCE_ID selected_right_map_id;
405     GX_VALUE       text_x_offset;
406     GX_VALUE       text_y_offset;
407     GX_VALUE       list_total_count;
408 } GX_MENU_PROPERTIES;
409 
410 typedef struct
411 {
412     GX_RESOURCE_ID expand_map_id;
413     GX_RESOURCE_ID collapse_map_id;
414     GX_RESOURCE_ID root_line_color_id;
415     GX_VALUE       indentation;
416 } GX_TREE_VIEW_PROPERTIES;
417 
418 
419 /* Declare top-level control blocks                                            */
420 
421 typedef struct ROTATE_SCREEN_CONTROL_BLOCK_STRUCT
422 {
423     GX_WINDOW_MEMBERS_DECLARE
424     GX_TEXT_BUTTON rotate_screen_next_button_8;
425     GX_CHECKBOX rotate_screen_checkbox_1;
426     GX_PROMPT rotate_screen_prompt_11;
427     GX_SLIDER rotate_screen_slider_3;
428     GX_PROMPT rotate_screen_prompt_12;
429     GX_WINDOW rotate_screen_pixelmap_window;
430     GX_RADIO_BUTTON rotate_screen_radio_button;
431     GX_RADIO_BUTTON rotate_screen_radio_button_1;
432     GX_RADIO_BUTTON rotate_screen_radio_button_2;
433 } ROTATE_SCREEN_CONTROL_BLOCK;
434 
435 typedef struct MENU_SCREEN_CONTROL_BLOCK_STRUCT
436 {
437     GX_WINDOW_MEMBERS_DECLARE
438     GX_TEXT_BUTTON menu_screen_next_button_7;
439     GX_PROMPT menu_screen_title_5;
440     GX_PROMPT menu_screen_title;
441     GX_ACCORDION_MENU menu_screen_one_level_accordion;
442     GX_MENU menu_screen_ola_menu_1;
443     GX_PROMPT menu_screen_prompt_25;
444     GX_NUMERIC_PROMPT menu_screen_prompt_26;
445     GX_MENU menu_screen_ola_menu_2;
446     GX_MULTI_LINE_TEXT_VIEW menu_screen_text_view_5;
447     GX_TEXT_BUTTON menu_screen_ola_menu_3;
448     GX_MENU menu_screen_ola_menu_4;
449     GX_MENU menu_screen_item;
450     GX_MENU menu_screen_item_1;
451     GX_ACCORDION_MENU menu_screen_one_level_accordion_2;
452     GX_MENU menu_screen_ola_2_menu_1;
453     GX_PROMPT menu_screen_prompt_7;
454     GX_ACCORDION_MENU menu_screen_ola_2_menu_2;
455     GX_MENU menu_screen_ola_2_menu_2_1;
456     GX_PIXELMAP_PROMPT menu_screen_prompt_9;
457     GX_MENU menu_screen_ola_2_menu_2_2;
458     GX_NUMERIC_PIXELMAP_PROMPT menu_screen_numeric_pixelmap_prompt_2;
459     GX_MENU menu_screen_ola_2_menu_3;
460     GX_PROMPT menu_screen_prompt_10_1;
461     GX_MULTI_LINE_TEXT_VIEW menu_screen_text_view;
462     GX_ACCORDION_MENU menu_screen_multi_level_accordion;
463     GX_MENU menu_screen_mla_menu_1;
464     GX_ACCORDION_MENU menu_screen_mla_menu_1_accordion;
465     GX_MENU menu_screen_mla_menu_1_1;
466     GX_MULTI_LINE_TEXT_VIEW menu_screen_text_view_3;
467     GX_MENU menu_screen_mla_menu_1_2;
468     GX_PROMPT menu_screen_prompt_15_1;
469     GX_MENU menu_screen_mla_menu_2;
470     GX_ACCORDION_MENU menu_screen_mla_menu_2_accordion;
471     GX_MENU menu_screen_mla_menu_2_1;
472     GX_ACCORDION_MENU menu_screen_mla_menu_2_1_accordion;
473     GX_MENU menu_screen_mla_menu_2_1_1;
474     GX_PROMPT menu_screen_prompt_11_1;
475     GX_MENU menu_screen_mla_menu_2_1_2;
476     GX_PROMPT menu_screen_prompt_12_1;
477     GX_MENU menu_screen_mla_menu_2_2;
478     GX_ACCORDION_MENU menu_screen_mla_menu_2_2_accordion;
479     GX_MENU menu_screen_mla_menu_2_2_1;
480     GX_PROMPT menu_screen_prompt_13_1;
481     GX_MENU menu_screen_mla_menu_2_2_2;
482     GX_PROMPT menu_screen_prompt_14_1;
483     GX_MENU menu_screen_mla_menu_3;
484     GX_PROMPT menu_screen_mla_menu_3_item_1;
485     GX_PROMPT menu_screen_mla_menu_3_item_2;
486     GX_ICON menu_screen_mla_menu_3_icon;
487     GX_PROMPT menu_screen_title_2;
488     GX_TREE_VIEW menu_screen_tree_view;
489     GX_MENU menu_screen_tree_menu_1;
490     GX_PROMPT menu_screen_tree_menu_1_1;
491     GX_PROMPT menu_screen_tree_menu_1_2;
492     GX_ICON menu_screen_icon_3;
493     GX_MENU menu_screen_tree_menu_2;
494     GX_MENU menu_screen_tree_menu_2_1;
495     GX_PROMPT menu_screen_tree_menu_2_1_1;
496     GX_PROMPT menu_screen_tree_menu_2_1_2;
497     GX_ICON menu_screen_icon_6;
498     GX_MENU menu_screen_tree_menu_2_2;
499     GX_MENU menu_screen_tree_menu_2_2_1;
500     GX_PROMPT menu_screen_tree_menu_2_2_1_1;
501     GX_PROMPT menu_screen_tree_menu_2_2_1_2;
502     GX_ICON menu_screen_icon_8;
503     GX_ICON menu_screen_icon_7;
504     GX_ICON menu_screen_icon_4;
505     GX_MENU menu_screen_tree_menu_3;
506     GX_PROMPT menu_screen_tree_menu_3_1;
507     GX_ICON menu_screen_icon_5;
508     GX_SCROLLBAR menu_screen_tree_hscroll;
509     GX_SCROLLBAR menu_screen_tree_vscroll;
510     GX_PROMPT menu_screen_prompt_8;
511     GX_MENU menu_screen_menu;
512     GX_PROMPT menu_screen_prompt_10;
513     GX_ICON menu_screen_icon_9;
514     GX_PROMPT menu_screen_title_3;
515 } MENU_SCREEN_CONTROL_BLOCK;
516 
517 typedef struct SCROLL_WHEEL_SCREEN_CONTROL_BLOCK_STRUCT
518 {
519     GX_WINDOW_MEMBERS_DECLARE
520 } SCROLL_WHEEL_SCREEN_CONTROL_BLOCK;
521 
522 typedef struct SPRITE_SCREEN_CONTROL_BLOCK_STRUCT
523 {
524     GX_WINDOW_MEMBERS_DECLARE
525     GX_WINDOW sprite_screen_apple_window;
526     GX_SLIDER sprite_screen_slider_2;
527     GX_TEXT_BUTTON sprite_screen_next_button_5;
528     GX_SPRITE sprite_screen_sprite_1;
529 } SPRITE_SCREEN_CONTROL_BLOCK;
530 
531 typedef struct GAUGE_SCREEN_CONTROL_BLOCK_STRUCT
532 {
533     GX_WINDOW_MEMBERS_DECLARE
534     GX_PROMPT gauge_screen_prompt_6;
535     GX_TEXT_BUTTON gauge_screen_next_button_4;
536     GX_CIRCULAR_GAUGE gauge_screen_gauge_1;
537 } GAUGE_SCREEN_CONTROL_BLOCK;
538 
539 typedef struct POPUP_MODAL_CONTROL_BLOCK_STRUCT
540 {
541     GX_WINDOW_MEMBERS_DECLARE
542     GX_TEXT_BUTTON popup_modal_OK_button;
543     GX_TEXT_BUTTON popup_modal_cancel_button;
544     GX_MULTI_LINE_TEXT_VIEW popup_modal_text_view_2;
545     GX_WINDOW popup_modal_window_1;
546     GX_PROMPT popup_modal_prompt_5;
547 } POPUP_MODAL_CONTROL_BLOCK;
548 
549 typedef struct INDICATOR_SCREEN_CONTROL_BLOCK_STRUCT
550 {
551     GX_WINDOW_MEMBERS_DECLARE
552     GX_SLIDER indicator_screen_slider;
553     GX_SLIDER indicator_screen_slider_1;
554     GX_PIXELMAP_SLIDER indicator_screen_pixelmap_slider;
555     GX_PIXELMAP_SLIDER indicator_screen_pixelmap_slider_1;
556     GX_ICON indicator_screen_icon_1;
557     GX_ICON indicator_screen_icon_2;
558     GX_PROMPT indicator_screen_slider_title;
559     GX_TEXT_BUTTON indicator_screen_next_button_3;
560     GX_PROGRESS_BAR indicator_screen_progress_bar_1;
561     GX_PIXELMAP_SLIDER indicator_screen_pixelmap_slider_2;
562     GX_RADIAL_PROGRESS_BAR indicator_screen_radial_progress_bar;
563 } INDICATOR_SCREEN_CONTROL_BLOCK;
564 
565 typedef struct TEXT_SCREEN_CONTROL_BLOCK_STRUCT
566 {
567     GX_WINDOW_MEMBERS_DECLARE
568     GX_PROMPT text_screen_prompt_1;
569     GX_PROMPT text_screen_prompt_2;
570     GX_PROMPT text_screen_prompt_3;
571     GX_PIXELMAP_PROMPT text_screen_prompt_4;
572     GX_SINGLE_LINE_TEXT_INPUT text_screen_text_input_1;
573     GX_MULTI_LINE_TEXT_VIEW text_screen_text_view_1;
574     GX_MULTI_LINE_TEXT_INPUT text_screen_text_input_2;
575     GX_TEXT_BUTTON text_screen_next_button_2;
576     GX_NUMERIC_PROMPT text_screen_numeric_prompt;
577     GX_NUMERIC_PIXELMAP_PROMPT text_screen_numeric_pixelmap_prompt;
578 } TEXT_SCREEN_CONTROL_BLOCK;
579 
580 typedef struct WINDOW_SCREEN_CONTROL_BLOCK_STRUCT
581 {
582     GX_WINDOW_MEMBERS_DECLARE
583     GX_WINDOW window_screen_window_5;
584     GX_WINDOW window_screen_window_6;
585     GX_WINDOW window_screen_window_8;
586     GX_WINDOW window_screen_scroll_frame_1;
587     GX_WINDOW window_screen_window_4;
588     GX_SCROLLBAR window_screen_hscroll_1;
589     GX_SCROLLBAR window_screen_vertical_scroll_1;
590     GX_VERTICAL_LIST window_screen_vertical_list;
591     GX_TEXT_BUTTON window_screen_button_1;
592     GX_TEXT_BUTTON window_screen_button_2;
593     GX_TEXT_BUTTON window_screen_button_3;
594     GX_TEXT_BUTTON window_screen_button_4;
595     GX_PROMPT window_screen_nested_label_1;
596     GX_PROMPT window_screen_frame_label_1;
597     GX_PROMPT window_screen_vlist_label_1;
598     GX_HORIZONTAL_LIST window_screen_horizontal_list_1;
599     GX_ICON_BUTTON window_screen_icon_button_1;
600     GX_ICON_BUTTON window_screen_icon_button_2;
601     GX_ICON_BUTTON window_screen_icon_button_3;
602     GX_ICON_BUTTON window_screen_icon_button_4;
603     GX_ICON_BUTTON window_screen_icon_button_5;
604     GX_PROMPT window_screen_hlist_label_1;
605     GX_TEXT_BUTTON window_screen_next_button_1;
606     GX_DROP_LIST window_screen_drop_list;
607     GX_PIXELMAP_BUTTON window_screen_pixelmap_button;
608     GX_PROMPT window_screen_hlist_label;
609     GX_LINE_CHART window_screen_line_chart;
610 } WINDOW_SCREEN_CONTROL_BLOCK;
611 
612 typedef struct BUTTON_SCREEN_CONTROL_BLOCK_STRUCT
613 {
614     GX_WINDOW_MEMBERS_DECLARE
615     GX_PROMPT button_screen_title_1;
616     GX_BUTTON button_screen_base_button_1;
617     GX_TEXT_BUTTON button_screen_text_button_1;
618     GX_CHECKBOX button_screen_checkbox;
619     GX_RADIO_BUTTON button_screen_radio_button1;
620     GX_PIXELMAP_BUTTON button_screen_pixelmap_button1;
621     GX_ICON button_screen_icon;
622     GX_ICON_BUTTON button_screen_icon_button_6;
623     GX_PROMPT button_screen_button_label_1;
624     GX_PROMPT button_screen_radio_label_1;
625     GX_PROMPT button_screen_pixbutton_label_1;
626     GX_PROMPT button_screen_texbutton_label_1;
627     GX_PROMPT button_screen_checkbox_label_1;
628     GX_PROMPT button_screen_iconbutton_label_1;
629     GX_PROMPT button_screen_icon_label_1;
630     GX_TEXT_BUTTON button_screen_next_button;
631     GX_MULTI_LINE_TEXT_BUTTON button_screen_multi_line_button_1;
632     GX_PROMPT button_screen_texbutton_label_2;
633     GX_NUMERIC_PROMPT button_screen_count_prompt;
634 } BUTTON_SCREEN_CONTROL_BLOCK;
635 
636 
637 /* extern statically defined control blocks                                    */
638 
639 #ifndef GUIX_STUDIO_GENERATED_FILE
640 extern ROTATE_SCREEN_CONTROL_BLOCK rotate_screen;
641 extern MENU_SCREEN_CONTROL_BLOCK menu_screen;
642 extern SPRITE_SCREEN_CONTROL_BLOCK sprite_screen;
643 extern GAUGE_SCREEN_CONTROL_BLOCK gauge_screen;
644 extern POPUP_MODAL_CONTROL_BLOCK popup_modal;
645 extern INDICATOR_SCREEN_CONTROL_BLOCK indicator_screen;
646 extern TEXT_SCREEN_CONTROL_BLOCK text_screen;
647 extern WINDOW_SCREEN_CONTROL_BLOCK window_screen;
648 extern BUTTON_SCREEN_CONTROL_BLOCK button_screen;
649 #endif
650 
651 /* Declare event process functions, draw functions, and callback functions     */
652 
653 UINT rotate_event_handler(GX_WINDOW *widget, GX_EVENT *event_ptr);
654 VOID pixelmap_draw(GX_WINDOW *widget);
655 UINT scroll_wheel_screen_event_handler(GX_WINDOW *widget, GX_EVENT *event_ptr);
656 GX_CONST GX_CHAR *day_wheel_value_format(GX_NUMERIC_SCROLL_WHEEL *wheel, INT row);
657 UINT sprite_event_handler(GX_WINDOW *widget, GX_EVENT *event_ptr);
658 VOID apple_window_draw(GX_WINDOW *widget);
659 UINT gauge_event_handle(GX_WINDOW *widget, GX_EVENT *event_ptr);
660 VOID gauge_prompt_draw(GX_PROMPT *widget);
661 UINT text_screen_event_handler(GX_WINDOW *widget, GX_EVENT *event_ptr);
662 VOID format_func(GX_NUMERIC_PROMPT *, INT);
663 VOID numeric_pixelmap_format_func(GX_NUMERIC_PIXELMAP_PROMPT *, INT);
664 UINT window_screen_event_handler(GX_WINDOW *widget, GX_EVENT *event_ptr);
665 VOID drop_list_row_create(GX_VERTICAL_LIST *, GX_WIDGET *, INT);
666 UINT buttons_handler(GX_WINDOW *widget, GX_EVENT *event_ptr);
667 
668 /* Declare the GX_STUDIO_DISPLAY_INFO structure                                */
669 
670 
671 typedef struct GX_STUDIO_DISPLAY_INFO_STRUCT
672 {
673     GX_CONST GX_CHAR *name;
674     GX_CONST GX_CHAR *canvas_name;
675     GX_CONST GX_THEME **theme_table;
676     GX_CONST GX_CHAR ***language_table;
677     USHORT   theme_table_size;
678     USHORT   language_table_size;
679     UINT     string_table_size;
680     UINT     x_resolution;
681     UINT     y_resolution;
682     GX_DISPLAY *display;
683     GX_CANVAS  *canvas;
684     GX_WINDOW_ROOT *root_window;
685     GX_COLOR   *canvas_memory;
686     ULONG      canvas_memory_size;
687 } GX_STUDIO_DISPLAY_INFO;
688 
689 
690 /* Declare Studio-generated functions for creating top-level widgets           */
691 
692 UINT gx_studio_button_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent);
693 UINT gx_studio_text_button_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent);
694 UINT gx_studio_multi_line_text_button_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent);
695 UINT gx_studio_checkbox_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent);
696 UINT gx_studio_radio_button_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent);
697 UINT gx_studio_icon_button_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent);
698 UINT gx_studio_pixelmap_button_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent);
699 UINT gx_studio_icon_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent);
700 UINT gx_studio_slider_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent);
701 UINT gx_studio_pixelmap_slider_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent);
702 UINT gx_studio_progress_bar_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent);
703 UINT gx_studio_radial_progress_bar_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent);
704 UINT gx_studio_sprite_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent);
705 UINT gx_studio_prompt_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent);
706 UINT gx_studio_numeric_prompt_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent);
707 UINT gx_studio_pixelmap_prompt_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent);
708 UINT gx_studio_numeric_pixelmap_prompt_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent);
709 UINT gx_studio_window_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent);
710 UINT gx_studio_vertical_list_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent);
711 UINT gx_studio_horizontal_list_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent);
712 UINT gx_studio_drop_list_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent);
713 UINT gx_studio_string_scroll_wheel_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent);
714 UINT gx_studio_numeric_scroll_wheel_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent);
715 UINT gx_studio_text_input_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent);
716 UINT gx_studio_multi_line_text_view_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent);
717 UINT gx_studio_multi_line_text_input_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent);
718 UINT gx_studio_horizontal_scrollbar_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent);
719 UINT gx_studio_vertical_scrollbar_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent);
720 UINT gx_studio_circular_gauge_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent);
721 UINT gx_studio_line_chart_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent);
722 UINT gx_studio_menu_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent);
723 UINT gx_studio_accordion_menu_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent);
724 UINT gx_studio_tree_view_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent);
725 GX_WIDGET *gx_studio_widget_create(GX_BYTE *storage, GX_CONST GX_STUDIO_WIDGET *definition, GX_WIDGET *parent);
726 UINT gx_studio_named_widget_create(char *name, GX_WIDGET *parent, GX_WIDGET **new_widget);
727 UINT gx_studio_display_configure(USHORT display, UINT (*driver)(GX_DISPLAY *), USHORT language, USHORT theme, GX_WINDOW_ROOT **return_root);
728 UINT gx_studio_auto_event_handler(GX_WIDGET *widget, GX_EVENT *event_ptr, GX_CONST GX_STUDIO_EVENT_PROCESS *record);
729 
730 /* Determine if a C++ compiler is being used.  If so, complete the standard
731   C conditional started above.                                                 */
732 #ifdef __cplusplus
733 }
734 #endif
735 
736 #endif                                       /* sentry                         */
737