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): 25. 8.2022   Time (hh:mm): 18:44                        */
10 /*******************************************************************************/
11 
12 
13 #ifndef _DEMO_GUIX_TRANSITIONS_SPECIFICATIONS_H_
14 #define _DEMO_GUIX_TRANSITIONS_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 IDB_CLOSE 1
26 #define IDB_INFO 2
27 #define IDB_SETTINGS 3
28 
29 
30 /* Define animation ids                                                        */
31 
32 #define ANIMATION_ABOUT_FADE_IN 1
33 #define ANIMATION_ABOUT_FADE_OUT 2
34 #define GX_NEXT_ANIMATION_ID 3
35 
36 
37 /* Define user event ids                                                       */
38 
39 #define GX_NEXT_USER_EVENT_ID GX_FIRST_USER_EVENT
40 
41 #define GX_ACTION_FLAG_DYNAMIC_TARGET 0x01
42 #define GX_ACTION_FLAG_DYNAMIC_PARENT 0x02
43 #define GX_ACTION_FLAG_POP_TARGET     0x04
44 #define GX_ACTION_FLAG_POP_PARENT     0x08
45 
46 typedef struct GX_STUDIO_ACTION_STRUCT
47 {
48     GX_UBYTE opcode;
49     GX_UBYTE flags;
50     GX_CONST VOID *parent;
51     GX_CONST VOID *target;
52     GX_CONST GX_ANIMATION_INFO  *animation;
53 } GX_STUDIO_ACTION;
54 
55 typedef struct GX_STUDIO_EVENT_ENTRY_STRUCT
56 {
57     ULONG event_type;
58     USHORT event_sender;
59     GX_CONST GX_STUDIO_ACTION *action_list;
60 } GX_STUDIO_EVENT_ENTRY;
61 
62 typedef struct GX_STUDIO_EVENT_PROCESS_STRUCT
63 {
64     GX_CONST GX_STUDIO_EVENT_ENTRY *event_table;
65     UINT (*chain_event_handler)(GX_WIDGET *, GX_EVENT *);
66 } GX_STUDIO_EVENT_PROCESS;
67 
68 /* Declare properties structures for each utilized widget type                 */
69 
70 typedef struct GX_STUDIO_WIDGET_STRUCT
71 {
72    GX_CHAR *widget_name;
73    USHORT  widget_type;
74    USHORT  widget_id;
75    #if defined(GX_WIDGET_USER_DATA)
76    INT   user_data;
77    #endif
78    ULONG style;
79    ULONG status;
80    ULONG control_block_size;
81    GX_RESOURCE_ID normal_fill_color_id;
82    GX_RESOURCE_ID selected_fill_color_id;
83    GX_RESOURCE_ID disabled_fill_color_id;
84    UINT (*create_function) (GX_CONST struct GX_STUDIO_WIDGET_STRUCT *, GX_WIDGET *, GX_WIDGET *);
85    void (*draw_function) (GX_WIDGET *);
86    UINT (*event_function) (GX_WIDGET *, GX_EVENT *);
87    GX_RECTANGLE size;
88    GX_CONST struct GX_STUDIO_WIDGET_STRUCT *next_widget;
89    GX_CONST struct GX_STUDIO_WIDGET_STRUCT *child_widget;
90    ULONG control_block_offset;
91    GX_CONST void *properties;
92 } GX_STUDIO_WIDGET;
93 
94 typedef struct
95 {
96     GX_CONST GX_STUDIO_WIDGET *widget_information;
97     GX_WIDGET        *widget;
98 } GX_STUDIO_WIDGET_ENTRY;
99 
100 typedef struct
101 {
102     GX_RESOURCE_ID string_id;
103     GX_RESOURCE_ID font_id;
104     GX_RESOURCE_ID normal_text_color_id;
105     GX_RESOURCE_ID selected_text_color_id;
106     GX_RESOURCE_ID disabled_text_color_id;
107     GX_RESOURCE_ID unchecked_pixelmap_id;
108     GX_RESOURCE_ID checked_pixelmap_id;
109     GX_RESOURCE_ID unchecked_disabled_pixelmap_id;
110     GX_RESOURCE_ID checked_disabled_pixelmap_id;
111 } GX_CHECKBOX_PROPERTIES;
112 
113 typedef struct
114 {
115     GX_RESOURCE_ID normal_pixelmap_id;
116     GX_RESOURCE_ID selected_pixelmap_id;
117     GX_RESOURCE_ID disabled_pixelmap_id;
118 } GX_PIXELMAP_BUTTON_PROPERTIES;
119 
120 typedef struct
121 {
122     GX_RESOURCE_ID normal_pixelmap_id;
123     GX_RESOURCE_ID selected_pixelmap_id;
124 } GX_ICON_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 disabled_text_color_id;
133 } GX_PROMPT_PROPERTIES;
134 
135 typedef struct
136 {
137     GX_RESOURCE_ID wallpaper_id;
138 } GX_WINDOW_PROPERTIES;
139 
140 
141 /* Declare top-level control blocks                                            */
142 
143 typedef struct PHOTO_3_CONTROL_BLOCK_STRUCT
144 {
145     GX_WINDOW_MEMBERS_DECLARE
146 } PHOTO_3_CONTROL_BLOCK;
147 
148 typedef struct PHOTO_2_CONTROL_BLOCK_STRUCT
149 {
150     GX_WINDOW_MEMBERS_DECLARE
151 } PHOTO_2_CONTROL_BLOCK;
152 
153 typedef struct PHOTO_1_CONTROL_BLOCK_STRUCT
154 {
155     GX_WINDOW_MEMBERS_DECLARE
156 } PHOTO_1_CONTROL_BLOCK;
157 
158 typedef struct SETTINGS_WIN_CONTROL_BLOCK_STRUCT
159 {
160     GX_WINDOW_MEMBERS_DECLARE
161     GX_PIXELMAP_BUTTON settings_win_close_button;
162     GX_ICON settings_win_icon;
163     GX_ICON settings_win_icon_2;
164     GX_PROMPT settings_win_prompt;
165     GX_CHECKBOX settings_win_checkbox;
166     GX_CHECKBOX settings_win_checkbox_1;
167     GX_CHECKBOX settings_win_checkbox_2;
168     GX_CHECKBOX settings_win_checkbox_3;
169     GX_CHECKBOX settings_win_checkbox_4;
170     GX_CHECKBOX settings_win_checkbox_5;
171     GX_CHECKBOX settings_win_checkbox_6;
172     GX_CHECKBOX settings_win_checkbox_7;
173 } SETTINGS_WIN_CONTROL_BLOCK;
174 
175 typedef struct BACKGROUND_WIN_CONTROL_BLOCK_STRUCT
176 {
177     GX_WINDOW_MEMBERS_DECLARE
178     GX_ICON background_win_logo;
179     GX_PIXELMAP_BUTTON background_win_info_button;
180     GX_ICON background_win_icon_7;
181     GX_PIXELMAP_BUTTON background_win_settings_button;
182     GX_ICON background_win_icon_8;
183     GX_WINDOW background_win_child_frame;
184     GX_PROMPT background_win_prompt_1;
185     GX_PROMPT background_win_prompt;
186 } BACKGROUND_WIN_CONTROL_BLOCK;
187 
188 typedef struct ABOUT_WIN_CONTROL_BLOCK_STRUCT
189 {
190     GX_WINDOW_MEMBERS_DECLARE
191     GX_PIXELMAP_BUTTON about_win_close_button;
192     GX_ICON about_win_icon;
193     GX_ICON about_win_icon_2;
194     GX_ICON about_win_icon_4;
195     GX_ICON about_win_icon_1;
196 } ABOUT_WIN_CONTROL_BLOCK;
197 
198 
199 /* extern statically defined control blocks                                    */
200 
201 #ifndef GUIX_STUDIO_GENERATED_FILE
202 extern PHOTO_3_CONTROL_BLOCK photo_3;
203 extern PHOTO_2_CONTROL_BLOCK photo_2;
204 extern PHOTO_1_CONTROL_BLOCK photo_1;
205 extern SETTINGS_WIN_CONTROL_BLOCK settings_win;
206 extern BACKGROUND_WIN_CONTROL_BLOCK background_win;
207 extern ABOUT_WIN_CONTROL_BLOCK about_win;
208 #endif
209 
210 /* Declare event process functions, draw functions, and callback functions     */
211 
212 UINT settings_win_event_process(GX_WINDOW *widget, GX_EVENT *event_ptr);
213 UINT BackgroundWinEventProcess(GX_WINDOW *widget, GX_EVENT *event_ptr);
214 
215 /* Declare the GX_STUDIO_DISPLAY_INFO structure                                */
216 
217 
218 typedef struct GX_STUDIO_DISPLAY_INFO_STRUCT
219 {
220     GX_CONST GX_CHAR *name;
221     GX_CONST GX_CHAR *canvas_name;
222     GX_CONST GX_THEME **theme_table;
223     GX_CONST GX_STRING **language_table;
224     USHORT   theme_table_size;
225     USHORT   language_table_size;
226     UINT     string_table_size;
227     UINT     x_resolution;
228     UINT     y_resolution;
229     GX_DISPLAY *display;
230     GX_CANVAS  *canvas;
231     GX_WINDOW_ROOT *root_window;
232     GX_COLOR   *canvas_memory;
233     ULONG      canvas_memory_size;
234     USHORT     rotation_angle;
235 } GX_STUDIO_DISPLAY_INFO;
236 
237 
238 /* Declare Studio-generated functions for creating top-level widgets           */
239 
240 UINT gx_studio_checkbox_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent);
241 UINT gx_studio_pixelmap_button_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent);
242 UINT gx_studio_icon_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent);
243 UINT gx_studio_prompt_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent);
244 UINT gx_studio_window_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent);
245 GX_WIDGET *gx_studio_widget_create(GX_BYTE *storage, GX_CONST GX_STUDIO_WIDGET *definition, GX_WIDGET *parent);
246 UINT gx_studio_named_widget_create(char *name, GX_WIDGET *parent, GX_WIDGET **new_widget);
247 UINT gx_studio_display_configure(USHORT display, UINT (*driver)(GX_DISPLAY *), GX_UBYTE language, USHORT theme, GX_WINDOW_ROOT **return_root);
248 UINT gx_studio_auto_event_handler(GX_WIDGET *widget, GX_EVENT *event_ptr, GX_CONST GX_STUDIO_EVENT_PROCESS *record);
249 
250 /* Determine if a C++ compiler is being used.  If so, complete the standard
251   C conditional started above.                                                 */
252 #ifdef __cplusplus
253 }
254 #endif
255 
256 #endif                                       /* sentry                         */
257