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.1.12.0 */ 9 /* Date (dd.mm.yyyy): 30. 8.2022 Time (hh:mm): 15:21 */ 10 /*******************************************************************************/ 11 12 13 #ifndef _DEMO_GUIX_CAR_INFOTAINMENT_SPECIFICATIONS_H_ 14 #define _DEMO_GUIX_CAR_INFOTAINMENT_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_VOLUME_PROGRESS_BAR 1 26 #define ID_BTN_MUTE 2 27 #define ID_SCREEN_WEATHER_WIN 3 28 #define ID_HOME_BTN 4 29 #define ID_LOGO 5 30 #define ID_VIDEO_SCREEN 6 31 #define ID_PLAY_BTN_SMALL 7 32 #define ID_PLAY_BTN_BIG 8 33 #define ID_AUDIO_SCREEN 9 34 #define ID_BTN_KEYPAD 10 35 #define ID_BTN_END_CALL 11 36 #define ID_PREVIOUS 12 37 #define ID_NEXT 13 38 #define ID_PLAY_BTN 14 39 #define ID_PHONE_SCREEN 15 40 #define ID_CLIMATE_SCREEN 16 41 #define ID_RIGHT_PROGRESS_BAR 17 42 #define ID_LEFT_PROGRESS_BAR 18 43 #define ID_LEFT_FAN_BUTTON 19 44 #define ID_LEFT_SMALL_FAN_BUTTON 20 45 #define ID_RIGHT_SMALL_FAN_BUTTON 21 46 #define ID_RIGHT_FAN_BUTTON 22 47 #define ID_VEHICLE_SCREEN 23 48 #define ID_MODE_ECO_BTN 24 49 #define ID_MODE_COMFORT_BTN 25 50 #define ID_MODE_SPORT_BTN 26 51 #define ID_LIGHT_SPRITE_LEFT 27 52 #define ID_LIGHT_SPRITE_RIGHT 28 53 #define ID_MAIN_SCREEN 29 54 #define ID_MAIN_WEATHER_WIN 30 55 #define ID_BTN_WIN 31 56 #define ID_VEHICLE_BTN 32 57 #define ID_CLIMATE_BTN 33 58 #define ID_PHONE_BTN 34 59 #define ID_AUDIO_BTN 35 60 #define ID_VIDEO_BTN 36 61 #define ID_VEHICLE_MODE_BUTTON 37 62 #define ID_ON_OFF_BTN 38 63 64 65 /* Define animation ids */ 66 67 #define ID_ANI_SLIDE_IN_PROGRESS_BAR_WIN 1 68 #define GX_NEXT_ANIMATION_ID 2 69 70 71 /* Define user event ids */ 72 73 enum user_defined_events{ 74 USER_EVENT_SLIDE_IN_MUSIC_INFO_WIN = GX_FIRST_USER_EVENT, 75 GX_NEXT_USER_EVENT_ID 76 }; 77 78 #define GX_ACTION_FLAG_DYNAMIC_TARGET 0x01 79 #define GX_ACTION_FLAG_DYNAMIC_PARENT 0x02 80 #define GX_ACTION_FLAG_POP_TARGET 0x04 81 #define GX_ACTION_FLAG_POP_PARENT 0x08 82 83 typedef struct GX_STUDIO_ACTION_STRUCT 84 { 85 GX_UBYTE opcode; 86 GX_UBYTE flags; 87 GX_CONST VOID *parent; 88 GX_CONST VOID *target; 89 GX_CONST GX_ANIMATION_INFO *animation; 90 } GX_STUDIO_ACTION; 91 92 typedef struct GX_STUDIO_EVENT_ENTRY_STRUCT 93 { 94 ULONG event_type; 95 USHORT event_sender; 96 GX_CONST GX_STUDIO_ACTION *action_list; 97 } GX_STUDIO_EVENT_ENTRY; 98 99 typedef struct GX_STUDIO_EVENT_PROCESS_STRUCT 100 { 101 GX_CONST GX_STUDIO_EVENT_ENTRY *event_table; 102 UINT (*chain_event_handler)(GX_WIDGET *, GX_EVENT *); 103 } GX_STUDIO_EVENT_PROCESS; 104 105 /* Declare properties structures for each utilized widget type */ 106 107 typedef struct GX_STUDIO_WIDGET_STRUCT 108 { 109 GX_CHAR *widget_name; 110 USHORT widget_type; 111 USHORT widget_id; 112 #if defined(GX_WIDGET_USER_DATA) 113 INT user_data; 114 #endif 115 ULONG style; 116 ULONG status; 117 ULONG control_block_size; 118 GX_RESOURCE_ID normal_fill_color_id; 119 GX_RESOURCE_ID selected_fill_color_id; 120 GX_RESOURCE_ID disabled_fill_color_id; 121 UINT (*create_function) (GX_CONST struct GX_STUDIO_WIDGET_STRUCT *, GX_WIDGET *, GX_WIDGET *); 122 void (*draw_function) (GX_WIDGET *); 123 UINT (*event_function) (GX_WIDGET *, GX_EVENT *); 124 GX_RECTANGLE size; 125 GX_CONST struct GX_STUDIO_WIDGET_STRUCT *next_widget; 126 GX_CONST struct GX_STUDIO_WIDGET_STRUCT *child_widget; 127 ULONG control_block_offset; 128 GX_CONST void *properties; 129 } GX_STUDIO_WIDGET; 130 131 typedef struct 132 { 133 GX_CONST GX_STUDIO_WIDGET *widget_information; 134 GX_WIDGET *widget; 135 } GX_STUDIO_WIDGET_ENTRY; 136 137 typedef struct 138 { 139 GX_RESOURCE_ID pixelmap_id; 140 } GX_ICON_BUTTON_PROPERTIES; 141 142 typedef struct 143 { 144 GX_RESOURCE_ID normal_pixelmap_id; 145 GX_RESOURCE_ID selected_pixelmap_id; 146 GX_RESOURCE_ID disabled_pixelmap_id; 147 } GX_PIXELMAP_BUTTON_PROPERTIES; 148 149 typedef struct 150 { 151 GX_RESOURCE_ID normal_pixelmap_id; 152 GX_RESOURCE_ID selected_pixelmap_id; 153 } GX_ICON_PROPERTIES; 154 155 typedef struct 156 { 157 GX_VALUE xcenter; 158 GX_VALUE ycenter; 159 USHORT radius; 160 USHORT track_width; 161 GX_VALUE current_angle; 162 GX_VALUE min_angle; 163 GX_VALUE max_angle; 164 GX_RESOURCE_ID background_pixelmap; 165 GX_RESOURCE_ID needle_pixelmap; 166 USHORT animation_total_steps; 167 USHORT animation_delay; 168 USHORT animation_style; 169 VOID (*animation_update_callback)(struct GX_RADIAL_SLIDER_STRUCT *slider); 170 } GX_RADIAL_SLIDER_PROPERTIES; 171 172 typedef struct 173 { 174 GX_SPRITE_FRAME *frame_list; 175 USHORT frame_count; 176 } GX_SPRITE_PROPERTIES; 177 178 typedef struct 179 { 180 GX_RESOURCE_ID string_id; 181 GX_RESOURCE_ID font_id; 182 GX_RESOURCE_ID normal_text_color_id; 183 GX_RESOURCE_ID selected_text_color_id; 184 GX_RESOURCE_ID disabled_text_color_id; 185 } GX_PROMPT_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 VOID (*format_func)(GX_NUMERIC_PROMPT *, INT); 195 INT numeric_prompt_value; 196 } GX_NUMERIC_PROMPT_PROPERTIES; 197 198 typedef struct 199 { 200 GX_RESOURCE_ID wallpaper_id; 201 } GX_WINDOW_PROPERTIES; 202 203 typedef struct 204 { 205 GX_CONST GX_STUDIO_WIDGET *base_info; 206 UINT (*base_create_function) (GX_CONST struct GX_STUDIO_WIDGET_STRUCT *, GX_WIDGET *, GX_WIDGET *); 207 GX_RECTANGLE size; 208 } GX_TEMPLATE_PROPERTIES; 209 210 211 /* Declare top-level control blocks */ 212 213 typedef struct BASE_CONTROL_BLOCK_STRUCT 214 { 215 GX_WINDOW_MEMBERS_DECLARE 216 GX_ICON base_logo; 217 } BASE_CONTROL_BLOCK; 218 219 typedef struct MAIN_SCREEN_CONTROL_BLOCK_STRUCT 220 { 221 BASE_CONTROL_BLOCK base; 222 GX_ICON main_screen_speedometer; 223 GX_NUMERIC_PROMPT main_screen_MPH_val; 224 GX_PROMPT main_screen_MPH_label; 225 GX_ICON main_screen_gear_position; 226 GX_PROMPT main_screen_prompt_11_4; 227 GX_PROMPT main_screen_prompt_11_5; 228 GX_PROMPT main_screen_prompt_11_6; 229 GX_PROMPT main_screen_prompt_11_7; 230 GX_WINDOW main_screen_weather_win; 231 GX_NUMERIC_PROMPT main_screen_time_hour; 232 GX_NUMERIC_PROMPT main_screen_time_minute; 233 GX_ICON main_screen_weather_icon; 234 GX_NUMERIC_PROMPT main_screen_temperature; 235 GX_ICON main_screen_second_dot_up; 236 GX_ICON main_screen_second_dot_down; 237 GX_WINDOW main_screen_btn_window; 238 GX_PIXELMAP_BUTTON main_screen_vehicle_btn; 239 GX_ICON main_screen_icon; 240 GX_PROMPT main_screen_prompt; 241 GX_PIXELMAP_BUTTON main_screen_climate_btn; 242 GX_ICON main_screen_icon_1; 243 GX_PROMPT main_screen_prompt_1; 244 GX_PIXELMAP_BUTTON main_screen_phone_btn; 245 GX_ICON main_screen_icon_2; 246 GX_PROMPT main_screen_prompt_2; 247 GX_PIXELMAP_BUTTON main_screen_audio_btn; 248 GX_ICON main_screen_icon_3; 249 GX_PROMPT main_screen_prompt_3; 250 GX_PIXELMAP_BUTTON main_screen_video_btn; 251 GX_ICON main_screen_icon_4; 252 GX_PROMPT main_screen_prompt_4; 253 GX_NUMERIC_PROMPT main_screen_remain_miles; 254 GX_NUMERIC_PROMPT main_screen_remain_battery; 255 GX_PROMPT main_screen_prompt_11; 256 GX_PROMPT main_screen_prompt_11_1; 257 GX_ICON main_screen_horizontal_line; 258 GX_ICON main_screen_battery_icon; 259 GX_PROGRESS_BAR main_screen_battery_progress_bar; 260 GX_PROMPT main_screen_vehicle_mode_text; 261 GX_PIXELMAP_BUTTON main_screen_vehicle_mode_button; 262 GX_ICON main_screen_vehicle_mode_icon; 263 GX_RADIAL_SLIDER main_screen_radial_slider; 264 GX_PIXELMAP_BUTTON main_screen_on_off_btn; 265 GX_ICON main_screen_icon_5; 266 GX_PROMPT main_screen_on_off_text; 267 } MAIN_SCREEN_CONTROL_BLOCK; 268 269 typedef struct SCREEN_BASE_CONTROL_BLOCK_STRUCT 270 { 271 BASE_CONTROL_BLOCK base; 272 GX_WINDOW screen_base_weather_win; 273 GX_NUMERIC_PROMPT screen_base_hour; 274 GX_NUMERIC_PROMPT screen_base_minute; 275 GX_ICON screen_base_weather_icon; 276 GX_NUMERIC_PROMPT screen_base_temperature; 277 GX_ICON screen_base_second_dot_down; 278 GX_ICON screen_base_second_dot_up; 279 GX_PIXELMAP_BUTTON screen_base_home_btn; 280 } SCREEN_BASE_CONTROL_BLOCK; 281 282 typedef struct VIDEO_SCREEN_CONTROL_BLOCK_STRUCT 283 { 284 SCREEN_BASE_CONTROL_BLOCK base; 285 GX_WINDOW video_screen_window_1; 286 GX_WINDOW video_screen_video_play_progress_bar_bg; 287 GX_PROGRESS_BAR video_screen_video_play_progress_bar; 288 GX_PIXELMAP_BUTTON video_screen_play_btn_small; 289 GX_PIXELMAP_BUTTON video_screen_pixelmap_button_7; 290 GX_PIXELMAP_BUTTON video_screen_pixelmap_button_8; 291 GX_PIXELMAP_BUTTON video_screen_pixelmap_button_9; 292 GX_NUMERIC_PROMPT video_screen_minute; 293 GX_NUMERIC_PROMPT video_screen_second; 294 GX_PROMPT video_screen_second_colon; 295 GX_WINDOW video_screen_play_btn_big_win; 296 GX_PIXELMAP_BUTTON video_screen_play_btn_big; 297 } VIDEO_SCREEN_CONTROL_BLOCK; 298 299 typedef struct CLIMATE_SCREEN_CONTROL_BLOCK_STRUCT 300 { 301 SCREEN_BASE_CONTROL_BLOCK base; 302 GX_WINDOW climate_screen_right_progress_bar_win; 303 GX_WINDOW climate_screen_right_progress_bar_bg; 304 GX_PROGRESS_BAR climate_screen_right_progress_bar; 305 GX_NUMERIC_PROMPT climate_screen_right_progress_val; 306 GX_PROMPT climate_screen_prompt; 307 GX_WINDOW climate_screen_left_progress_bar_win; 308 GX_WINDOW climate_screen_left_progress_bar_bg; 309 GX_PROGRESS_BAR climate_screen_left_progress_bar; 310 GX_NUMERIC_PROMPT climate_screen_left_progress_val; 311 GX_PROMPT climate_screen_prompt_7; 312 GX_ICON climate_screen_left_lines_icon; 313 GX_PIXELMAP_BUTTON climate_screen_pixelmap_button_3; 314 GX_PIXELMAP_BUTTON climate_screen_pixelmap_button; 315 GX_ICON climate_screen_right_lines; 316 GX_PIXELMAP_BUTTON climate_screen_pixelmap_button_1; 317 GX_PIXELMAP_BUTTON climate_screen_pixelmap_button_2; 318 GX_ICON climate_screen_center_line; 319 GX_ICON climate_screen_right_seat; 320 GX_PROMPT climate_screen_left_fan_mode; 321 GX_PROMPT climate_screen_right_fan_mode; 322 GX_PIXELMAP_BUTTON climate_screen_left_fan_button; 323 GX_PIXELMAP_BUTTON climate_screen_left_small_fan_button; 324 GX_PIXELMAP_BUTTON climate_screen_right_small_fan_button; 325 GX_PIXELMAP_BUTTON climate_screen_right_fan_button; 326 GX_ICON climate_screen_left_seat; 327 GX_ICON_BUTTON climate_screen_left_warmer_icon_button; 328 GX_ICON climate_screen_icon_14_3; 329 GX_ICON climate_screen_icon_14_12; 330 GX_ICON climate_screen_icon_14_13; 331 GX_ICON_BUTTON climate_screen_right_warmer_icon_button; 332 GX_ICON climate_screen_icon_14_16_1; 333 GX_ICON climate_screen_icon_14_14_1; 334 GX_ICON climate_screen_icon_14_15_1; 335 } CLIMATE_SCREEN_CONTROL_BLOCK; 336 337 typedef struct VEHICLE_SCREEN_CONTROL_BLOCK_STRUCT 338 { 339 SCREEN_BASE_CONTROL_BLOCK base; 340 GX_PIXELMAP_BUTTON vehicle_screen_mode_eco_btn; 341 GX_ICON vehicle_screen_icon_6; 342 GX_PROMPT vehicle_screen_prompt_6; 343 GX_PIXELMAP_BUTTON vehicle_screen_mode_comfort_btn; 344 GX_ICON vehicle_screen_icon; 345 GX_PROMPT vehicle_screen_prompt; 346 GX_PIXELMAP_BUTTON vehicle_screen_mode_sport_btn; 347 GX_ICON vehicle_screen_icon_1; 348 GX_PROMPT vehicle_screen_prompt_1; 349 GX_PROMPT vehicle_screen_prompt_2; 350 GX_PROMPT vehicle_screen_prompt_3; 351 GX_ICON vehicle_screen_car_icon; 352 GX_SPRITE vehicle_screen_light_sprite_left; 353 GX_SPRITE vehicle_screen_light_sprite_right; 354 GX_ICON vehicle_screen_icon_8; 355 GX_ICON vehicle_screen_icon_9; 356 GX_ICON vehicle_screen_icon_2; 357 GX_ICON vehicle_screen_icon_3; 358 GX_ICON vehicle_screen_icon_4; 359 GX_ICON vehicle_screen_icon_5; 360 GX_ICON vehicle_screen_icon_10; 361 GX_NUMERIC_PROMPT vehicle_screen_battery_usage; 362 GX_NUMERIC_PROMPT vehicle_screen_miles; 363 GX_NUMERIC_PROMPT vehicle_screen_windshield_washer_level; 364 GX_NUMERIC_PROMPT vehicle_screen_lights_bulbs; 365 GX_NUMERIC_PROMPT vehicle_screen_air_filter_usage; 366 GX_NUMERIC_PROMPT vehicle_screen_front_left_brake_pad; 367 GX_NUMERIC_PROMPT vehicle_screen_front_right_brake_pad; 368 GX_NUMERIC_PROMPT vehicle_screen_rear_left_brake_pad; 369 GX_NUMERIC_PROMPT vehicle_screen_rear_right_brake_pad; 370 GX_NUMERIC_PROMPT vehicle_screen_front_left_tire_pressure; 371 GX_NUMERIC_PROMPT vehicle_screen_front_right_tire_pressure; 372 GX_NUMERIC_PROMPT vehicle_screen_rear_left_tire_pressure; 373 GX_NUMERIC_PROMPT vehicle_screen_rear_right_tire_pressure; 374 GX_PROMPT vehicle_screen_prompt_13; 375 GX_PROMPT vehicle_screen_prompt_13_1; 376 GX_PROMPT vehicle_screen_prompt_13_2; 377 GX_PROMPT vehicle_screen_prompt_13_3; 378 GX_PROMPT vehicle_screen_prompt_13_4; 379 GX_PROMPT vehicle_screen_prompt_13_5; 380 GX_PROMPT vehicle_screen_prompt_13_6; 381 GX_PROMPT vehicle_screen_prompt_13_7; 382 GX_PROMPT vehicle_screen_prompt_13_8; 383 GX_PROMPT vehicle_screen_prompt_13_9; 384 GX_PROMPT vehicle_screen_prompt_13_10; 385 GX_PROMPT vehicle_screen_prompt_13_11; 386 GX_PROMPT vehicle_screen_prompt_13_11_1; 387 GX_PROMPT vehicle_screen_prompt_13_11_2; 388 GX_PROMPT vehicle_screen_prompt_13_11_3; 389 GX_ICON vehicle_screen_icon_11; 390 GX_ICON vehicle_screen_icon_11_1; 391 } VEHICLE_SCREEN_CONTROL_BLOCK; 392 393 typedef struct VOLUME_SCREEN_BASE_CONTROL_BLOCK_STRUCT 394 { 395 SCREEN_BASE_CONTROL_BLOCK base; 396 GX_WINDOW volume_screen_base_volume_progress_bar_win; 397 GX_WINDOW volume_screen_base_volume_progress_bar_bg; 398 GX_PROGRESS_BAR volume_screen_base_volume_progress_bar; 399 GX_NUMERIC_PROMPT volume_screen_base_volume_value; 400 GX_PROMPT volume_screen_base_volume_label; 401 GX_PIXELMAP_BUTTON volume_screen_base_mute_btn; 402 GX_PROMPT volume_screen_base_prompt_14; 403 GX_ICON volume_screen_base_bute_btn_icon_1; 404 } VOLUME_SCREEN_BASE_CONTROL_BLOCK; 405 406 typedef struct AUDIO_SCREEN_CONTROL_BLOCK_STRUCT 407 { 408 VOLUME_SCREEN_BASE_CONTROL_BLOCK base; 409 GX_WINDOW audio_screen_music_info_win; 410 GX_PROMPT audio_screen_music_name; 411 GX_PROMPT audio_screen_singer_name; 412 GX_NUMERIC_PROMPT audio_screen_second; 413 GX_PROMPT audio_screen_second_colon; 414 GX_NUMERIC_PROMPT audio_screen_minute; 415 GX_PIXELMAP_BUTTON audio_screen_keypad_btn; 416 GX_PROMPT audio_screen_prompt_6; 417 GX_ICON audio_screen_icon; 418 GX_PIXELMAP_BUTTON audio_screen_end_call_btn; 419 GX_PROMPT audio_screen_prompt_1; 420 GX_ICON audio_screen_end_call_btn_icon; 421 GX_PIXELMAP_BUTTON audio_screen_pixelmap_button_4; 422 GX_PIXELMAP_BUTTON audio_screen_pixelmap_button; 423 GX_WINDOW audio_screen_window; 424 GX_RADIAL_PROGRESS_BAR audio_screen_radial_progress_bar; 425 GX_PIXELMAP_BUTTON audio_screen_play_btn; 426 GX_WINDOW audio_screen_play_mode_win; 427 GX_PIXELMAP_BUTTON audio_screen_pixelmap_button_1; 428 GX_PIXELMAP_BUTTON audio_screen_pixelmap_button_2; 429 GX_PIXELMAP_BUTTON audio_screen_pixelmap_button_5; 430 } AUDIO_SCREEN_CONTROL_BLOCK; 431 432 typedef struct PHONE_SCREEN_CONTROL_BLOCK_STRUCT 433 { 434 VOLUME_SCREEN_BASE_CONTROL_BLOCK base; 435 GX_PIXELMAP_BUTTON phone_screen_keypad_btn; 436 GX_PROMPT phone_screen_prompt_6; 437 GX_ICON phone_screen_icon; 438 GX_PIXELMAP_BUTTON phone_screen_end_call_btn; 439 GX_PROMPT phone_screen_prompt_1; 440 GX_ICON phone_screen_end_call_btn_icon; 441 GX_WINDOW phone_screen_phone_call_win; 442 GX_PROMPT phone_screen_name; 443 GX_ICON phone_screen_portait_icon; 444 GX_ICON phone_screen_icon_15; 445 GX_NUMERIC_PROMPT phone_screen_minute; 446 GX_NUMERIC_PROMPT phone_screen_second; 447 GX_PROMPT phone_screen_second_colon; 448 } PHONE_SCREEN_CONTROL_BLOCK; 449 450 451 /* extern statically defined control blocks */ 452 453 #ifndef GUIX_STUDIO_GENERATED_FILE 454 extern VOLUME_SCREEN_BASE_CONTROL_BLOCK volume_screen_base; 455 extern SCREEN_BASE_CONTROL_BLOCK screen_base; 456 extern BASE_CONTROL_BLOCK base; 457 extern VIDEO_SCREEN_CONTROL_BLOCK video_screen; 458 extern AUDIO_SCREEN_CONTROL_BLOCK audio_screen; 459 extern PHONE_SCREEN_CONTROL_BLOCK phone_screen; 460 extern CLIMATE_SCREEN_CONTROL_BLOCK climate_screen; 461 extern VEHICLE_SCREEN_CONTROL_BLOCK vehicle_screen; 462 extern MAIN_SCREEN_CONTROL_BLOCK main_screen; 463 #endif 464 465 /* Declare event process functions, draw functions, and callback functions */ 466 467 UINT volume_screen_base_event_process(GX_WINDOW *widget, GX_EVENT *event_ptr); 468 UINT volume_progress_bar_event_process(GX_PROGRESS_BAR *widget, GX_EVENT *event_ptr); 469 VOID custom_pixelmap_button_draw(GX_PIXELMAP_BUTTON *widget); 470 UINT screen_base_event_process(GX_WINDOW *widget, GX_EVENT *event_ptr); 471 UINT base_event_process(GX_WINDOW *widget, GX_EVENT *event_ptr); 472 UINT video_screen_event_process(GX_WINDOW *widget, GX_EVENT *event_ptr); 473 VOID video_screen_pixelmap_button_draw(GX_PIXELMAP_BUTTON *widget); 474 VOID time_value_format(GX_NUMERIC_PROMPT *, INT); 475 UINT audio_screen_event_process(GX_WINDOW *widget, GX_EVENT *event_ptr); 476 UINT phone_screen_event_process(GX_WINDOW *widget, GX_EVENT *event_ptr); 477 UINT climate_screen_event_process(GX_WINDOW *widget, GX_EVENT *event_ptr); 478 UINT custom_progress_bar_event_process(GX_PROGRESS_BAR *widget, GX_EVENT *event_ptr); 479 UINT vehicle_screen_event_process(GX_WINDOW *widget, GX_EVENT *event_ptr); 480 UINT main_screen_event_process(GX_WINDOW *widget, GX_EVENT *event_ptr); 481 VOID radial_slider_draw(GX_RADIAL_SLIDER *widget); 482 483 /* Declare the GX_STUDIO_DISPLAY_INFO structure */ 484 485 486 typedef struct GX_STUDIO_DISPLAY_INFO_STRUCT 487 { 488 GX_CONST GX_CHAR *name; 489 GX_CONST GX_CHAR *canvas_name; 490 GX_CONST GX_THEME **theme_table; 491 GX_CONST GX_STRING **language_table; 492 USHORT theme_table_size; 493 USHORT language_table_size; 494 UINT string_table_size; 495 UINT x_resolution; 496 UINT y_resolution; 497 GX_DISPLAY *display; 498 GX_CANVAS *canvas; 499 GX_WINDOW_ROOT *root_window; 500 GX_COLOR *canvas_memory; 501 ULONG canvas_memory_size; 502 USHORT rotation_angle; 503 } GX_STUDIO_DISPLAY_INFO; 504 505 506 /* Declare Studio-generated functions for creating top-level widgets */ 507 508 UINT gx_studio_icon_button_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent); 509 UINT gx_studio_pixelmap_button_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent); 510 UINT gx_studio_icon_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent); 511 UINT gx_studio_progress_bar_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent); 512 UINT gx_studio_radial_progress_bar_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent); 513 UINT gx_studio_radial_slider_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent); 514 UINT gx_studio_sprite_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent); 515 UINT gx_studio_prompt_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent); 516 UINT gx_studio_numeric_prompt_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent); 517 UINT gx_studio_window_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent); 518 UINT gx_studio_template_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent); 519 GX_WIDGET *gx_studio_widget_create(GX_BYTE *storage, GX_CONST GX_STUDIO_WIDGET *definition, GX_WIDGET *parent); 520 UINT gx_studio_named_widget_create(char *name, GX_WIDGET *parent, GX_WIDGET **new_widget); 521 UINT gx_studio_display_configure(USHORT display, UINT (*driver)(GX_DISPLAY *), GX_UBYTE language, USHORT theme, GX_WINDOW_ROOT **return_root); 522 UINT gx_studio_auto_event_handler(GX_WIDGET *widget, GX_EVENT *event_ptr, GX_CONST GX_STUDIO_EVENT_PROCESS *record); 523 524 /* Determine if a C++ compiler is being used. If so, complete the standard 525 C conditional started above. */ 526 #ifdef __cplusplus 527 } 528 #endif 529 530 #endif /* sentry */ 531