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