guiapp_specifications.h 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174
  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.0.0 */
  9. /* Date (dd.mm.yyyy): 24.11.2020 Time (hh:mm): 22:29 */
  10. /*******************************************************************************/
  11. #ifndef _GUIAPP_SPECIFICATIONS_H_
  12. #define _GUIAPP_SPECIFICATIONS_H_
  13. #include "gx_api.h"
  14. /* Determine if C++ compiler is being used, if so use standard C. */
  15. #ifdef __cplusplus
  16. extern "C" {
  17. #endif
  18. /* Define widget ids */
  19. #define GUIX_ID_WINDOW_Logo 1
  20. #define GUIX_ID_WINDOW_Main 2
  21. #define GUI_ID_TextButton0 3
  22. /* Define animation ids */
  23. #define GX_NEXT_ANIMATION_ID 1
  24. /* Define user event ids */
  25. #define GX_NEXT_USER_EVENT_ID GX_FIRST_USER_EVENT
  26. #define GX_ACTION_FLAG_DYNAMIC_TARGET 0x01
  27. #define GX_ACTION_FLAG_DYNAMIC_PARENT 0x02
  28. #define GX_ACTION_FLAG_POP_TARGET 0x04
  29. #define GX_ACTION_FLAG_POP_PARENT 0x08
  30. typedef struct GX_STUDIO_ACTION_STRUCT
  31. {
  32. GX_UBYTE opcode;
  33. GX_UBYTE flags;
  34. GX_CONST VOID *parent;
  35. GX_CONST VOID *target;
  36. GX_CONST GX_ANIMATION_INFO *animation;
  37. } GX_STUDIO_ACTION;
  38. typedef struct GX_STUDIO_EVENT_ENTRY_STRUCT
  39. {
  40. ULONG event_type;
  41. USHORT event_sender;
  42. GX_CONST GX_STUDIO_ACTION *action_list;
  43. } GX_STUDIO_EVENT_ENTRY;
  44. typedef struct GX_STUDIO_EVENT_PROCESS_STRUCT
  45. {
  46. GX_CONST GX_STUDIO_EVENT_ENTRY *event_table;
  47. UINT (*chain_event_handler)(GX_WIDGET *, GX_EVENT *);
  48. } GX_STUDIO_EVENT_PROCESS;
  49. /* Declare properties structures for each utilized widget type */
  50. typedef struct GX_STUDIO_WIDGET_STRUCT
  51. {
  52. GX_CHAR *widget_name;
  53. USHORT widget_type;
  54. USHORT widget_id;
  55. #if defined(GX_WIDGET_USER_DATA)
  56. INT user_data;
  57. #endif
  58. ULONG style;
  59. ULONG status;
  60. ULONG control_block_size;
  61. GX_RESOURCE_ID normal_fill_color_id;
  62. GX_RESOURCE_ID selected_fill_color_id;
  63. GX_RESOURCE_ID disabled_fill_color_id;
  64. UINT (*create_function) (GX_CONST struct GX_STUDIO_WIDGET_STRUCT *, GX_WIDGET *, GX_WIDGET *);
  65. void (*draw_function) (GX_WIDGET *);
  66. UINT (*event_function) (GX_WIDGET *, GX_EVENT *);
  67. GX_RECTANGLE size;
  68. GX_CONST struct GX_STUDIO_WIDGET_STRUCT *next_widget;
  69. GX_CONST struct GX_STUDIO_WIDGET_STRUCT *child_widget;
  70. ULONG control_block_offset;
  71. GX_CONST void *properties;
  72. } GX_STUDIO_WIDGET;
  73. typedef struct
  74. {
  75. GX_CONST GX_STUDIO_WIDGET *widget_information;
  76. GX_WIDGET *widget;
  77. } GX_STUDIO_WIDGET_ENTRY;
  78. typedef struct
  79. {
  80. GX_RESOURCE_ID string_id;
  81. GX_RESOURCE_ID font_id;
  82. GX_RESOURCE_ID normal_text_color_id;
  83. GX_RESOURCE_ID selected_text_color_id;
  84. GX_RESOURCE_ID disabled_text_color_id;
  85. } GX_TEXT_BUTTON_PROPERTIES;
  86. typedef struct
  87. {
  88. GX_RESOURCE_ID wallpaper_id;
  89. } GX_WINDOW_PROPERTIES;
  90. /* Declare top-level control blocks */
  91. typedef struct WINDOW_CONTROL_BLOCK_STRUCT
  92. {
  93. GX_WINDOW_MEMBERS_DECLARE
  94. } WINDOW_CONTROL_BLOCK;
  95. typedef struct WINDOW_1_CONTROL_BLOCK_STRUCT
  96. {
  97. GX_WINDOW_MEMBERS_DECLARE
  98. GX_TEXT_BUTTON window_1_button;
  99. } WINDOW_1_CONTROL_BLOCK;
  100. /* extern statically defined control blocks */
  101. #ifndef GUIX_STUDIO_GENERATED_FILE
  102. extern WINDOW_CONTROL_BLOCK window;
  103. extern WINDOW_1_CONTROL_BLOCK window_1;
  104. #endif
  105. /* Declare event process functions, draw functions, and callback functions */
  106. /* Declare the GX_STUDIO_DISPLAY_INFO structure */
  107. typedef struct GX_STUDIO_DISPLAY_INFO_STRUCT
  108. {
  109. GX_CONST GX_CHAR *name;
  110. GX_CONST GX_CHAR *canvas_name;
  111. GX_CONST GX_THEME **theme_table;
  112. GX_CONST GX_STRING **language_table;
  113. USHORT theme_table_size;
  114. USHORT language_table_size;
  115. UINT string_table_size;
  116. UINT x_resolution;
  117. UINT y_resolution;
  118. GX_DISPLAY *display;
  119. GX_CANVAS *canvas;
  120. GX_WINDOW_ROOT *root_window;
  121. GX_COLOR *canvas_memory;
  122. ULONG canvas_memory_size;
  123. } GX_STUDIO_DISPLAY_INFO;
  124. /* Declare Studio-generated functions for creating top-level widgets */
  125. UINT gx_studio_text_button_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent);
  126. UINT gx_studio_window_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent);
  127. GX_WIDGET *gx_studio_widget_create(GX_BYTE *storage, GX_CONST GX_STUDIO_WIDGET *definition, GX_WIDGET *parent);
  128. UINT gx_studio_named_widget_create(char *name, GX_WIDGET *parent, GX_WIDGET **new_widget);
  129. UINT gx_studio_display_configure(USHORT display, UINT (*driver)(GX_DISPLAY *), GX_UBYTE language, USHORT theme, GX_WINDOW_ROOT **return_root);
  130. UINT gx_studio_auto_event_handler(GX_WIDGET *widget, GX_EVENT *event_ptr, GX_CONST GX_STUDIO_EVENT_PROCESS *record);
  131. /* Determine if a C++ compiler is being used. If so, complete the standard
  132. C conditional started above. */
  133. #ifdef __cplusplus
  134. }
  135. #endif
  136. #endif /* sentry */