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_565BGR_SPECIFICATIONS_H_
14 #define _ALL_WIDGETS_565BGR_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_RESIZE_SCREEN 1
26 #define ID_SLIDER_WIDTH 2
27 #define ID_WIDTH_DISPLAY 3
28 #define ID_RADIO_FOOT 4
29 #define ID_RADIO_FISH 5
30 #define ID_RADIO_FOOT_ALPHA 6
31 #define ID_SLIDER_HEIGHT 7
32 #define ID_HEIGHT_DISPLAY 8
33 #define IDB_NEXT 9
34 #define ID_GAUGE_SCREEN 10
35 #define ID_GAUGE 11
36 #define ID_LINES_SCREEN 12
37 #define ID_LINE_WIDTH 13
38 #define ID_LINE_ANGLE 14
39 #define ID_ANGLE_DISPLAY 15
40 #define ID_ANTI_ALIASED 16
41 #define ID_ROUNDED 17
42 #define ID_LINE_WINDOW 18
43 #define ID_BRUSH_ALPHA_SLIDER 19
44 #define ID_BRUSH_ALPHA_PROMPT 20
45 #define ID_COLOR_BLACK 21
46 #define ID_COLOR_ORANGE 22
47 #define ID_COLOR_WHITE 23
48 #define ID_MENU_SCREEN 24
49 #define ID_SCROLL_WHEEL_SCREEN 25
50 #define ID_DAY_WHEEL 26
51 #define ID_MONTH_WHEEL 27
52 #define ID_YEAR_WHEEL 28
53 #define ID_SHAPES_SCREEN 29
54 #define ID_CIRCLE 30
55 #define ID_ELLIPSE 31
56 #define ID_ARC 32
57 #define ID_PIE 33
58 #define ID_RECTANGLE 34
59 #define ID_POLYGON 35
60 #define ID_ROUND_END 36
61 #define ID_SOLID_FILL 37
62 #define ID_PIXELMAP_FILL 38
63 #define ID_RADIUS_SLIDER 39
64 #define ID_RADIUS_PROMPT 40
65 #define ID_BRUSH_WIDTH_PROMPT 41
66 #define ID_BRUSH_WIDTH 42
67 #define ID_COMPRESS 43
68 #define ID_ALPHA 44
69 #define ID_ROTATE_SCREEN 45
70 #define ID_DIRECT_ROTATE 46
71 #define ID_SLIDER_ANGLE 47
72 #define ID_RADIO_APPLE 48
73 #define ID_INDICATOR_SCREEN 49
74 #define ID_SLIDER_HORIZONTAL 50
75 #define ID_SLIDER_1 51
76 #define ID_PIXELMAP_SLIDER_H 52
77 #define ID_PIXELMAP_SLIDER1 53
78 #define ID_TEXT_SCREEN 54
79 #define ID_PROMPT_1 55
80 #define ID_PROMPT_2 56
81 #define ID_PROMPT_3 57
82 #define ID_PROMPT_4 58
83 #define ID_WINDOW_SCREEN 59
84 #define ID_HORIZONTAL_SCROLLBAR 60
85 #define ID_VERTICAL_SCROLLBAR 61
86 #define ID_VERTICAL_LIST 62
87 #define ID_DROP_LIST 63
88 #define ID_BUTTON_SCREEN 64
89 #define ID_TEXT_BUTTON 65
90 #define ID_CHECKBOX 66
91 #define ID_RADIO_BUTTON 67
92 #define ID_PIXELMAP_BUTTON 68
93 #define ID_ICON 69
94 #define ID_ICON_BUTTON 70
95 
96 
97 /* Define animation ids                                                        */
98 
99 #define GX_NEXT_ANIMATION_ID 1
100 
101 
102 /* Define user event ids                                                       */
103 
104 #define GX_NEXT_USER_EVENT_ID GX_FIRST_USER_EVENT
105 
106 #define GX_ACTION_FLAG_DYNAMIC_TARGET 0x01
107 #define GX_ACTION_FLAG_DYNAMIC_PARENT 0x02
108 #define GX_ACTION_FLAG_POP_TARGET     0x04
109 #define GX_ACTION_FLAG_POP_PARENT     0x08
110 
111 typedef struct GX_STUDIO_ACTION_STRUCT
112 {
113     GX_UBYTE opcode;
114     GX_UBYTE flags;
115     GX_CONST VOID *parent;
116     GX_CONST VOID *target;
117     GX_CONST GX_ANIMATION_INFO  *animation;
118 } GX_STUDIO_ACTION;
119 
120 typedef struct GX_STUDIO_EVENT_ENTRY_STRUCT
121 {
122     ULONG event_type;
123     USHORT event_sender;
124     GX_CONST GX_STUDIO_ACTION *action_list;
125 } GX_STUDIO_EVENT_ENTRY;
126 
127 typedef struct GX_STUDIO_EVENT_PROCESS_STRUCT
128 {
129     GX_CONST GX_STUDIO_EVENT_ENTRY *event_table;
130     UINT (*chain_event_handler)(GX_WIDGET *, GX_EVENT *);
131 } GX_STUDIO_EVENT_PROCESS;
132 
133 /* Declare properties structures for each utilized widget type                 */
134 
135 typedef struct GX_STUDIO_WIDGET_STRUCT
136 {
137    GX_CHAR *widget_name;
138    USHORT  widget_type;
139    USHORT  widget_id;
140    #if defined(GX_WIDGET_USER_DATA)
141    INT   user_data;
142    #endif
143    ULONG style;
144    ULONG status;
145    ULONG control_block_size;
146    GX_RESOURCE_ID normal_fill_color_id;
147    GX_RESOURCE_ID selected_fill_color_id;
148    GX_RESOURCE_ID disabled_fill_color_id;
149    UINT (*create_function) (GX_CONST struct GX_STUDIO_WIDGET_STRUCT *, GX_WIDGET *, GX_WIDGET *);
150    void (*draw_function) (GX_WIDGET *);
151    UINT (*event_function) (GX_WIDGET *, GX_EVENT *);
152    GX_RECTANGLE size;
153    GX_CONST struct GX_STUDIO_WIDGET_STRUCT *next_widget;
154    GX_CONST struct GX_STUDIO_WIDGET_STRUCT *child_widget;
155    ULONG control_block_offset;
156    GX_CONST void *properties;
157 } GX_STUDIO_WIDGET;
158 
159 typedef struct
160 {
161     GX_CONST GX_STUDIO_WIDGET *widget_information;
162     GX_WIDGET        *widget;
163 } GX_STUDIO_WIDGET_ENTRY;
164 
165 typedef struct
166 {
167     GX_RESOURCE_ID string_id;
168     GX_RESOURCE_ID font_id;
169     GX_RESOURCE_ID normal_text_color_id;
170     GX_RESOURCE_ID selected_text_color_id;
171     GX_RESOURCE_ID disabled_text_color_id;
172 } GX_TEXT_BUTTON_PROPERTIES;
173 
174 typedef struct
175 {
176     GX_RESOURCE_ID string_id;
177     GX_RESOURCE_ID font_id;
178     GX_RESOURCE_ID normal_text_color_id;
179     GX_RESOURCE_ID selected_text_color_id;
180     GX_RESOURCE_ID disabled_text_color_id;
181     GX_RESOURCE_ID unchecked_pixelmap_id;
182     GX_RESOURCE_ID checked_pixelmap_id;
183     GX_RESOURCE_ID unchecked_disabled_pixelmap_id;
184     GX_RESOURCE_ID checked_disabled_pixelmap_id;
185 } GX_CHECKBOX_PROPERTIES;
186 
187 typedef struct
188 {
189     GX_RESOURCE_ID string_id;
190     GX_RESOURCE_ID font_id;
191     GX_RESOURCE_ID normal_text_color_id;
192     GX_RESOURCE_ID selected_text_color_id;
193     GX_RESOURCE_ID disabled_text_color_id;
194     GX_RESOURCE_ID off_pixelmap_id;
195     GX_RESOURCE_ID on_pixelmap_id;
196     GX_RESOURCE_ID off_disabled_pixelmap_id;
197     GX_RESOURCE_ID on_disabled_pixelmap_id;
198 } GX_RADIO_BUTTON_PROPERTIES;
199 
200 typedef struct
201 {
202     GX_RESOURCE_ID pixelmap_id;
203 } GX_ICON_BUTTON_PROPERTIES;
204 
205 typedef struct
206 {
207     GX_RESOURCE_ID normal_pixelmap_id;
208     GX_RESOURCE_ID selected_pixelmap_id;
209     GX_RESOURCE_ID disabled_pixelmap_id;
210 } GX_PIXELMAP_BUTTON_PROPERTIES;
211 
212 typedef struct
213 {
214     GX_RESOURCE_ID normal_pixelmap_id;
215     GX_RESOURCE_ID selected_pixelmap_id;
216 } GX_ICON_PROPERTIES;
217 
218 typedef struct
219 {
220     int tickmark_count;
221     int minval;
222     int maxval;
223     int current_val;
224     int increment;
225     GX_VALUE min_travel;
226     GX_VALUE max_travel;
227     GX_VALUE needle_width;
228     GX_VALUE needle_height;
229     GX_VALUE needle_inset;
230     GX_VALUE needle_hotspot;
231 } GX_SLIDER_PROPERTIES;
232 
233 typedef struct
234 {
235     int min_val;
236     int max_val;
237     int current_val;
238     int increment;
239     GX_VALUE min_travel;
240     GX_VALUE max_travel;
241     GX_VALUE needle_width;
242     GX_VALUE needle_height;
243     GX_VALUE needle_inset;
244     GX_VALUE needle_hotspot;
245     GX_RESOURCE_ID lower_pixelmap;
246     GX_RESOURCE_ID upper_pixelmap;
247     GX_RESOURCE_ID needle_pixelmap;
248 } GX_PIXELMAP_SLIDER_PROPERTIES;
249 
250 typedef struct
251 {
252     GX_RESOURCE_ID string_id;
253     GX_RESOURCE_ID font_id;
254     GX_RESOURCE_ID normal_text_color_id;
255     GX_RESOURCE_ID selected_text_color_id;
256     GX_RESOURCE_ID disabled_text_color_id;
257 } GX_PROMPT_PROPERTIES;
258 
259 typedef struct
260 {
261     GX_RESOURCE_ID string_id;
262     GX_RESOURCE_ID font_id;
263     GX_RESOURCE_ID normal_text_color_id;
264     GX_RESOURCE_ID selected_text_color_id;
265     GX_RESOURCE_ID disabled_text_color_id;
266     VOID (*format_func)(GX_NUMERIC_PROMPT *, INT);
267     INT            numeric_prompt_value;
268 } GX_NUMERIC_PROMPT_PROPERTIES;
269 
270 typedef struct
271 {
272     GX_RESOURCE_ID string_id;
273     GX_RESOURCE_ID font_id;
274     GX_RESOURCE_ID normal_text_color_id;
275     GX_RESOURCE_ID selected_text_color_id;
276     GX_RESOURCE_ID disabled_text_color_id;
277     GX_RESOURCE_ID left_map_id;
278     GX_RESOURCE_ID fill_map_id;
279     GX_RESOURCE_ID right_map_id;
280     GX_RESOURCE_ID selected_left_map_id;
281     GX_RESOURCE_ID selected_fill_map_id;
282     GX_RESOURCE_ID selected_right_map_id;
283 } GX_PIXELMAP_PROMPT_PROPERTIES;
284 
285 typedef struct
286 {
287     GX_RESOURCE_ID string_id;
288     GX_RESOURCE_ID font_id;
289     GX_RESOURCE_ID normal_text_color_id;
290     GX_RESOURCE_ID selected_text_color_id;
291     GX_RESOURCE_ID disabled_text_color_id;
292     GX_RESOURCE_ID left_map_id;
293     GX_RESOURCE_ID fill_map_id;
294     GX_RESOURCE_ID right_map_id;
295     GX_RESOURCE_ID selected_left_map_id;
296     GX_RESOURCE_ID selected_fill_map_id;
297     GX_RESOURCE_ID selected_right_map_id;
298     VOID (*format_func)(GX_NUMERIC_PIXELMAP_PROMPT *, INT);
299     INT            numeric_prompt_value;
300 } GX_NUMERIC_PIXELMAP_PROMPT_PROPERTIES;
301 
302 typedef struct
303 {
304     GX_RESOURCE_ID wallpaper_id;
305 } GX_WINDOW_PROPERTIES;
306 
307 typedef struct
308 {
309     GX_RESOURCE_ID wallpaper_id;
310     VOID (*callback)(GX_VERTICAL_LIST *, GX_WIDGET *, INT);
311     int total_rows;
312 } GX_VERTICAL_LIST_PROPERTIES;
313 
314 typedef struct
315 {
316     GX_RESOURCE_ID wallpaper_id;
317     VOID (*callback)(GX_HORIZONTAL_LIST *, GX_WIDGET *, INT);
318     int total_rows;
319 } GX_HORIZONTAL_LIST_PROPERTIES;
320 
321 typedef struct
322 {
323     GX_RESOURCE_ID pixelmap_id;
324     GX_RESOURCE_ID wallpaper_id;
325     VOID (*callback)(GX_VERTICAL_LIST *, GX_WIDGET *, INT);
326     int total_rows;
327     int open_height;
328 } GX_DROP_LIST_PROPERTIES;
329 
330 typedef struct
331 {
332     int                 total_rows;
333     int                 selected_row;
334     GX_VALUE            row_height;
335     GX_UBYTE            start_alpha;
336     GX_UBYTE            end_alpha;
337     GX_RESOURCE_ID      normal_font;
338     GX_RESOURCE_ID      selected_font;
339     GX_RESOURCE_ID      normal_text_color;
340     GX_RESOURCE_ID      selected_text_color;
341     GX_RESOURCE_ID      disabled_text_color;
342     GX_RESOURCE_ID      wallpaper_id;
343     GX_RESOURCE_ID      selected_background;
344     GX_CONST GX_RESOURCE_ID  *string_id_list;
345     UINT (*callback)(struct GX_STRING_SCROLL_WHEEL_STRUCT *, INT, GX_STRING *);
346 } GX_STRING_SCROLL_WHEEL_PROPERTIES;
347 
348 typedef struct
349 {
350     int                 total_rows;
351     int                 selected_row;
352     GX_VALUE            row_height;
353     GX_UBYTE            start_alpha;
354     GX_UBYTE            end_alpha;
355     GX_RESOURCE_ID      normal_font;
356     GX_RESOURCE_ID      selected_font;
357     GX_RESOURCE_ID      normal_text_color;
358     GX_RESOURCE_ID      selected_text_color;
359     GX_RESOURCE_ID      disabled_text_color;
360     GX_RESOURCE_ID      wallpaper_id;
361     GX_RESOURCE_ID      selected_background;
362     UINT (*callback)(struct GX_NUMERIC_SCROLL_WHEEL_STRUCT *, INT, GX_STRING *);
363     int                 start_val;
364     int                 end_val;
365 } GX_NUMERIC_SCROLL_WHEEL_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_RESOURCE_ID disabled_text_color_id;
374     GX_RESOURCE_ID readonly_fill_color_id;
375     GX_RESOURCE_ID readonly_text_color_id;
376     GX_CHAR *buffer;
377     UINT buffer_size;
378 } GX_SINGLE_LINE_TEXT_INPUT_PROPERTIES;
379 
380 typedef struct
381 {
382     GX_RESOURCE_ID string_id;
383     GX_RESOURCE_ID font_id;
384     GX_RESOURCE_ID normal_text_color_id;
385     GX_RESOURCE_ID selected_text_color_id;
386     GX_RESOURCE_ID disabled_text_color_id;
387     GX_UBYTE       whitespace;
388     GX_BYTE        line_space;
389 } GX_ML_TEXT_VIEW_PROPERTIES;
390 
391 typedef struct
392 {
393     GX_RESOURCE_ID string_id;
394     GX_RESOURCE_ID font_id;
395     GX_RESOURCE_ID normal_text_color_id;
396     GX_RESOURCE_ID selected_text_color_id;
397     GX_RESOURCE_ID disabled_text_color_id;
398     GX_RESOURCE_ID readonly_fill_color_id;
399     GX_RESOURCE_ID readonly_text_color_id;
400     GX_UBYTE whitespace;
401     GX_BYTE  line_space;
402     GX_CHAR *buffer;
403     UINT buffer_size;
404 } GX_MULTI_LINE_TEXT_INPUT_PROPERTIES;
405 
406 typedef struct
407 {
408     GX_VALUE start_angle;
409     GX_VALUE animation_steps;
410     GX_VALUE animation_delay;
411     GX_VALUE needle_xpos;
412     GX_VALUE needle_ypos;
413     GX_VALUE needle_xcor;
414     GX_VALUE needle_ycor;
415     GX_RESOURCE_ID normal_pixelmap_id;
416     GX_RESOURCE_ID selected_pixelmap_id;
417     GX_RESOURCE_ID needle_pixelmap_id;
418 } GX_CIRCULAR_GAUGE_PROPERTIES;
419 
420 typedef struct
421 {
422     GX_RESOURCE_ID string_id;
423     GX_RESOURCE_ID font_id;
424     GX_RESOURCE_ID normal_text_color_id;
425     GX_RESOURCE_ID selected_text_color_id;
426     GX_RESOURCE_ID disabled_text_color_id;
427     GX_RESOURCE_ID left_map_id;
428     GX_RESOURCE_ID fill_map_id;
429     GX_RESOURCE_ID right_map_id;
430     GX_RESOURCE_ID selected_left_map_id;
431     GX_RESOURCE_ID selected_fill_map_id;
432     GX_RESOURCE_ID selected_right_map_id;
433     GX_VALUE       text_x_offset;
434     GX_VALUE       text_y_offset;
435     GX_VALUE       list_total_count;
436 } GX_MENU_PROPERTIES;
437 
438 typedef struct
439 {
440     GX_RESOURCE_ID expand_map_id;
441     GX_RESOURCE_ID collapse_map_id;
442     GX_RESOURCE_ID root_line_color_id;
443     GX_VALUE       indentation;
444 } GX_TREE_VIEW_PROPERTIES;
445 
446 typedef struct
447 {
448     GX_RESOURCE_ID      string_id;
449     GX_RESOURCE_ID      normal_text_color_id;
450     GX_RESOURCE_ID      selected_text_color_id;
451     GX_RESOURCE_ID      disabled_text_color_id;
452     GX_UBYTE            whitespace;
453     GX_BYTE             line_space;
454     GX_RICH_TEXT_FONTS *fonts;
455 } GX_RICH_TEXT_VIEW_PROPERTIES;
456 
457 
458 /* Declare top-level control blocks                                            */
459 
460 typedef struct RESIZE_SCREEN_CONTROL_BLOCK_STRUCT
461 {
462     GX_WINDOW_MEMBERS_DECLARE
463     GX_PROMPT resize_screen_prompt_16_1;
464     GX_SLIDER resize_screen_slider_angle;
465     GX_PROMPT resize_screen_prompt_angle;
466     GX_WINDOW resize_screen_resize_window;
467     GX_RADIO_BUTTON resize_screen_radio_button_9;
468     GX_RADIO_BUTTON resize_screen_radio_button_10;
469     GX_RADIO_BUTTON resize_screen_radio_button_11;
470     GX_PROMPT resize_screen_prompt_17_3;
471     GX_PROMPT resize_screen_prompt_18;
472     GX_SLIDER resize_screen_slider_angle_1;
473     GX_PROMPT resize_screen_prompt_angle_1;
474     GX_TEXT_BUTTON resize_screen_next_button_10;
475 } RESIZE_SCREEN_CONTROL_BLOCK;
476 
477 typedef struct PIXELMAP_SCREEN_CONTROL_BLOCK_STRUCT
478 {
479     GX_WINDOW_MEMBERS_DECLARE
480     GX_ICON pixelmap_screen_icon_5;
481     GX_PROMPT pixelmap_screen_prompt_8;
482     GX_PROMPT pixelmap_screen_prompt;
483     GX_PROMPT pixelmap_screen_prompt_1;
484     GX_PROMPT pixelmap_screen_prompt_2;
485     GX_ICON pixelmap_screen_icon;
486     GX_ICON pixelmap_screen_icon_1;
487     GX_ICON pixelmap_screen_icon_2;
488     GX_TEXT_BUTTON pixelmap_screen_next_button_4;
489 } PIXELMAP_SCREEN_CONTROL_BLOCK;
490 
491 typedef struct GAUGE_SCREEN_CONTROL_BLOCK_STRUCT
492 {
493     GX_WINDOW_MEMBERS_DECLARE
494     GX_PROMPT gauge_screen_prompt_6;
495     GX_TEXT_BUTTON gauge_screen_next_button_4;
496     GX_CIRCULAR_GAUGE gauge_screen_gauge_1;
497 } GAUGE_SCREEN_CONTROL_BLOCK;
498 
499 typedef struct LINES_SCREEN_CONTROL_BLOCK_STRUCT
500 {
501     GX_WINDOW_MEMBERS_DECLARE
502     GX_PROMPT lines_screen_prompt_16;
503     GX_SLIDER lines_screen_line_width_slider;
504     GX_PROMPT lines_screen_prompt_17;
505     GX_SLIDER lines_screen_line_angle_slider;
506     GX_PROMPT lines_screen_width_display;
507     GX_PROMPT lines_screen_angle_display;
508     GX_CHECKBOX lines_screen_aa_box;
509     GX_CHECKBOX lines_screen_rounded_box;
510     GX_WINDOW lines_screen_line_window;
511     GX_PROMPT lines_screen_color_label;
512     GX_PROMPT lines_screen_prompt_18;
513     GX_SLIDER lines_screen_brush_alpha_slider_1;
514     GX_PROMPT lines_screen_brush_alpha_prompt;
515     GX_TEXT_BUTTON lines_screen_next_button_8;
516     GX_PROMPT lines_screen_title_2;
517     GX_RADIO_BUTTON lines_screen_radio_button_5;
518     GX_RADIO_BUTTON lines_screen_radio_button_10;
519     GX_RADIO_BUTTON lines_screen_radio_button_11;
520 } LINES_SCREEN_CONTROL_BLOCK;
521 
522 typedef struct MENU_SCREEN_CONTROL_BLOCK_STRUCT
523 {
524     GX_WINDOW_MEMBERS_DECLARE
525     GX_TEXT_BUTTON menu_screen_next_button_6;
526     GX_PROMPT menu_screen_title_3;
527     GX_PROMPT menu_screen_title_4;
528     GX_ACCORDION_MENU menu_screen_one_level_accordion_2;
529     GX_MENU menu_screen_ola_menu_4;
530     GX_PROMPT menu_screen_prompt_25;
531     GX_NUMERIC_PROMPT menu_screen_prompt_26;
532     GX_MENU menu_screen_ola_menu;
533     GX_MULTI_LINE_TEXT_VIEW menu_screen_text_view_3;
534     GX_TEXT_BUTTON menu_screen_ola_menu_1;
535     GX_MENU menu_screen_ola_menu_2;
536     GX_MENU menu_screen_item_1;
537     GX_MENU menu_screen_item_2;
538     GX_ACCORDION_MENU menu_screen_one_level_accordion_1;
539     GX_MENU menu_screen_ola_2_menu_3;
540     GX_PROMPT menu_screen_prompt_14_1;
541     GX_ACCORDION_MENU menu_screen_ola_2_menu;
542     GX_MENU menu_screen_ola_2_menu_1;
543     GX_PIXELMAP_PROMPT menu_screen_prompt_15_1;
544     GX_MENU menu_screen_ola_2_menu_2;
545     GX_NUMERIC_PIXELMAP_PROMPT menu_screen_numeric_pixelmap_prompt_1;
546     GX_MENU menu_screen_ola_2_menu_5;
547     GX_PROMPT menu_screen_prompt_10;
548     GX_MULTI_LINE_TEXT_VIEW menu_screen_text_view_2;
549     GX_ACCORDION_MENU menu_screen_multi_level_accordion;
550     GX_MENU menu_screen_mla_menu_3;
551     GX_ACCORDION_MENU menu_screen_mla_menu_1_accordion;
552     GX_MENU menu_screen_mla_menu;
553     GX_MULTI_LINE_TEXT_VIEW menu_screen_text_view_4;
554     GX_MENU menu_screen_mla_menu_1;
555     GX_PROMPT menu_screen_prompt_15;
556     GX_MENU menu_screen_mla_menu_6;
557     GX_ACCORDION_MENU menu_screen_mla_menu_2_accordion;
558     GX_MENU menu_screen_mla_menu_4;
559     GX_ACCORDION_MENU menu_screen_mla_menu_2_1_accordion;
560     GX_MENU menu_screen_mla_menu_2;
561     GX_PROMPT menu_screen_prompt_11;
562     GX_MENU menu_screen_mla_menu_2_1;
563     GX_PROMPT menu_screen_prompt_12_1;
564     GX_MENU menu_screen_mla_menu_2_4;
565     GX_ACCORDION_MENU menu_screen_mla_menu_2_2_accordion;
566     GX_MENU menu_screen_mla_menu_2_3;
567     GX_PROMPT menu_screen_prompt_13_1;
568     GX_MENU menu_screen_mla_menu_2_2;
569     GX_PROMPT menu_screen_prompt_14_3;
570     GX_MENU menu_screen_mla_menu_7;
571     GX_PROMPT menu_screen_mla_menu_3_item_2;
572     GX_PROMPT menu_screen_mla_menu_3_item;
573     GX_ICON menu_screen_mla_menu_3_icon;
574     GX_PROMPT menu_screen_title_5;
575     GX_TREE_VIEW menu_screen_tree_view;
576     GX_MENU menu_screen_tree_menu_6;
577     GX_PROMPT menu_screen_tree_menu;
578     GX_PROMPT menu_screen_tree_menu_1;
579     GX_ICON menu_screen_icon_10_1;
580     GX_MENU menu_screen_tree_menu_7;
581     GX_MENU menu_screen_tree_menu_4;
582     GX_PROMPT menu_screen_tree_menu_2;
583     GX_PROMPT menu_screen_tree_menu_2_1;
584     GX_ICON menu_screen_icon_11_1;
585     GX_MENU menu_screen_tree_menu_2_4;
586     GX_MENU menu_screen_tree_menu_2_3;
587     GX_PROMPT menu_screen_tree_menu_2_2;
588     GX_PROMPT menu_screen_tree_menu_2_2_1;
589     GX_ICON menu_screen_icon_9;
590     GX_ICON menu_screen_icon_6;
591     GX_ICON menu_screen_icon_8;
592     GX_MENU menu_screen_tree_menu_8;
593     GX_PROMPT menu_screen_tree_menu_5;
594     GX_ICON menu_screen_icon_12_1;
595     GX_SCROLLBAR menu_screen_tree_hscroll;
596     GX_SCROLLBAR menu_screen_tree_vscroll;
597     GX_PROMPT menu_screen_prompt_16_1;
598     GX_MENU menu_screen_menu;
599     GX_PROMPT menu_screen_prompt_10_2;
600     GX_ICON menu_screen_icon_7;
601     GX_PROMPT menu_screen_title;
602 } MENU_SCREEN_CONTROL_BLOCK;
603 
604 typedef struct SCROLL_WHEEL_SCREEN_CONTROL_BLOCK_STRUCT
605 {
606     GX_WINDOW_MEMBERS_DECLARE
607     GX_TEXT_BUTTON scroll_wheel_screen_next_button;
608     GX_PROMPT scroll_wheel_screen_title;
609     GX_NUMERIC_SCROLL_WHEEL scroll_wheel_screen_day_wheel;
610     GX_STRING_SCROLL_WHEEL scroll_wheel_screen_month_wheel;
611     GX_NUMERIC_SCROLL_WHEEL scroll_wheel_screen_year_wheel;
612 } SCROLL_WHEEL_SCREEN_CONTROL_BLOCK;
613 
614 typedef struct SHAPES_SCREEN_CONTROL_BLOCK_STRUCT
615 {
616     GX_WINDOW_MEMBERS_DECLARE
617     GX_WINDOW shapes_screen_graphics_window;
618     GX_TEXT_BUTTON shapes_screen_next_button_5;
619     GX_WINDOW shapes_screen_window_11;
620     GX_RADIO_BUTTON shapes_screen_radio_button_6;
621     GX_RADIO_BUTTON shapes_screen_radio_button_7;
622     GX_RADIO_BUTTON shapes_screen_radio_button_8;
623     GX_RADIO_BUTTON shapes_screen_radio_button_9;
624     GX_RADIO_BUTTON shapes_screen_radio_button_3;
625     GX_RADIO_BUTTON shapes_screen_radio_button_4;
626     GX_PROMPT shapes_screen_prompt_9;
627     GX_CHECKBOX shapes_screen_checkbox_anti_alised;
628     GX_CHECKBOX shapes_screen_checkbox_round_end;
629     GX_CHECKBOX shapes_screen_checkbox_fill;
630     GX_CHECKBOX shapes_screen_checkbox_pixelmap_fill;
631     GX_PROMPT shapes_screen_prompt_14;
632     GX_PROMPT shapes_screen_prompt_13;
633     GX_SLIDER shapes_screen_radius_slider_1;
634     GX_PROMPT shapes_screen_prompt_6;
635     GX_PROMPT shapes_screen_prompt_7;
636     GX_SLIDER shapes_screen_brush_width_slider;
637     GX_PROMPT shapes_screen_prompt_11_1;
638     GX_SLIDER shapes_screen_brush_alpha_slider;
639     GX_PROMPT shapes_screen_prompt_12;
640     GX_CHECKBOX shapes_screen_checkbox_1;
641     GX_CHECKBOX shapes_screen_checkbox_2;
642 } SHAPES_SCREEN_CONTROL_BLOCK;
643 
644 typedef struct ROTATE_SCREEN_CONTROL_BLOCK_STRUCT
645 {
646     GX_WINDOW_MEMBERS_DECLARE
647     GX_TEXT_BUTTON rotate_screen_next_button_4;
648     GX_CHECKBOX rotate_screen_checkbox;
649     GX_PROMPT rotate_screen_prompt;
650     GX_SLIDER rotate_screen_slider_2;
651     GX_PROMPT rotate_screen_prompt_5;
652     GX_WINDOW rotate_screen_pixelmap_window;
653     GX_RADIO_BUTTON rotate_screen_radio_button;
654     GX_RADIO_BUTTON rotate_screen_radio_button_1;
655     GX_RADIO_BUTTON rotate_screen_radio_button_2;
656 } ROTATE_SCREEN_CONTROL_BLOCK;
657 
658 typedef struct INDICATOR_SCREEN_CONTROL_BLOCK_STRUCT
659 {
660     GX_WINDOW_MEMBERS_DECLARE
661     GX_SLIDER indicator_screen_slider;
662     GX_SLIDER indicator_screen_slider_1;
663     GX_PIXELMAP_SLIDER indicator_screen_pixelmap_slider;
664     GX_PIXELMAP_SLIDER indicator_screen_pixelmap_slider_1;
665     GX_ICON indicator_screen_icon_1;
666     GX_ICON indicator_screen_icon_2;
667     GX_PROMPT indicator_screen_slider_title;
668     GX_TEXT_BUTTON indicator_screen_next_button_3;
669     GX_PROGRESS_BAR indicator_screen_progress_bar_1;
670     GX_PIXELMAP_SLIDER indicator_screen_pixelmap_slider_2;
671     GX_ICON indicator_screen_icon_3;
672     GX_ICON indicator_screen_icon_4;
673     GX_RADIAL_PROGRESS_BAR indicator_screen_radial_progress_bar_1;
674 } INDICATOR_SCREEN_CONTROL_BLOCK;
675 
676 typedef struct TEXT_SCREEN_CONTROL_BLOCK_STRUCT
677 {
678     GX_WINDOW_MEMBERS_DECLARE
679     GX_PROMPT text_screen_prompt_1;
680     GX_PROMPT text_screen_prompt_2;
681     GX_PROMPT text_screen_prompt_3;
682     GX_PIXELMAP_PROMPT text_screen_prompt_4;
683     GX_SINGLE_LINE_TEXT_INPUT text_screen_text_input_1;
684     GX_MULTI_LINE_TEXT_VIEW text_screen_text_view_1;
685     GX_MULTI_LINE_TEXT_INPUT text_screen_text_input_2;
686     GX_TEXT_BUTTON text_screen_next_button_2;
687     GX_NUMERIC_PIXELMAP_PROMPT text_screen_numeric_pixelmap_prompt_2;
688     GX_NUMERIC_PROMPT text_screen_numeric_prompt_1;
689     GX_RICH_TEXT_VIEW text_screen_rich_text_view;
690 } TEXT_SCREEN_CONTROL_BLOCK;
691 
692 typedef struct WINDOW_SCREEN_CONTROL_BLOCK_STRUCT
693 {
694     GX_WINDOW_MEMBERS_DECLARE
695     GX_WINDOW window_screen_window_5;
696     GX_WINDOW window_screen_window_6;
697     GX_WINDOW window_screen_window_8;
698     GX_WINDOW window_screen_scroll_frame_1;
699     GX_WINDOW window_screen_window_4;
700     GX_SCROLLBAR window_screen_hscroll_1;
701     GX_SCROLLBAR window_screen_vertical_scroll_1;
702     GX_VERTICAL_LIST window_screen_vertical_list;
703     GX_TEXT_BUTTON window_screen_button_1;
704     GX_TEXT_BUTTON window_screen_button_2;
705     GX_TEXT_BUTTON window_screen_button_3;
706     GX_TEXT_BUTTON window_screen_button_4;
707     GX_PROMPT window_screen_nested_label_1;
708     GX_PROMPT window_screen_frame_label_1;
709     GX_PROMPT window_screen_vlist_label_1;
710     GX_HORIZONTAL_LIST window_screen_horizontal_list_1;
711     GX_ICON_BUTTON window_screen_icon_button_1;
712     GX_ICON_BUTTON window_screen_icon_button_2;
713     GX_ICON_BUTTON window_screen_icon_button_3;
714     GX_ICON_BUTTON window_screen_icon_button_4;
715     GX_ICON_BUTTON window_screen_icon_button_5;
716     GX_PROMPT window_screen_hlist_label_1;
717     GX_TEXT_BUTTON window_screen_next_button_1;
718     GX_DROP_LIST window_screen_drop_list;
719     GX_BUTTON window_screen_button;
720     GX_PROMPT window_screen_hlist_label;
721 } WINDOW_SCREEN_CONTROL_BLOCK;
722 
723 typedef struct BUTTON_SCREEN_CONTROL_BLOCK_STRUCT
724 {
725     GX_WINDOW_MEMBERS_DECLARE
726     GX_PROMPT button_screen_title_1;
727     GX_BUTTON button_screen_base_button_1;
728     GX_TEXT_BUTTON button_screen_text_button_1;
729     GX_CHECKBOX button_screen_checkbox1_1;
730     GX_RADIO_BUTTON button_screen_radio_button1_1;
731     GX_PIXELMAP_BUTTON button_screen_pixelmap_button1_1;
732     GX_ICON button_screen_icon;
733     GX_ICON_BUTTON button_screen_icon_button_6;
734     GX_PROMPT button_screen_button_label_1;
735     GX_PROMPT button_screen_radio_label_1;
736     GX_PROMPT button_screen_pixbutton_label_1;
737     GX_PROMPT button_screen_texbutton_label_1;
738     GX_PROMPT button_screen_checkbox_label_1;
739     GX_PROMPT button_screen_iconbutton_label_1;
740     GX_PROMPT button_screen_icon_label_1;
741     GX_TEXT_BUTTON button_screen_next_button;
742 } BUTTON_SCREEN_CONTROL_BLOCK;
743 
744 
745 /* extern statically defined control blocks                                    */
746 
747 #ifndef GUIX_STUDIO_GENERATED_FILE
748 extern RESIZE_SCREEN_CONTROL_BLOCK resize_screen;
749 extern PIXELMAP_SCREEN_CONTROL_BLOCK pixelmap_screen;
750 extern GAUGE_SCREEN_CONTROL_BLOCK gauge_screen;
751 extern LINES_SCREEN_CONTROL_BLOCK lines_screen;
752 extern MENU_SCREEN_CONTROL_BLOCK menu_screen;
753 extern SCROLL_WHEEL_SCREEN_CONTROL_BLOCK scroll_wheel_screen;
754 extern SHAPES_SCREEN_CONTROL_BLOCK shapes_screen;
755 extern ROTATE_SCREEN_CONTROL_BLOCK rotate_screen;
756 extern INDICATOR_SCREEN_CONTROL_BLOCK indicator_screen;
757 extern TEXT_SCREEN_CONTROL_BLOCK text_screen;
758 extern WINDOW_SCREEN_CONTROL_BLOCK window_screen;
759 extern BUTTON_SCREEN_CONTROL_BLOCK button_screen;
760 #endif
761 
762 /* Declare event process functions, draw functions, and callback functions     */
763 
764 UINT resize_screen_event_handler(GX_WINDOW *widget, GX_EVENT *event_ptr);
765 VOID resize_window_draw(GX_WINDOW *widget);
766 UINT gauge_event_handle(GX_WINDOW *widget, GX_EVENT *event_ptr);
767 UINT main_event_handler(GX_WINDOW *widget, GX_EVENT *event_ptr);
768 VOID line_win_draw(GX_WINDOW *widget);
769 UINT next_button_handler(GX_WINDOW *widget, GX_EVENT *event_ptr);
770 UINT shapesscreen_event_handler(GX_WINDOW *widget, GX_EVENT *event_ptr);
771 VOID graphics_draw(GX_WINDOW *widget);
772 UINT rotate_event_handler(GX_WINDOW *widget, GX_EVENT *event_ptr);
773 VOID pixelmap_draw(GX_WINDOW *widget);
774 VOID drop_list_row_create(GX_VERTICAL_LIST *, GX_WIDGET *, INT);
775 
776 /* Declare the GX_STUDIO_DISPLAY_INFO structure                                */
777 
778 
779 typedef struct GX_STUDIO_DISPLAY_INFO_STRUCT
780 {
781     GX_CONST GX_CHAR *name;
782     GX_CONST GX_CHAR *canvas_name;
783     GX_CONST GX_THEME **theme_table;
784     GX_CONST GX_STRING **language_table;
785     USHORT   theme_table_size;
786     USHORT   language_table_size;
787     UINT     string_table_size;
788     UINT     x_resolution;
789     UINT     y_resolution;
790     GX_DISPLAY *display;
791     GX_CANVAS  *canvas;
792     GX_WINDOW_ROOT *root_window;
793     GX_COLOR   *canvas_memory;
794     ULONG      canvas_memory_size;
795     USHORT     rotation_angle;
796 } GX_STUDIO_DISPLAY_INFO;
797 
798 
799 /* Declare Studio-generated functions for creating top-level widgets           */
800 
801 UINT gx_studio_button_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent);
802 UINT gx_studio_text_button_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent);
803 UINT gx_studio_checkbox_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent);
804 UINT gx_studio_radio_button_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent);
805 UINT gx_studio_icon_button_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent);
806 UINT gx_studio_pixelmap_button_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent);
807 UINT gx_studio_icon_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent);
808 UINT gx_studio_slider_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent);
809 UINT gx_studio_pixelmap_slider_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent);
810 UINT gx_studio_progress_bar_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent);
811 UINT gx_studio_radial_progress_bar_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent);
812 UINT gx_studio_prompt_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent);
813 UINT gx_studio_numeric_prompt_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent);
814 UINT gx_studio_pixelmap_prompt_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent);
815 UINT gx_studio_numeric_pixelmap_prompt_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent);
816 UINT gx_studio_window_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent);
817 UINT gx_studio_vertical_list_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent);
818 UINT gx_studio_horizontal_list_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent);
819 UINT gx_studio_drop_list_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent);
820 UINT gx_studio_string_scroll_wheel_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent);
821 UINT gx_studio_numeric_scroll_wheel_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent);
822 UINT gx_studio_text_input_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent);
823 UINT gx_studio_multi_line_text_view_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent);
824 UINT gx_studio_multi_line_text_input_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent);
825 UINT gx_studio_horizontal_scrollbar_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent);
826 UINT gx_studio_vertical_scrollbar_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent);
827 UINT gx_studio_circular_gauge_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent);
828 UINT gx_studio_menu_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent);
829 UINT gx_studio_accordion_menu_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent);
830 UINT gx_studio_tree_view_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent);
831 UINT gx_studio_rich_text_view_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent);
832 GX_WIDGET *gx_studio_widget_create(GX_BYTE *storage, GX_CONST GX_STUDIO_WIDGET *definition, GX_WIDGET *parent);
833 UINT gx_studio_named_widget_create(char *name, GX_WIDGET *parent, GX_WIDGET **new_widget);
834 UINT gx_studio_display_configure(USHORT display, UINT (*driver)(GX_DISPLAY *), GX_UBYTE language, USHORT theme, GX_WINDOW_ROOT **return_root);
835 UINT gx_studio_auto_event_handler(GX_WIDGET *widget, GX_EVENT *event_ptr, GX_CONST GX_STUDIO_EVENT_PROCESS *record);
836 
837 /* Determine if a C++ compiler is being used.  If so, complete the standard
838   C conditional started above.                                                 */
839 #ifdef __cplusplus
840 }
841 #endif
842 
843 #endif                                       /* sentry                         */
844