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.3.0.0 */ 9 /* Date (dd.mm.yyyy): 24.11.2023 Time (hh:mm): 16:43 */ 10 /*******************************************************************************/ 11 12 13 #ifndef _GUIX_WIDGET_TYPES_SPECIFICATIONS_H_ 14 #define _GUIX_WIDGET_TYPES_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_MENU_SCREEN 1 26 #define ID_SCROLL_WHEEL_SCREEN 2 27 #define ID_SCROLL_WHEEL_DAY 3 28 #define ID_SCROLL_WHEEL_YEAR 4 29 #define ID_SCROLL_WHEEL_MONTH 5 30 #define IDB_NEXT 6 31 #define ID_GAUGE_SCREEN 7 32 #define ID_GAUGE_ANIMATED 8 33 #define ID_PROMPT_ANIMATED 9 34 #define ID_SLIDER_ANIMATED 10 35 #define ID_SLIDER_NOT_ANIMATED 11 36 #define ID_GAUGE_NOT_ANIMATED 12 37 #define ID_PROMPT_NOT_ANIMATED 13 38 #define ID_WINDOW_SCREEN 14 39 #define ID_NESTED_WINDOW_BLUE 15 40 #define ID_VERTICAL_LIST 16 41 #define ID_HORIZONTAL_LIST 17 42 #define ICON_BUTTON_DISC 18 43 #define ICON_BUTTON_USER 19 44 #define ICON_BUTTON_PEN 20 45 #define ICON_BUTTON_TRASH 21 46 #define ICON_BUTTON_COG 22 47 #define ID_DROP_LIST 23 48 #define ID_SLIDER_SCREEN 24 49 #define ID_PIXELMAP_SLIDER_H 25 50 #define ID_PIXELMAP_SLIDER_V 26 51 #define ID_PIXELMAP_SLIDER_THIN_H 27 52 #define ID_PROGRESS_BAR 28 53 #define ID_PROGRESS_BAR_PROMPT 29 54 #define ID_TEXT_SCREEN 30 55 #define ID_BUTTON_SCREEN 31 56 #define IDB_CHECKBOX 32 57 58 59 /* Define animation ids */ 60 61 #define GX_NEXT_ANIMATION_ID 1 62 63 64 /* Define user event ids */ 65 66 #define GX_NEXT_USER_EVENT_ID GX_FIRST_USER_EVENT 67 68 #define GX_ACTION_FLAG_DYNAMIC_TARGET 0x01 69 #define GX_ACTION_FLAG_DYNAMIC_PARENT 0x02 70 #define GX_ACTION_FLAG_POP_TARGET 0x04 71 #define GX_ACTION_FLAG_POP_PARENT 0x08 72 73 typedef struct GX_STUDIO_ACTION_STRUCT 74 { 75 GX_UBYTE opcode; 76 GX_UBYTE flags; 77 GX_CONST VOID *parent; 78 GX_CONST VOID *target; 79 GX_CONST GX_ANIMATION_INFO *animation; 80 } GX_STUDIO_ACTION; 81 82 typedef struct GX_STUDIO_EVENT_ENTRY_STRUCT 83 { 84 ULONG event_type; 85 USHORT event_sender; 86 GX_CONST GX_STUDIO_ACTION *action_list; 87 } GX_STUDIO_EVENT_ENTRY; 88 89 typedef struct GX_STUDIO_EVENT_PROCESS_STRUCT 90 { 91 GX_CONST GX_STUDIO_EVENT_ENTRY *event_table; 92 UINT (*chain_event_handler)(GX_WIDGET *, GX_EVENT *); 93 } GX_STUDIO_EVENT_PROCESS; 94 95 /* Declare properties structures for each utilized widget type */ 96 97 typedef struct GX_STUDIO_WIDGET_STRUCT 98 { 99 GX_CHAR *widget_name; 100 USHORT widget_type; 101 USHORT widget_id; 102 #if defined(GX_WIDGET_USER_DATA) 103 INT user_data; 104 #endif 105 ULONG style; 106 ULONG status; 107 ULONG control_block_size; 108 GX_RESOURCE_ID normal_fill_color_id; 109 GX_RESOURCE_ID selected_fill_color_id; 110 GX_RESOURCE_ID disabled_fill_color_id; 111 UINT (*create_function) (GX_CONST struct GX_STUDIO_WIDGET_STRUCT *, GX_WIDGET *, GX_WIDGET *); 112 void (*draw_function) (GX_WIDGET *); 113 UINT (*event_function) (GX_WIDGET *, GX_EVENT *); 114 GX_RECTANGLE size; 115 GX_CONST struct GX_STUDIO_WIDGET_STRUCT *next_widget; 116 GX_CONST struct GX_STUDIO_WIDGET_STRUCT *child_widget; 117 ULONG control_block_offset; 118 GX_CONST void *properties; 119 } GX_STUDIO_WIDGET; 120 121 typedef struct 122 { 123 GX_CONST GX_STUDIO_WIDGET *widget_information; 124 GX_WIDGET *widget; 125 } GX_STUDIO_WIDGET_ENTRY; 126 127 typedef struct 128 { 129 GX_RESOURCE_ID string_id; 130 GX_RESOURCE_ID font_id; 131 GX_RESOURCE_ID normal_text_color_id; 132 GX_RESOURCE_ID selected_text_color_id; 133 GX_RESOURCE_ID disabled_text_color_id; 134 } GX_TEXT_BUTTON_PROPERTIES; 135 136 typedef struct 137 { 138 GX_RESOURCE_ID string_id; 139 GX_RESOURCE_ID font_id; 140 GX_RESOURCE_ID normal_text_color_id; 141 GX_RESOURCE_ID selected_text_color_id; 142 GX_RESOURCE_ID disabled_text_color_id; 143 } GX_ML_TEXT_BUTTON_PROPERTIES; 144 145 typedef struct 146 { 147 GX_RESOURCE_ID string_id; 148 GX_RESOURCE_ID font_id; 149 GX_RESOURCE_ID normal_text_color_id; 150 GX_RESOURCE_ID selected_text_color_id; 151 GX_RESOURCE_ID disabled_text_color_id; 152 GX_RESOURCE_ID unchecked_pixelmap_id; 153 GX_RESOURCE_ID checked_pixelmap_id; 154 GX_RESOURCE_ID unchecked_disabled_pixelmap_id; 155 GX_RESOURCE_ID checked_disabled_pixelmap_id; 156 } GX_CHECKBOX_PROPERTIES; 157 158 typedef struct 159 { 160 GX_RESOURCE_ID string_id; 161 GX_RESOURCE_ID font_id; 162 GX_RESOURCE_ID normal_text_color_id; 163 GX_RESOURCE_ID selected_text_color_id; 164 GX_RESOURCE_ID disabled_text_color_id; 165 GX_RESOURCE_ID off_pixelmap_id; 166 GX_RESOURCE_ID on_pixelmap_id; 167 GX_RESOURCE_ID off_disabled_pixelmap_id; 168 GX_RESOURCE_ID on_disabled_pixelmap_id; 169 } GX_RADIO_BUTTON_PROPERTIES; 170 171 typedef struct 172 { 173 GX_RESOURCE_ID pixelmap_id; 174 } GX_ICON_BUTTON_PROPERTIES; 175 176 typedef struct 177 { 178 GX_RESOURCE_ID normal_pixelmap_id; 179 GX_RESOURCE_ID selected_pixelmap_id; 180 GX_RESOURCE_ID disabled_pixelmap_id; 181 } GX_PIXELMAP_BUTTON_PROPERTIES; 182 183 typedef struct 184 { 185 GX_RESOURCE_ID normal_pixelmap_id; 186 GX_RESOURCE_ID selected_pixelmap_id; 187 } GX_ICON_PROPERTIES; 188 189 typedef struct 190 { 191 int min_val; 192 int max_val; 193 int current_val; 194 int increment; 195 GX_VALUE min_travel; 196 GX_VALUE max_travel; 197 GX_VALUE needle_width; 198 GX_VALUE needle_height; 199 GX_VALUE needle_inset; 200 GX_VALUE needle_hotspot; 201 GX_RESOURCE_ID lower_pixelmap; 202 GX_RESOURCE_ID upper_pixelmap; 203 GX_RESOURCE_ID needle_pixelmap; 204 } GX_PIXELMAP_SLIDER_PROPERTIES; 205 206 typedef struct 207 { 208 GX_RESOURCE_ID string_id; 209 GX_RESOURCE_ID font_id; 210 GX_RESOURCE_ID normal_text_color_id; 211 GX_RESOURCE_ID selected_text_color_id; 212 GX_RESOURCE_ID disabled_text_color_id; 213 } GX_PROMPT_PROPERTIES; 214 215 typedef struct 216 { 217 GX_RESOURCE_ID string_id; 218 GX_RESOURCE_ID font_id; 219 GX_RESOURCE_ID normal_text_color_id; 220 GX_RESOURCE_ID selected_text_color_id; 221 GX_RESOURCE_ID disabled_text_color_id; 222 VOID (*format_func)(GX_NUMERIC_PROMPT *, INT); 223 INT numeric_prompt_value; 224 } GX_NUMERIC_PROMPT_PROPERTIES; 225 226 typedef struct 227 { 228 GX_RESOURCE_ID string_id; 229 GX_RESOURCE_ID font_id; 230 GX_RESOURCE_ID normal_text_color_id; 231 GX_RESOURCE_ID selected_text_color_id; 232 GX_RESOURCE_ID disabled_text_color_id; 233 GX_RESOURCE_ID left_map_id; 234 GX_RESOURCE_ID fill_map_id; 235 GX_RESOURCE_ID right_map_id; 236 GX_RESOURCE_ID selected_left_map_id; 237 GX_RESOURCE_ID selected_fill_map_id; 238 GX_RESOURCE_ID selected_right_map_id; 239 } GX_PIXELMAP_PROMPT_PROPERTIES; 240 241 typedef struct 242 { 243 GX_RESOURCE_ID string_id; 244 GX_RESOURCE_ID font_id; 245 GX_RESOURCE_ID normal_text_color_id; 246 GX_RESOURCE_ID selected_text_color_id; 247 GX_RESOURCE_ID disabled_text_color_id; 248 GX_RESOURCE_ID left_map_id; 249 GX_RESOURCE_ID fill_map_id; 250 GX_RESOURCE_ID right_map_id; 251 GX_RESOURCE_ID selected_left_map_id; 252 GX_RESOURCE_ID selected_fill_map_id; 253 GX_RESOURCE_ID selected_right_map_id; 254 VOID (*format_func)(GX_NUMERIC_PIXELMAP_PROMPT *, INT); 255 INT numeric_prompt_value; 256 } GX_NUMERIC_PIXELMAP_PROMPT_PROPERTIES; 257 258 typedef struct 259 { 260 GX_RESOURCE_ID wallpaper_id; 261 } GX_WINDOW_PROPERTIES; 262 263 typedef struct 264 { 265 GX_RESOURCE_ID wallpaper_id; 266 VOID (*callback)(GX_VERTICAL_LIST *, GX_WIDGET *, INT); 267 int total_rows; 268 } GX_VERTICAL_LIST_PROPERTIES; 269 270 typedef struct 271 { 272 GX_RESOURCE_ID wallpaper_id; 273 VOID (*callback)(GX_HORIZONTAL_LIST *, GX_WIDGET *, INT); 274 int total_rows; 275 } GX_HORIZONTAL_LIST_PROPERTIES; 276 277 typedef struct 278 { 279 GX_RESOURCE_ID pixelmap_id; 280 GX_RESOURCE_ID wallpaper_id; 281 VOID (*callback)(GX_VERTICAL_LIST *, GX_WIDGET *, INT); 282 int total_rows; 283 int open_height; 284 } GX_DROP_LIST_PROPERTIES; 285 286 typedef struct 287 { 288 int total_rows; 289 int selected_row; 290 GX_VALUE row_height; 291 GX_UBYTE start_alpha; 292 GX_UBYTE end_alpha; 293 GX_RESOURCE_ID normal_font; 294 GX_RESOURCE_ID selected_font; 295 GX_RESOURCE_ID normal_text_color; 296 GX_RESOURCE_ID selected_text_color; 297 GX_RESOURCE_ID disabled_text_color; 298 GX_RESOURCE_ID wallpaper_id; 299 GX_RESOURCE_ID selected_background; 300 GX_CONST GX_RESOURCE_ID *string_id_list; 301 UINT (*callback)(struct GX_STRING_SCROLL_WHEEL_STRUCT *, INT, GX_STRING *); 302 } GX_STRING_SCROLL_WHEEL_PROPERTIES; 303 304 typedef struct 305 { 306 int total_rows; 307 int selected_row; 308 GX_VALUE row_height; 309 GX_UBYTE start_alpha; 310 GX_UBYTE end_alpha; 311 GX_RESOURCE_ID normal_font; 312 GX_RESOURCE_ID selected_font; 313 GX_RESOURCE_ID normal_text_color; 314 GX_RESOURCE_ID selected_text_color; 315 GX_RESOURCE_ID disabled_text_color; 316 GX_RESOURCE_ID wallpaper_id; 317 GX_RESOURCE_ID selected_background; 318 UINT (*callback)(struct GX_NUMERIC_SCROLL_WHEEL_STRUCT *, INT, GX_STRING *); 319 int start_val; 320 int end_val; 321 } GX_NUMERIC_SCROLL_WHEEL_PROPERTIES; 322 323 typedef struct 324 { 325 GX_RESOURCE_ID string_id; 326 GX_RESOURCE_ID font_id; 327 GX_RESOURCE_ID normal_text_color_id; 328 GX_RESOURCE_ID selected_text_color_id; 329 GX_RESOURCE_ID disabled_text_color_id; 330 GX_RESOURCE_ID readonly_fill_color_id; 331 GX_RESOURCE_ID readonly_text_color_id; 332 GX_CHAR *buffer; 333 UINT buffer_size; 334 } GX_SINGLE_LINE_TEXT_INPUT_PROPERTIES; 335 336 typedef struct 337 { 338 GX_RESOURCE_ID string_id; 339 GX_RESOURCE_ID font_id; 340 GX_RESOURCE_ID normal_text_color_id; 341 GX_RESOURCE_ID selected_text_color_id; 342 GX_RESOURCE_ID disabled_text_color_id; 343 GX_UBYTE whitespace; 344 GX_BYTE line_space; 345 } GX_ML_TEXT_VIEW_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_RESOURCE_ID disabled_text_color_id; 354 GX_RESOURCE_ID readonly_fill_color_id; 355 GX_RESOURCE_ID readonly_text_color_id; 356 GX_UBYTE whitespace; 357 GX_BYTE line_space; 358 GX_CHAR *buffer; 359 UINT buffer_size; 360 } GX_MULTI_LINE_TEXT_INPUT_PROPERTIES; 361 362 typedef struct 363 { 364 GX_VALUE start_angle; 365 GX_VALUE animation_steps; 366 GX_VALUE animation_delay; 367 GX_VALUE needle_xpos; 368 GX_VALUE needle_ypos; 369 GX_VALUE needle_xcor; 370 GX_VALUE needle_ycor; 371 GX_RESOURCE_ID normal_pixelmap_id; 372 GX_RESOURCE_ID selected_pixelmap_id; 373 GX_RESOURCE_ID needle_pixelmap_id; 374 } GX_CIRCULAR_GAUGE_PROPERTIES; 375 376 typedef struct 377 { 378 GX_CONST GX_STUDIO_WIDGET *base_info; 379 UINT (*base_create_function) (GX_CONST struct GX_STUDIO_WIDGET_STRUCT *, GX_WIDGET *, GX_WIDGET *); 380 GX_RECTANGLE size; 381 } GX_TEMPLATE_PROPERTIES; 382 383 typedef struct 384 { 385 GX_RESOURCE_ID string_id; 386 GX_RESOURCE_ID font_id; 387 GX_RESOURCE_ID normal_text_color_id; 388 GX_RESOURCE_ID selected_text_color_id; 389 GX_RESOURCE_ID disabled_text_color_id; 390 GX_RESOURCE_ID left_map_id; 391 GX_RESOURCE_ID fill_map_id; 392 GX_RESOURCE_ID right_map_id; 393 GX_RESOURCE_ID selected_left_map_id; 394 GX_RESOURCE_ID selected_fill_map_id; 395 GX_RESOURCE_ID selected_right_map_id; 396 GX_VALUE text_x_offset; 397 GX_VALUE text_y_offset; 398 GX_VALUE list_total_count; 399 } GX_MENU_PROPERTIES; 400 401 typedef struct 402 { 403 GX_RESOURCE_ID expand_map_id; 404 GX_RESOURCE_ID collapse_map_id; 405 GX_RESOURCE_ID root_line_color_id; 406 GX_VALUE indentation; 407 } GX_TREE_VIEW_PROPERTIES; 408 409 typedef struct 410 { 411 GX_RESOURCE_ID string_id; 412 GX_RESOURCE_ID normal_text_color_id; 413 GX_RESOURCE_ID selected_text_color_id; 414 GX_RESOURCE_ID disabled_text_color_id; 415 GX_UBYTE whitespace; 416 GX_BYTE line_space; 417 GX_RICH_TEXT_FONTS *fonts; 418 } GX_RICH_TEXT_VIEW_PROPERTIES; 419 420 421 /* Declare top-level control blocks */ 422 423 typedef struct BASE_SCREEN_CONTROL_BLOCK_STRUCT 424 { 425 GX_WINDOW_MEMBERS_DECLARE 426 GX_ICON Base_Screen_Icon_EL_Logo; 427 GX_PIXELMAP_BUTTON Base_Screen_Next_Button; 428 } BASE_SCREEN_CONTROL_BLOCK; 429 430 typedef struct GAUGE_SCREEN_CONTROL_BLOCK_STRUCT 431 { 432 BASE_SCREEN_CONTROL_BLOCK base; 433 GX_PROMPT Gauge_Screen_Prompt_Circular_Gauges; 434 GX_CIRCULAR_GAUGE Gauge_Screen_Gauge_Animated; 435 GX_PROMPT Gauge_Screen_prompt_animated; 436 GX_PIXELMAP_SLIDER Gauge_Screen_Pixelmap_Slider_Animated; 437 GX_PIXELMAP_SLIDER Gauge_Screen_Pixelmap_Slider_Not_Animated; 438 GX_PROMPT Gauge_Screen_Prompt_Animated; 439 GX_PROMPT Gauge_Screen_Prompt_Not_Animated; 440 GX_CIRCULAR_GAUGE Gauge_Screen_Gauge_Not_Animated; 441 GX_PROMPT Gauge_Screen_prompt_not_animated; 442 } GAUGE_SCREEN_CONTROL_BLOCK; 443 444 typedef struct WINDOW_SCREEN_CONTROL_BLOCK_STRUCT 445 { 446 BASE_SCREEN_CONTROL_BLOCK base; 447 GX_PROMPT Window_Screen_Prompt_Nested_Windows; 448 GX_PROMPT Window_Screen_Prompt_Scollable_Frame; 449 GX_WINDOW Window_Screen_Nested_Window_BG; 450 GX_WINDOW Window_Screen_Nested_Window_Blue; 451 GX_WINDOW Window_Screen_nest_window; 452 GX_WINDOW Window_Screen_Scrollable_Frame_BG; 453 GX_WINDOW Window_Screen_Scrollable_Frame_Sky; 454 GX_SCROLLBAR Window_Screen_Hscroll; 455 GX_SCROLLBAR Window_Screen_Vertical_Scroll; 456 GX_PROMPT Window_Screen_Prompt_Vertical_List; 457 GX_PROMPT Window_Screen_Prompt_Horizontal_List; 458 GX_VERTICAL_LIST Window_Screen_Vertical_List; 459 GX_WINDOW Window_Screen_window_6; 460 GX_TEXT_BUTTON Window_Screen_button_1; 461 GX_WINDOW Window_Screen_window_8; 462 GX_TEXT_BUTTON Window_Screen_button_3; 463 GX_WINDOW Window_Screen_window_7; 464 GX_TEXT_BUTTON Window_Screen_button_2; 465 GX_HORIZONTAL_LIST Window_Screen_Horizontal_List; 466 GX_WINDOW Window_Screen_window_5; 467 GX_ICON_BUTTON Window_Screen_icon_button_1; 468 GX_WINDOW Window_Screen_window_9; 469 GX_ICON_BUTTON Window_Screen_icon_button_2; 470 GX_WINDOW Window_Screen_window_10; 471 GX_ICON_BUTTON Window_Screen_icon_button_3; 472 GX_WINDOW Window_Screen_window_11; 473 GX_ICON_BUTTON Window_Screen_icon_button_4; 474 GX_WINDOW Window_Screen_window_12; 475 GX_ICON_BUTTON Window_Screen_icon_button_5; 476 GX_DROP_LIST Window_Screen_Drop_List; 477 GX_PIXELMAP_BUTTON Window_Screen_Drop_List_Button; 478 GX_PROMPT Window_Screen_Prompt_Drop_List; 479 } WINDOW_SCREEN_CONTROL_BLOCK; 480 481 typedef struct SLIDER_SCREEN_CONTROL_BLOCK_STRUCT 482 { 483 BASE_SCREEN_CONTROL_BLOCK base; 484 GX_PROMPT Slider_Screen_Prompt_Various_Sliders; 485 GX_PIXELMAP_SLIDER Slider_Screen_Pixelmap_Slider_H; 486 GX_PIXELMAP_SLIDER Slider_Screen_Pixelmap_Slider_V; 487 GX_PIXELMAP_SLIDER Slider_Screen_Pixelmap_Slider_Thin_H; 488 GX_PIXELMAP_SLIDER Slider_Screen_Pixelmap_Slider_Thin_V; 489 GX_WINDOW Slider_Screen_Progress_Bar_BG; 490 GX_PROGRESS_BAR Slider_Screen_Progress_Bar; 491 GX_PROMPT Slider_Screen_Progress_Bar_Prompt; 492 GX_PIXELMAP_SLIDER Slider_Screen_Pixelmap_Slider_Red; 493 GX_ICON Slider_Screen_Icon_Red_Top; 494 GX_ICON Slider_Screen_Icon_Red_Bottom; 495 GX_PIXELMAP_SLIDER Slider_Screen_Pixelmap_Slider_Green; 496 GX_ICON Slider_Screen_Icon_Green_Top; 497 GX_ICON Slider_Screen_Icon_Green_Bottom; 498 GX_PIXELMAP_SLIDER Slider_Screen_Pixlemap_Slider_Orange; 499 GX_ICON Slider_Screen_Icon_Orange_Bottom; 500 GX_ICON Slider_Screen_Icon_Orange_Top; 501 } SLIDER_SCREEN_CONTROL_BLOCK; 502 503 typedef struct TEXT_SCREEN_CONTROL_BLOCK_STRUCT 504 { 505 BASE_SCREEN_CONTROL_BLOCK base; 506 GX_PROMPT Text_Screen_Prompt_Texts; 507 GX_PROMPT Text_Screen_Prompt_Transparent_Thin_Border; 508 GX_PROMPT Text_Screen_Prompt_Transparent_No_Border; 509 GX_PROMPT Text_Screen_Prompt_Transparent_Thick_Border; 510 GX_PIXELMAP_PROMPT Text_Screen_Pixelmap_Prompt; 511 GX_MULTI_LINE_TEXT_VIEW Text_Screen_ML_Text_View; 512 GX_MULTI_LINE_TEXT_INPUT Text_Screen_ML_Text_Input; 513 GX_SINGLE_LINE_TEXT_INPUT Text_Screen_text_input; 514 GX_NUMERIC_PROMPT Text_Screen_numeric_prompt; 515 GX_NUMERIC_PIXELMAP_PROMPT Text_Screen_numeric_pixelmap_prompt; 516 GX_RICH_TEXT_VIEW Text_Screen_ML_Text_Rich_View; 517 } TEXT_SCREEN_CONTROL_BLOCK; 518 519 typedef struct BUTTON_SCREEN_CONTROL_BLOCK_STRUCT 520 { 521 BASE_SCREEN_CONTROL_BLOCK base; 522 GX_PROMPT Button_Screen_Prompt_Button; 523 GX_PROMPT Button_Screen_Prompt_GX_BUTTON; 524 GX_PROMPT Button_Screen_Prompt_GX_TEXT_BUTTON; 525 GX_PROMPT Button_Screen_Prompt_GX_MULTI_LINE_TEXT_BUTTON; 526 GX_PIXELMAP_BUTTON Button_Screen_Pixelmap_Button; 527 GX_PROMPT Button_Screen_Prompt_GX_PIXELMAP_BUTTON; 528 GX_ICON Button_Screen_Icon; 529 GX_PROMPT Button_Screen_Prompt_GX_ICON_BUTTON; 530 GX_PROMPT Button_Screen_Prompt_GX_CHECKBOX; 531 GX_PROMPT Button_Screen_Prompt_GX_RADIO_BUTTON; 532 GX_CHECKBOX Button_Screen_Checkbox; 533 GX_RADIO_BUTTON Button_Screen_Radio_Button_Off; 534 GX_RADIO_BUTTON Button_Screen_Radio_Button_On; 535 GX_ICON_BUTTON Button_Screen_Icon_Button; 536 GX_TEXT_BUTTON Button_Screen_Text_Button; 537 GX_BUTTON Button_Screen_Button; 538 GX_MULTI_LINE_TEXT_BUTTON Button_Screen_Multi_Line_Button; 539 } BUTTON_SCREEN_CONTROL_BLOCK; 540 541 typedef struct MENU_SCREEN_CONTROL_BLOCK_STRUCT 542 { 543 BASE_SCREEN_CONTROL_BLOCK base; 544 GX_PROMPT Menu_Screen_title; 545 GX_ACCORDION_MENU Menu_Screen_accordion; 546 GX_MENU Menu_Screen_accordion_menu_1; 547 GX_ACCORDION_MENU Menu_Screen_embedded_accordion; 548 GX_MENU Menu_Screen_accordion_menu_1_1; 549 GX_MULTI_LINE_TEXT_VIEW Menu_Screen_accordion_menu_1_1_1; 550 GX_MENU Menu_Screen_accordion_menu_1_2; 551 GX_PROMPT Menu_Screen_accordion_menu_1_2_1; 552 GX_MENU Menu_Screen_accordion_menu_2; 553 GX_MENU Menu_Screen_accordion_menu_2_1; 554 GX_MENU Menu_Screen_accordion_menu_2_2; 555 GX_MENU Menu_Screen_accordion_menu_3; 556 GX_PROMPT Menu_Screen_accordion_menu_3_1; 557 GX_PROMPT Menu_Screen_accordion_menu_3_2; 558 GX_ICON Menu_Screen_accordion_menu_3_icon; 559 GX_TREE_VIEW Menu_Screen_tree_view; 560 GX_MENU Menu_Screen_tree_menu; 561 GX_PROMPT Menu_Screen_tree_menu_1; 562 GX_PROMPT Menu_Screen_tree_menu_1_1; 563 GX_ICON Menu_Screen_icon; 564 GX_MENU Menu_Screen_tree_menu_2; 565 GX_MENU Menu_Screen_tree_menu_2_1; 566 GX_PROMPT Menu_Screen_tree_menu_2_1_1; 567 GX_PROMPT Menu_Screen_tree_menu_2_1_2; 568 GX_ICON Menu_Screen_icon_1; 569 GX_MENU Menu_Screen_tree_menu_2_2; 570 GX_MENU Menu_Screen_tree_menu_2_2_1; 571 GX_PROMPT Menu_Screen_tree_menu_2_2_1_1; 572 GX_PROMPT Menu_Screen_tree_menu_2_2_1_2; 573 GX_ICON Menu_Screen_icon_2; 574 GX_ICON Menu_Screen_icon_3; 575 GX_ICON Menu_Screen_icon_4; 576 GX_MENU Menu_Screen_tree_menu_3; 577 GX_PROMPT Menu_Screen_tree_menu_3_1; 578 GX_ICON Menu_Screen_icon_5; 579 GX_SCROLLBAR Menu_Screen_tree_hscroll; 580 GX_SCROLLBAR Menu_Screen_tree_vscroll; 581 GX_MENU Menu_Screen_tree_menu_4; 582 GX_PROMPT Menu_Screen_prompt_10; 583 GX_ICON Menu_Screen_icon_6; 584 GX_PROMPT Menu_Screen_prompt; 585 GX_PROMPT Menu_Screen_prompt_1; 586 } MENU_SCREEN_CONTROL_BLOCK; 587 588 typedef struct SCROLL_WHEEL_SCREEN_CONTROL_BLOCK_STRUCT 589 { 590 BASE_SCREEN_CONTROL_BLOCK base; 591 GX_NUMERIC_SCROLL_WHEEL Scroll_Wheel_Screen_scroll_wheel_day; 592 GX_NUMERIC_SCROLL_WHEEL Scroll_Wheel_Screen_scroll_wheel_year; 593 GX_STRING_SCROLL_WHEEL Scroll_Wheel_Screen_scroll_wheel_month; 594 GX_PROMPT Scroll_Wheel_Screen_Prompt_Circular_Gauges_1; 595 } SCROLL_WHEEL_SCREEN_CONTROL_BLOCK; 596 597 598 /* extern statically defined control blocks */ 599 600 #ifndef GUIX_STUDIO_GENERATED_FILE 601 extern MENU_SCREEN_CONTROL_BLOCK Menu_Screen; 602 extern SCROLL_WHEEL_SCREEN_CONTROL_BLOCK Scroll_Wheel_Screen; 603 extern BASE_SCREEN_CONTROL_BLOCK Base_Screen; 604 extern GAUGE_SCREEN_CONTROL_BLOCK Gauge_Screen; 605 extern WINDOW_SCREEN_CONTROL_BLOCK Window_Screen; 606 extern SLIDER_SCREEN_CONTROL_BLOCK Slider_Screen; 607 extern TEXT_SCREEN_CONTROL_BLOCK Text_Screen; 608 extern BUTTON_SCREEN_CONTROL_BLOCK Button_Screen; 609 #endif 610 611 /* Declare event process functions, draw functions, and callback functions */ 612 613 UINT scroll_wheel_screen_event_process(GX_WINDOW *widget, GX_EVENT *event_ptr); 614 UINT day_wheel_value_format(GX_NUMERIC_SCROLL_WHEEL *wheel, INT row, GX_STRING *string); 615 VOID custom_next_button_draw(GX_PIXELMAP_BUTTON *widget); 616 UINT gauge_window_event_handler(GX_WINDOW *widget, GX_EVENT *event_ptr); 617 UINT window_screen_event_handler(GX_WINDOW *widget, GX_EVENT *event_ptr); 618 VOID nested_parent_window_draw(GX_WINDOW *widget); 619 UINT scroll_frame_event_handler(GX_WINDOW *widget, GX_EVENT *event_ptr); 620 VOID scroll_frame_draw(GX_WINDOW *widget); 621 VOID custom_text_button_draw(GX_TEXT_BUTTON *widget); 622 VOID custom_icon_button_draw(GX_ICON_BUTTON *widget); 623 VOID drop_list_row_create(GX_VERTICAL_LIST *, GX_WIDGET *, INT); 624 UINT slider_screen_event_process(GX_WINDOW *widget, GX_EVENT *event_ptr); 625 UINT text_screen_event_handler(GX_WINDOW *widget, GX_EVENT *event_ptr); 626 VOID custom_transparent_prompt_thick_border_draw(GX_PROMPT *widget); 627 VOID numeric_prompt_format_func(GX_NUMERIC_PROMPT *, INT); 628 VOID numeric_pixelmap_prompt_format_func(GX_NUMERIC_PIXELMAP_PROMPT *, INT); 629 VOID custom_button_draw(GX_BUTTON *widget); 630 VOID custom_multi_line_text_button_draw(GX_MULTI_LINE_TEXT_BUTTON *widget); 631 632 /* Declare the GX_STUDIO_DISPLAY_INFO structure */ 633 634 635 typedef struct GX_STUDIO_DISPLAY_INFO_STRUCT 636 { 637 GX_CONST GX_CHAR *name; 638 GX_CONST GX_CHAR *canvas_name; 639 GX_CONST GX_THEME **theme_table; 640 GX_CONST GX_STRING **language_table; 641 USHORT theme_table_size; 642 USHORT language_table_size; 643 UINT string_table_size; 644 UINT x_resolution; 645 UINT y_resolution; 646 GX_DISPLAY *display; 647 GX_CANVAS *canvas; 648 GX_WINDOW_ROOT *root_window; 649 GX_COLOR *canvas_memory; 650 ULONG canvas_memory_size; 651 USHORT rotation_angle; 652 } GX_STUDIO_DISPLAY_INFO; 653 654 655 /* Declare Studio-generated functions for creating top-level widgets */ 656 657 UINT gx_studio_button_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent); 658 UINT gx_studio_text_button_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent); 659 UINT gx_studio_multi_line_text_button_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent); 660 UINT gx_studio_checkbox_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent); 661 UINT gx_studio_radio_button_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent); 662 UINT gx_studio_icon_button_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent); 663 UINT gx_studio_pixelmap_button_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent); 664 UINT gx_studio_icon_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent); 665 UINT gx_studio_pixelmap_slider_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent); 666 UINT gx_studio_progress_bar_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent); 667 UINT gx_studio_prompt_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent); 668 UINT gx_studio_numeric_prompt_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent); 669 UINT gx_studio_pixelmap_prompt_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent); 670 UINT gx_studio_numeric_pixelmap_prompt_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent); 671 UINT gx_studio_window_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent); 672 UINT gx_studio_vertical_list_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent); 673 UINT gx_studio_horizontal_list_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent); 674 UINT gx_studio_drop_list_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent); 675 UINT gx_studio_string_scroll_wheel_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent); 676 UINT gx_studio_numeric_scroll_wheel_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent); 677 UINT gx_studio_text_input_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent); 678 UINT gx_studio_multi_line_text_view_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent); 679 UINT gx_studio_multi_line_text_input_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent); 680 UINT gx_studio_horizontal_scrollbar_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent); 681 UINT gx_studio_vertical_scrollbar_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent); 682 UINT gx_studio_circular_gauge_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent); 683 UINT gx_studio_template_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent); 684 UINT gx_studio_menu_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent); 685 UINT gx_studio_accordion_menu_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent); 686 UINT gx_studio_tree_view_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent); 687 UINT gx_studio_rich_text_view_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent); 688 GX_WIDGET *gx_studio_widget_create(GX_BYTE *storage, GX_CONST GX_STUDIO_WIDGET *definition, GX_WIDGET *parent); 689 UINT gx_studio_named_widget_create(char *name, GX_WIDGET *parent, GX_WIDGET **new_widget); 690 UINT gx_studio_display_configure(USHORT display, UINT (*driver)(GX_DISPLAY *), GX_UBYTE language, USHORT theme, GX_WINDOW_ROOT **return_root); 691 UINT gx_studio_auto_event_handler(GX_WIDGET *widget, GX_EVENT *event_ptr, GX_CONST GX_STUDIO_EVENT_PROCESS *record); 692 693 /* Determine if a C++ compiler is being used. If so, complete the standard 694 C conditional started above. */ 695 #ifdef __cplusplus 696 } 697 #endif 698 699 #endif /* sentry */ 700