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_2_5_SPECIFICATIONS_H_
14 #define _ALL_WIDGETS_5_2_5_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_SPRITE_SCREEN 1
26 #define ID_ALPHA_SLIDER 2
27 #define IDB_NEXT 3
28 #define ID_BIRD_SPRITE 4
29 #define ID_INDICATOR_SCREEN 5
30 #define ID_SLIDER_HORIZONTAL 6
31 #define ID_SLIDER_1 7
32 #define ID_PIXELMAP_SLIDER_H 8
33 #define ID_PIXELMAP_SLIDER1 9
34 #define ID_TEXT_SCREEN 10
35 #define ID_PROMPT_1 11
36 #define ID_PROMPT_2 12
37 #define ID_PROMPT_3 13
38 #define ID_PROMPT_4 14
39 #define ID_WINDOW_SCREEN 15
40 #define ID_HORIZONTAL_SCROLLBAR 16
41 #define ID_VERTICAL_SCROLLBAR 17
42 #define ID_VERTICAL_LIST 18
43 #define ID_DROP_LIST 19
44 #define ID_BUTTON_SCREEN 20
45 #define ID_TEXT_BUTTON 21
46 #define ID_CHECKBOX 22
47 #define ID_RADIO_BUTTON 23
48 #define ID_PIXELMAP_BUTTON 24
49 #define ID_ICON 25
50 #define ID_ICON_BUTTON 26
51 
52 
53 /* Define animation ids                                                        */
54 
55 #define GX_NEXT_ANIMATION_ID 1
56 
57 
58 /* Define user event ids                                                       */
59 
60 #define GX_NEXT_USER_EVENT_ID GX_FIRST_USER_EVENT
61 
62 
63 /* Declare properties structures for each utilized widget type                 */
64 
65 typedef struct GX_STUDIO_WIDGET_STRUCT
66 {
67    GX_CHAR *widget_name;
68    USHORT  widget_type;
69    USHORT  widget_id;
70    ULONG style;
71    ULONG status;
72    ULONG control_block_size;
73    GX_RESOURCE_ID normal_fill_color_id;
74    GX_RESOURCE_ID selected_fill_color_id;
75    UINT (*create_function) (GX_CONST struct GX_STUDIO_WIDGET_STRUCT *, GX_WIDGET *, GX_WIDGET *);
76    void (*draw_function) (GX_WIDGET *);
77    UINT (*event_function) (GX_WIDGET *, GX_EVENT *);
78    GX_RECTANGLE size;
79    GX_CONST struct GX_STUDIO_WIDGET_STRUCT *next_widget;
80    GX_CONST struct GX_STUDIO_WIDGET_STRUCT *child_widget;
81    ULONG control_block_offset;
82    GX_CONST void *properties;
83 } GX_STUDIO_WIDGET;
84 
85 typedef struct
86 {
87     GX_CONST GX_STUDIO_WIDGET *widget_information;
88     GX_WIDGET        *widget;
89 } GX_STUDIO_WIDGET_ENTRY;
90 
91 typedef struct
92 {
93     GX_RESOURCE_ID string_id;
94     GX_RESOURCE_ID font_id;
95     GX_RESOURCE_ID normal_text_color_id;
96     GX_RESOURCE_ID selected_text_color_id;
97 } GX_TEXT_BUTTON_PROPERTIES;
98 
99 typedef struct
100 {
101     GX_RESOURCE_ID string_id;
102     GX_RESOURCE_ID font_id;
103     GX_RESOURCE_ID normal_text_color_id;
104     GX_RESOURCE_ID selected_text_color_id;
105 } GX_ML_TEXT_BUTTON_PROPERTIES;
106 
107 typedef struct
108 {
109     GX_RESOURCE_ID string_id;
110     GX_RESOURCE_ID font_id;
111     GX_RESOURCE_ID normal_text_color_id;
112     GX_RESOURCE_ID selected_text_color_id;
113     GX_RESOURCE_ID unchecked_pixelmap_id;
114     GX_RESOURCE_ID checked_pixelmap_id;
115     GX_RESOURCE_ID unchecked_disabled_pixelmap_id;
116     GX_RESOURCE_ID checked_disabled_pixelmap_id;
117 } GX_CHECKBOX_PROPERTIES;
118 
119 typedef struct
120 {
121     GX_RESOURCE_ID string_id;
122     GX_RESOURCE_ID font_id;
123     GX_RESOURCE_ID normal_text_color_id;
124     GX_RESOURCE_ID selected_text_color_id;
125     GX_RESOURCE_ID off_pixelmap_id;
126     GX_RESOURCE_ID on_pixelmap_id;
127     GX_RESOURCE_ID off_disabled_pixelmap_id;
128     GX_RESOURCE_ID on_disabled_pixelmap_id;
129 } GX_RADIO_BUTTON_PROPERTIES;
130 
131 typedef struct
132 {
133     GX_RESOURCE_ID pixelmap_id;
134 } GX_ICON_BUTTON_PROPERTIES;
135 
136 typedef struct
137 {
138     GX_RESOURCE_ID normal_pixelmap_id;
139     GX_RESOURCE_ID selected_pixelmap_id;
140     GX_RESOURCE_ID disabled_pixelmap_id;
141 } GX_PIXELMAP_BUTTON_PROPERTIES;
142 
143 typedef struct
144 {
145     GX_RESOURCE_ID normal_pixelmap_id;
146     GX_RESOURCE_ID selected_pixelmap_id;
147 } GX_ICON_PROPERTIES;
148 
149 typedef struct
150 {
151     int tickmark_count;
152     int minval;
153     int maxval;
154     int current_val;
155     int increment;
156     GX_VALUE min_travel;
157     GX_VALUE max_travel;
158     GX_VALUE needle_width;
159     GX_VALUE needle_height;
160     GX_VALUE needle_inset;
161     GX_VALUE needle_hotspot;
162 } GX_SLIDER_PROPERTIES;
163 
164 typedef struct
165 {
166     int min_val;
167     int max_val;
168     int current_val;
169     int increment;
170     GX_VALUE min_travel;
171     GX_VALUE max_travel;
172     GX_VALUE needle_width;
173     GX_VALUE needle_height;
174     GX_VALUE needle_inset;
175     GX_VALUE needle_hotspot;
176     GX_RESOURCE_ID lower_pixelmap;
177     GX_RESOURCE_ID upper_pixelmap;
178     GX_RESOURCE_ID needle_pixelmap;
179 } GX_PIXELMAP_SLIDER_PROPERTIES;
180 
181 typedef struct
182 {
183     GX_SPRITE_FRAME *frame_list;
184     USHORT           frame_count;
185 } GX_SPRITE_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_PROMPT_PROPERTIES;
194 
195 typedef struct
196 {
197     GX_RESOURCE_ID string_id;
198     GX_RESOURCE_ID font_id;
199     GX_RESOURCE_ID normal_text_color_id;
200     GX_RESOURCE_ID selected_text_color_id;
201     GX_RESOURCE_ID left_map_id;
202     GX_RESOURCE_ID fill_map_id;
203     GX_RESOURCE_ID right_map_id;
204     GX_RESOURCE_ID selected_left_map_id;
205     GX_RESOURCE_ID selected_fill_map_id;
206     GX_RESOURCE_ID selected_right_map_id;
207 } GX_PIXELMAP_PROMPT_PROPERTIES;
208 
209 typedef struct
210 {
211     GX_RESOURCE_ID wallpaper_id;
212 } GX_WINDOW_PROPERTIES;
213 
214 typedef struct
215 {
216     GX_RESOURCE_ID wallpaper_id;
217     VOID (*callback)(GX_VERTICAL_LIST *, GX_WIDGET *, INT);
218     int total_rows;
219 } GX_VERTICAL_LIST_PROPERTIES;
220 
221 typedef struct
222 {
223     GX_RESOURCE_ID wallpaper_id;
224     VOID (*callback)(GX_HORIZONTAL_LIST *, GX_WIDGET *, INT);
225     int total_rows;
226 } GX_HORIZONTAL_LIST_PROPERTIES;
227 
228 typedef struct
229 {
230     GX_RESOURCE_ID pixelmap_id;
231     GX_RESOURCE_ID wallpaper_id;
232     VOID (*callback)(GX_VERTICAL_LIST *, GX_WIDGET *, INT);
233     int total_rows;
234     int open_height;
235 } GX_DROP_LIST_PROPERTIES;
236 
237 typedef struct
238 {
239     GX_RESOURCE_ID string_id;
240     GX_RESOURCE_ID font_id;
241     GX_RESOURCE_ID normal_text_color_id;
242     GX_RESOURCE_ID selected_text_color_id;
243     GX_CHAR *buffer;
244     UINT buffer_size;
245 } GX_SINGLE_LINE_TEXT_INPUT_PROPERTIES;
246 
247 typedef struct
248 {
249     GX_RESOURCE_ID string_id;
250     GX_RESOURCE_ID font_id;
251     GX_RESOURCE_ID normal_text_color_id;
252     GX_RESOURCE_ID selected_text_color_id;
253 } GX_ML_TEXT_VIEW_PROPERTIES;
254 
255 typedef struct
256 {
257     GX_RESOURCE_ID string_id;
258     GX_RESOURCE_ID font_id;
259     GX_RESOURCE_ID normal_text_color_id;
260     GX_RESOURCE_ID selected_text_color_id;
261     GX_CHAR *buffer;
262     UINT buffer_size;
263 } GX_MULTI_LINE_TEXT_INPUT_PROPERTIES;
264 
265 
266 /* Declare top-level control blocks                                            */
267 
268 typedef struct SPRITE_SCREEN_CONTROL_BLOCK_STRUCT
269 {
270     GX_WINDOW_MEMBERS_DECLARE
271     GX_WINDOW sprite_screen_apple_window;
272     GX_SLIDER sprite_screen_slider_2;
273     GX_TEXT_BUTTON sprite_screen_next_button_5;
274     GX_SPRITE sprite_screen_sprite;
275 } SPRITE_SCREEN_CONTROL_BLOCK;
276 
277 typedef struct INDICATOR_SCREEN_CONTROL_BLOCK_STRUCT
278 {
279     GX_WINDOW_MEMBERS_DECLARE
280     GX_SLIDER indicator_screen_slider;
281     GX_SLIDER indicator_screen_slider_1;
282     GX_PIXELMAP_SLIDER indicator_screen_pixelmap_slider;
283     GX_PIXELMAP_SLIDER indicator_screen_pixelmap_slider_1;
284     GX_ICON indicator_screen_icon_1;
285     GX_ICON indicator_screen_icon_2;
286     GX_PROMPT indicator_screen_slider_title;
287     GX_TEXT_BUTTON indicator_screen_next_button_3;
288     GX_PROGRESS_BAR indicator_screen_progress_bar_1;
289     GX_PIXELMAP_SLIDER indicator_screen_pixelmap_slider_2;
290 } INDICATOR_SCREEN_CONTROL_BLOCK;
291 
292 typedef struct TEXT_SCREEN_CONTROL_BLOCK_STRUCT
293 {
294     GX_WINDOW_MEMBERS_DECLARE
295     GX_PROMPT text_screen_prompt_1;
296     GX_PROMPT text_screen_prompt_2;
297     GX_PROMPT text_screen_prompt_3;
298     GX_PIXELMAP_PROMPT text_screen_prompt_4;
299     GX_SINGLE_LINE_TEXT_INPUT text_screen_text_input_1;
300     GX_MULTI_LINE_TEXT_VIEW text_screen_text_view_1;
301     GX_MULTI_LINE_TEXT_INPUT text_screen_text_input_2;
302     GX_TEXT_BUTTON text_screen_next_button_2;
303 } TEXT_SCREEN_CONTROL_BLOCK;
304 
305 typedef struct WINDOW_SCREEN_CONTROL_BLOCK_STRUCT
306 {
307     GX_WINDOW_MEMBERS_DECLARE
308     GX_WINDOW window_screen_window_5;
309     GX_WINDOW window_screen_window_6;
310     GX_WINDOW window_screen_window_7;
311     GX_WINDOW window_screen_window_8;
312     GX_WINDOW window_screen_scroll_frame_1;
313     GX_WINDOW window_screen_window_4;
314     GX_SCROLLBAR window_screen_hscroll_1;
315     GX_SCROLLBAR window_screen_vertical_scroll_1;
316     GX_VERTICAL_LIST window_screen_vertical_list;
317     GX_TEXT_BUTTON window_screen_button_1;
318     GX_TEXT_BUTTON window_screen_button_2;
319     GX_TEXT_BUTTON window_screen_button_3;
320     GX_TEXT_BUTTON window_screen_button_4;
321     GX_PROMPT window_screen_nested_label_1;
322     GX_PROMPT window_screen_frame_label_1;
323     GX_PROMPT window_screen_vlist_label_1;
324     GX_HORIZONTAL_LIST window_screen_horizontal_list_1;
325     GX_ICON_BUTTON window_screen_icon_button_1;
326     GX_ICON_BUTTON window_screen_icon_button_2;
327     GX_ICON_BUTTON window_screen_icon_button_3;
328     GX_ICON_BUTTON window_screen_icon_button_4;
329     GX_ICON_BUTTON window_screen_icon_button_5;
330     GX_PROMPT window_screen_hlist_label_1;
331     GX_TEXT_BUTTON window_screen_next_button_1;
332     GX_DROP_LIST window_screen_drop_list;
333     GX_PROMPT window_screen_hlist_label;
334 } WINDOW_SCREEN_CONTROL_BLOCK;
335 
336 typedef struct BUTTON_SCREEN_CONTROL_BLOCK_STRUCT
337 {
338     GX_WINDOW_MEMBERS_DECLARE
339     GX_PROMPT button_screen_title_1;
340     GX_BUTTON button_screen_base_button_1;
341     GX_TEXT_BUTTON button_screen_text_button_1;
342     GX_CHECKBOX button_screen_checkbox;
343     GX_RADIO_BUTTON button_screen_radio_button1;
344     GX_PIXELMAP_BUTTON button_screen_pixelmap_button1;
345     GX_ICON button_screen_icon;
346     GX_ICON_BUTTON button_screen_icon_button_6;
347     GX_PROMPT button_screen_button_label_1;
348     GX_PROMPT button_screen_radio_label_1;
349     GX_PROMPT button_screen_pixbutton_label_1;
350     GX_PROMPT button_screen_texbutton_label_1;
351     GX_PROMPT button_screen_checkbox_label_1;
352     GX_PROMPT button_screen_iconbutton_label_1;
353     GX_PROMPT button_screen_icon_label_1;
354     GX_TEXT_BUTTON button_screen_next_button;
355     GX_MULTI_LINE_TEXT_BUTTON button_screen_multi_line_button_1;
356     GX_PROMPT button_screen_texbutton_label_2;
357 } BUTTON_SCREEN_CONTROL_BLOCK;
358 
359 
360 /* extern statically defined control blocks                                    */
361 
362 #ifndef GUIX_STUDIO_GENERATED_FILE
363 extern SPRITE_SCREEN_CONTROL_BLOCK sprite_screen;
364 extern INDICATOR_SCREEN_CONTROL_BLOCK indicator_screen;
365 extern TEXT_SCREEN_CONTROL_BLOCK text_screen;
366 extern WINDOW_SCREEN_CONTROL_BLOCK window_screen;
367 extern BUTTON_SCREEN_CONTROL_BLOCK button_screen;
368 #endif
369 
370 /* Declare event process functions, draw functions, and callback functions     */
371 
372 UINT sprite_event_handler(GX_WINDOW *widget, GX_EVENT *event_ptr);
373 VOID apple_window_draw(GX_WINDOW *widget);
374 UINT next_button_handler(GX_WINDOW *widget, GX_EVENT *event_ptr);
375 VOID drop_list_row_create(GX_VERTICAL_LIST *, GX_WIDGET *, INT);
376 UINT buttons_handler(GX_WINDOW *widget, GX_EVENT *event_ptr);
377 
378 /* Declare the GX_STUDIO_DISPLAY_INFO structure                                */
379 
380 
381 typedef struct GX_STUDIO_DISPLAY_INFO_STRUCT
382 {
383     GX_CONST GX_CHAR *name;
384     GX_CONST GX_CHAR *canvas_name;
385     GX_CONST GX_THEME **theme_table;
386     GX_CONST GX_CHAR ***language_table;
387     UINT     language_table_size;
388     UINT     string_table_size;
389     UINT     x_resolution;
390     UINT     y_resolution;
391     GX_DISPLAY *display;
392     GX_CANVAS  *canvas;
393     GX_WINDOW_ROOT *root_window;
394     GX_COLOR   *canvas_memory;
395     ULONG      canvas_memory_size;
396 } GX_STUDIO_DISPLAY_INFO;
397 
398 
399 /* Declare Studio-generated functions for creating top-level widgets           */
400 
401 UINT gx_studio_button_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent);
402 UINT gx_studio_text_button_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent);
403 UINT gx_studio_multi_line_text_button_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent);
404 UINT gx_studio_checkbox_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent);
405 UINT gx_studio_radio_button_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent);
406 UINT gx_studio_icon_button_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent);
407 UINT gx_studio_pixelmap_button_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent);
408 UINT gx_studio_icon_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent);
409 UINT gx_studio_slider_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent);
410 UINT gx_studio_pixelmap_slider_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent);
411 UINT gx_studio_progress_bar_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent);
412 UINT gx_studio_sprite_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent);
413 UINT gx_studio_prompt_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent);
414 UINT gx_studio_pixelmap_prompt_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent);
415 UINT gx_studio_window_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent);
416 UINT gx_studio_vertical_list_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent);
417 UINT gx_studio_horizontal_list_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent);
418 UINT gx_studio_drop_list_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent);
419 UINT gx_studio_text_input_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent);
420 UINT gx_studio_multi_line_text_view_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent);
421 UINT gx_studio_multi_line_text_input_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent);
422 UINT gx_studio_horizontal_scrollbar_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent);
423 UINT gx_studio_vertical_scrollbar_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent);
424 GX_WIDGET *gx_studio_widget_create(GX_BYTE *storage, GX_CONST GX_STUDIO_WIDGET *definition, GX_WIDGET *parent);
425 UINT gx_studio_named_widget_create(char *name, GX_WIDGET *parent, GX_WIDGET **new_widget);
426 UINT gx_studio_display_configure(USHORT display, UINT (*driver)(GX_DISPLAY *), USHORT language, USHORT theme, GX_WINDOW_ROOT **return_root);
427 
428 /* Determine if a C++ compiler is being used.  If so, complete the standard
429   C conditional started above.                                                 */
430 #ifdef __cplusplus
431 }
432 #endif
433 
434 #endif                                       /* sentry                         */
435