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_3_SPECIFICATIONS_H_ 14 #define _ALL_WIDGETS_5_3_3_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_BYTE whitespace; 261 GX_BYTE line_space; 262 } GX_ML_TEXT_VIEW_PROPERTIES; 263 264 typedef struct 265 { 266 GX_RESOURCE_ID string_id; 267 GX_RESOURCE_ID font_id; 268 GX_RESOURCE_ID normal_text_color_id; 269 GX_RESOURCE_ID selected_text_color_id; 270 GX_BYTE whitespace; 271 GX_BYTE line_space; 272 GX_CHAR *buffer; 273 UINT buffer_size; 274 } GX_MULTI_LINE_TEXT_INPUT_PROPERTIES; 275 276 typedef struct 277 { 278 GX_VALUE start_angle; 279 GX_VALUE animation_steps; 280 GX_VALUE animation_delay; 281 GX_VALUE needle_xpos; 282 GX_VALUE needle_ypos; 283 GX_VALUE needle_xcor; 284 GX_VALUE needle_ycor; 285 GX_RESOURCE_ID normal_pixelmap_id; 286 GX_RESOURCE_ID selected_pixelmap_id; 287 GX_RESOURCE_ID needle_pixelmap_id; 288 } GX_CIRCULAR_GAUGE_PROPERTIES; 289 290 291 /* Declare top-level control blocks */ 292 293 typedef struct SPRITE_SCREEN_CONTROL_BLOCK_STRUCT 294 { 295 GX_WINDOW_MEMBERS_DECLARE 296 GX_WINDOW sprite_screen_apple_window; 297 GX_SLIDER sprite_screen_slider_2; 298 GX_TEXT_BUTTON sprite_screen_next_button_5; 299 GX_SPRITE sprite_screen_sprite_1; 300 } SPRITE_SCREEN_CONTROL_BLOCK; 301 302 typedef struct GAUGE_SCREEN_CONTROL_BLOCK_STRUCT 303 { 304 GX_WINDOW_MEMBERS_DECLARE 305 GX_PROMPT gauge_screen_prompt_6; 306 GX_TEXT_BUTTON gauge_screen_next_button_4; 307 GX_CIRCULAR_GAUGE gauge_screen_gauge_1; 308 } GAUGE_SCREEN_CONTROL_BLOCK; 309 310 typedef struct POPUP_MODAL_CONTROL_BLOCK_STRUCT 311 { 312 GX_WINDOW_MEMBERS_DECLARE 313 GX_TEXT_BUTTON popup_modal_OK_button; 314 GX_TEXT_BUTTON popup_modal_cancel_button; 315 GX_MULTI_LINE_TEXT_VIEW popup_modal_text_view_2; 316 GX_WINDOW popup_modal_window_1; 317 GX_PROMPT popup_modal_prompt_5; 318 } POPUP_MODAL_CONTROL_BLOCK; 319 320 typedef struct INDICATOR_SCREEN_CONTROL_BLOCK_STRUCT 321 { 322 GX_WINDOW_MEMBERS_DECLARE 323 GX_SLIDER indicator_screen_slider; 324 GX_SLIDER indicator_screen_slider_1; 325 GX_PIXELMAP_SLIDER indicator_screen_pixelmap_slider; 326 GX_PIXELMAP_SLIDER indicator_screen_pixelmap_slider_1; 327 GX_ICON indicator_screen_icon_1; 328 GX_ICON indicator_screen_icon_2; 329 GX_PROMPT indicator_screen_slider_title; 330 GX_TEXT_BUTTON indicator_screen_next_button_3; 331 GX_PROGRESS_BAR indicator_screen_progress_bar_1; 332 GX_PIXELMAP_SLIDER indicator_screen_pixelmap_slider_2; 333 } INDICATOR_SCREEN_CONTROL_BLOCK; 334 335 typedef struct TEXT_SCREEN_CONTROL_BLOCK_STRUCT 336 { 337 GX_WINDOW_MEMBERS_DECLARE 338 GX_PROMPT text_screen_prompt_1; 339 GX_PROMPT text_screen_prompt_2; 340 GX_PROMPT text_screen_prompt_3; 341 GX_PIXELMAP_PROMPT text_screen_prompt_4; 342 GX_SINGLE_LINE_TEXT_INPUT text_screen_text_input_1; 343 GX_MULTI_LINE_TEXT_VIEW text_screen_text_view_1; 344 GX_MULTI_LINE_TEXT_INPUT text_screen_text_input_2; 345 GX_TEXT_BUTTON text_screen_next_button_2; 346 } TEXT_SCREEN_CONTROL_BLOCK; 347 348 typedef struct WINDOW_SCREEN_CONTROL_BLOCK_STRUCT 349 { 350 GX_WINDOW_MEMBERS_DECLARE 351 GX_WINDOW window_screen_window_5; 352 GX_WINDOW window_screen_window_6; 353 GX_WINDOW window_screen_window_7; 354 GX_WINDOW window_screen_window_8; 355 GX_WINDOW window_screen_scroll_frame_1; 356 GX_WINDOW window_screen_window_4; 357 GX_SCROLLBAR window_screen_hscroll_1; 358 GX_SCROLLBAR window_screen_vertical_scroll_1; 359 GX_VERTICAL_LIST window_screen_vertical_list; 360 GX_TEXT_BUTTON window_screen_button_1; 361 GX_TEXT_BUTTON window_screen_button_2; 362 GX_TEXT_BUTTON window_screen_button_3; 363 GX_TEXT_BUTTON window_screen_button_4; 364 GX_PROMPT window_screen_nested_label_1; 365 GX_PROMPT window_screen_frame_label_1; 366 GX_PROMPT window_screen_vlist_label_1; 367 GX_HORIZONTAL_LIST window_screen_horizontal_list_1; 368 GX_ICON_BUTTON window_screen_icon_button_1; 369 GX_ICON_BUTTON window_screen_icon_button_2; 370 GX_ICON_BUTTON window_screen_icon_button_3; 371 GX_ICON_BUTTON window_screen_icon_button_4; 372 GX_ICON_BUTTON window_screen_icon_button_5; 373 GX_PROMPT window_screen_hlist_label_1; 374 GX_TEXT_BUTTON window_screen_next_button_1; 375 GX_DROP_LIST window_screen_drop_list; 376 GX_PROMPT window_screen_hlist_label; 377 } WINDOW_SCREEN_CONTROL_BLOCK; 378 379 typedef struct BUTTON_SCREEN_CONTROL_BLOCK_STRUCT 380 { 381 GX_WINDOW_MEMBERS_DECLARE 382 GX_PROMPT button_screen_title_1; 383 GX_BUTTON button_screen_base_button_1; 384 GX_TEXT_BUTTON button_screen_text_button_1; 385 GX_CHECKBOX button_screen_checkbox; 386 GX_RADIO_BUTTON button_screen_radio_button1; 387 GX_PIXELMAP_BUTTON button_screen_pixelmap_button1; 388 GX_ICON button_screen_icon; 389 GX_ICON_BUTTON button_screen_icon_button_6; 390 GX_PROMPT button_screen_button_label_1; 391 GX_PROMPT button_screen_radio_label_1; 392 GX_PROMPT button_screen_pixbutton_label_1; 393 GX_PROMPT button_screen_texbutton_label_1; 394 GX_PROMPT button_screen_checkbox_label_1; 395 GX_PROMPT button_screen_iconbutton_label_1; 396 GX_PROMPT button_screen_icon_label_1; 397 GX_TEXT_BUTTON button_screen_next_button; 398 GX_MULTI_LINE_TEXT_BUTTON button_screen_multi_line_button_1; 399 GX_PROMPT button_screen_texbutton_label_2; 400 } BUTTON_SCREEN_CONTROL_BLOCK; 401 402 403 /* extern statically defined control blocks */ 404 405 #ifndef GUIX_STUDIO_GENERATED_FILE 406 extern SPRITE_SCREEN_CONTROL_BLOCK sprite_screen; 407 extern GAUGE_SCREEN_CONTROL_BLOCK gauge_screen; 408 extern POPUP_MODAL_CONTROL_BLOCK popup_modal; 409 extern INDICATOR_SCREEN_CONTROL_BLOCK indicator_screen; 410 extern TEXT_SCREEN_CONTROL_BLOCK text_screen; 411 extern WINDOW_SCREEN_CONTROL_BLOCK window_screen; 412 extern BUTTON_SCREEN_CONTROL_BLOCK button_screen; 413 #endif 414 415 /* Declare event process functions, draw functions, and callback functions */ 416 417 UINT sprite_event_handler(GX_WINDOW *widget, GX_EVENT *event_ptr); 418 VOID apple_window_draw(GX_WINDOW *widget); 419 UINT gauge_event_handle(GX_WINDOW *widget, GX_EVENT *event_ptr); 420 VOID gauge_prompt_draw(GX_PROMPT *widget); 421 UINT ModalWinEvent(GX_WINDOW *widget, GX_EVENT *event_ptr); 422 UINT next_button_handler(GX_WINDOW *widget, GX_EVENT *event_ptr); 423 VOID drop_list_row_create(GX_VERTICAL_LIST *, GX_WIDGET *, INT); 424 UINT buttons_handler(GX_WINDOW *widget, GX_EVENT *event_ptr); 425 426 /* Declare the GX_STUDIO_DISPLAY_INFO structure */ 427 428 429 typedef struct GX_STUDIO_DISPLAY_INFO_STRUCT 430 { 431 GX_CONST GX_CHAR *name; 432 GX_CONST GX_CHAR *canvas_name; 433 GX_CONST GX_THEME **theme_table; 434 GX_CONST GX_CHAR ***language_table; 435 USHORT theme_table_size; 436 USHORT language_table_size; 437 UINT string_table_size; 438 UINT x_resolution; 439 UINT y_resolution; 440 GX_DISPLAY *display; 441 GX_CANVAS *canvas; 442 GX_WINDOW_ROOT *root_window; 443 GX_COLOR *canvas_memory; 444 ULONG canvas_memory_size; 445 } GX_STUDIO_DISPLAY_INFO; 446 447 448 /* Declare Studio-generated functions for creating top-level widgets */ 449 450 UINT gx_studio_button_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent); 451 UINT gx_studio_text_button_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent); 452 UINT gx_studio_multi_line_text_button_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent); 453 UINT gx_studio_checkbox_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent); 454 UINT gx_studio_radio_button_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent); 455 UINT gx_studio_icon_button_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent); 456 UINT gx_studio_pixelmap_button_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent); 457 UINT gx_studio_icon_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent); 458 UINT gx_studio_slider_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent); 459 UINT gx_studio_pixelmap_slider_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent); 460 UINT gx_studio_progress_bar_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent); 461 UINT gx_studio_sprite_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent); 462 UINT gx_studio_prompt_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent); 463 UINT gx_studio_pixelmap_prompt_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent); 464 UINT gx_studio_window_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent); 465 UINT gx_studio_vertical_list_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent); 466 UINT gx_studio_horizontal_list_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent); 467 UINT gx_studio_drop_list_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent); 468 UINT gx_studio_text_input_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent); 469 UINT gx_studio_multi_line_text_view_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent); 470 UINT gx_studio_multi_line_text_input_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent); 471 UINT gx_studio_horizontal_scrollbar_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent); 472 UINT gx_studio_vertical_scrollbar_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent); 473 UINT gx_studio_circular_gauge_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent); 474 GX_WIDGET *gx_studio_widget_create(GX_BYTE *storage, GX_CONST GX_STUDIO_WIDGET *definition, GX_WIDGET *parent); 475 UINT gx_studio_named_widget_create(char *name, GX_WIDGET *parent, GX_WIDGET **new_widget); 476 UINT gx_studio_display_configure(USHORT display, UINT (*driver)(GX_DISPLAY *), USHORT language, USHORT theme, GX_WINDOW_ROOT **return_root); 477 478 /* Determine if a C++ compiler is being used. If so, complete the standard 479 C conditional started above. */ 480 #ifdef __cplusplus 481 } 482 #endif 483 484 #endif /* sentry */ 485