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:11                        */
10 /*******************************************************************************/
11 
12 
13 #ifndef _RUNTIME_ALLOCATE_16BPP_SPECIFICATIONS_H_
14 #define _RUNTIME_ALLOCATE_16BPP_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_HSCROLL 1
26 
27 
28 /* Define animation ids                                                        */
29 
30 #define GX_NEXT_ANIMATION_ID 1
31 
32 
33 /* Define user event ids                                                       */
34 
35 #define GX_NEXT_USER_EVENT_ID GX_FIRST_USER_EVENT
36 
37 
38 /* Declare properties structures for each utilized widget type                 */
39 
40 typedef struct GX_STUDIO_WIDGET_STRUCT
41 {
42    GX_CHAR *widget_name;
43    USHORT  widget_type;
44    USHORT  widget_id;
45    #if defined(GX_WIDGET_USER_DATA)
46    INT   user_data;
47    #endif
48    ULONG style;
49    ULONG status;
50    ULONG control_block_size;
51    GX_RESOURCE_ID normal_fill_color_id;
52    GX_RESOURCE_ID selected_fill_color_id;
53    GX_RESOURCE_ID disabled_fill_color_id;
54    UINT (*create_function) (GX_CONST struct GX_STUDIO_WIDGET_STRUCT *, GX_WIDGET *, GX_WIDGET *);
55    void (*draw_function) (GX_WIDGET *);
56    UINT (*event_function) (GX_WIDGET *, GX_EVENT *);
57    GX_RECTANGLE size;
58    GX_CONST struct GX_STUDIO_WIDGET_STRUCT *next_widget;
59    GX_CONST struct GX_STUDIO_WIDGET_STRUCT *child_widget;
60    ULONG control_block_offset;
61    GX_CONST void *properties;
62 } GX_STUDIO_WIDGET;
63 
64 typedef struct
65 {
66     GX_CONST GX_STUDIO_WIDGET *widget_information;
67     GX_WIDGET        *widget;
68 } GX_STUDIO_WIDGET_ENTRY;
69 
70 typedef struct
71 {
72     GX_RESOURCE_ID string_id;
73     GX_RESOURCE_ID font_id;
74     GX_RESOURCE_ID normal_text_color_id;
75     GX_RESOURCE_ID selected_text_color_id;
76     GX_RESOURCE_ID disabled_text_color_id;
77 } GX_TEXT_BUTTON_PROPERTIES;
78 
79 typedef struct
80 {
81     GX_RESOURCE_ID string_id;
82     GX_RESOURCE_ID font_id;
83     GX_RESOURCE_ID normal_text_color_id;
84     GX_RESOURCE_ID selected_text_color_id;
85     GX_RESOURCE_ID disabled_text_color_id;
86 } GX_ML_TEXT_BUTTON_PROPERTIES;
87 
88 typedef struct
89 {
90     GX_RESOURCE_ID string_id;
91     GX_RESOURCE_ID font_id;
92     GX_RESOURCE_ID normal_text_color_id;
93     GX_RESOURCE_ID selected_text_color_id;
94     GX_RESOURCE_ID disabled_text_color_id;
95     GX_RESOURCE_ID unchecked_pixelmap_id;
96     GX_RESOURCE_ID checked_pixelmap_id;
97     GX_RESOURCE_ID unchecked_disabled_pixelmap_id;
98     GX_RESOURCE_ID checked_disabled_pixelmap_id;
99 } GX_CHECKBOX_PROPERTIES;
100 
101 typedef struct
102 {
103     GX_RESOURCE_ID string_id;
104     GX_RESOURCE_ID font_id;
105     GX_RESOURCE_ID normal_text_color_id;
106     GX_RESOURCE_ID selected_text_color_id;
107     GX_RESOURCE_ID disabled_text_color_id;
108     GX_RESOURCE_ID off_pixelmap_id;
109     GX_RESOURCE_ID on_pixelmap_id;
110     GX_RESOURCE_ID off_disabled_pixelmap_id;
111     GX_RESOURCE_ID on_disabled_pixelmap_id;
112 } GX_RADIO_BUTTON_PROPERTIES;
113 
114 typedef struct
115 {
116     GX_RESOURCE_ID pixelmap_id;
117 } GX_ICON_BUTTON_PROPERTIES;
118 
119 typedef struct
120 {
121     GX_RESOURCE_ID normal_pixelmap_id;
122     GX_RESOURCE_ID selected_pixelmap_id;
123     GX_RESOURCE_ID disabled_pixelmap_id;
124 } GX_PIXELMAP_BUTTON_PROPERTIES;
125 
126 typedef struct
127 {
128     GX_RESOURCE_ID normal_pixelmap_id;
129     GX_RESOURCE_ID selected_pixelmap_id;
130 } GX_ICON_PROPERTIES;
131 
132 typedef struct
133 {
134     int tickmark_count;
135     int minval;
136     int maxval;
137     int current_val;
138     int increment;
139     GX_VALUE min_travel;
140     GX_VALUE max_travel;
141     GX_VALUE needle_width;
142     GX_VALUE needle_height;
143     GX_VALUE needle_inset;
144     GX_VALUE needle_hotspot;
145 } GX_SLIDER_PROPERTIES;
146 
147 typedef struct
148 {
149     int min_val;
150     int max_val;
151     int current_val;
152     int increment;
153     GX_VALUE min_travel;
154     GX_VALUE max_travel;
155     GX_VALUE needle_width;
156     GX_VALUE needle_height;
157     GX_VALUE needle_inset;
158     GX_VALUE needle_hotspot;
159     GX_RESOURCE_ID lower_pixelmap;
160     GX_RESOURCE_ID upper_pixelmap;
161     GX_RESOURCE_ID needle_pixelmap;
162 } GX_PIXELMAP_SLIDER_PROPERTIES;
163 
164 typedef struct
165 {
166     GX_SPRITE_FRAME *frame_list;
167     USHORT           frame_count;
168 } GX_SPRITE_PROPERTIES;
169 
170 typedef struct
171 {
172     GX_RESOURCE_ID string_id;
173     GX_RESOURCE_ID font_id;
174     GX_RESOURCE_ID normal_text_color_id;
175     GX_RESOURCE_ID selected_text_color_id;
176     GX_RESOURCE_ID disabled_text_color_id;
177 } GX_PROMPT_PROPERTIES;
178 
179 typedef struct
180 {
181     GX_RESOURCE_ID string_id;
182     GX_RESOURCE_ID font_id;
183     GX_RESOURCE_ID normal_text_color_id;
184     GX_RESOURCE_ID selected_text_color_id;
185     GX_RESOURCE_ID disabled_text_color_id;
186     GX_RESOURCE_ID left_map_id;
187     GX_RESOURCE_ID fill_map_id;
188     GX_RESOURCE_ID right_map_id;
189     GX_RESOURCE_ID selected_left_map_id;
190     GX_RESOURCE_ID selected_fill_map_id;
191     GX_RESOURCE_ID selected_right_map_id;
192 } GX_PIXELMAP_PROMPT_PROPERTIES;
193 
194 typedef struct
195 {
196     GX_RESOURCE_ID wallpaper_id;
197 } GX_WINDOW_PROPERTIES;
198 
199 typedef struct
200 {
201     GX_RESOURCE_ID wallpaper_id;
202     VOID (*callback)(GX_VERTICAL_LIST *, GX_WIDGET *, INT);
203     int total_rows;
204 } GX_VERTICAL_LIST_PROPERTIES;
205 
206 typedef struct
207 {
208     GX_RESOURCE_ID wallpaper_id;
209     VOID (*callback)(GX_HORIZONTAL_LIST *, GX_WIDGET *, INT);
210     int total_rows;
211 } GX_HORIZONTAL_LIST_PROPERTIES;
212 
213 typedef struct
214 {
215     GX_RESOURCE_ID pixelmap_id;
216     GX_RESOURCE_ID wallpaper_id;
217     VOID (*callback)(GX_VERTICAL_LIST *, GX_WIDGET *, INT);
218     int total_rows;
219     int open_height;
220 } GX_DROP_LIST_PROPERTIES;
221 
222 typedef struct
223 {
224     GX_RESOURCE_ID string_id;
225     GX_RESOURCE_ID font_id;
226     GX_RESOURCE_ID normal_text_color_id;
227     GX_RESOURCE_ID selected_text_color_id;
228     GX_RESOURCE_ID disabled_text_color_id;
229     GX_RESOURCE_ID readonly_fill_color_id;
230     GX_RESOURCE_ID readonly_text_color_id;
231     GX_CHAR *buffer;
232     UINT buffer_size;
233 } GX_SINGLE_LINE_TEXT_INPUT_PROPERTIES;
234 
235 typedef struct
236 {
237     GX_RESOURCE_ID string_id;
238     GX_RESOURCE_ID font_id;
239     GX_RESOURCE_ID normal_text_color_id;
240     GX_RESOURCE_ID selected_text_color_id;
241     GX_RESOURCE_ID disabled_text_color_id;
242     GX_UBYTE       whitespace;
243     GX_BYTE        line_space;
244 } GX_ML_TEXT_VIEW_PROPERTIES;
245 
246 typedef struct
247 {
248     GX_RESOURCE_ID string_id;
249     GX_RESOURCE_ID font_id;
250     GX_RESOURCE_ID normal_text_color_id;
251     GX_RESOURCE_ID selected_text_color_id;
252     GX_RESOURCE_ID disabled_text_color_id;
253     GX_RESOURCE_ID readonly_fill_color_id;
254     GX_RESOURCE_ID readonly_text_color_id;
255     GX_UBYTE whitespace;
256     GX_BYTE  line_space;
257     GX_CHAR *buffer;
258     UINT buffer_size;
259 } GX_MULTI_LINE_TEXT_INPUT_PROPERTIES;
260 
261 typedef struct
262 {
263     GX_VALUE start_angle;
264     GX_VALUE animation_steps;
265     GX_VALUE animation_delay;
266     GX_VALUE needle_xpos;
267     GX_VALUE needle_ypos;
268     GX_VALUE needle_xcor;
269     GX_VALUE needle_ycor;
270     GX_RESOURCE_ID normal_pixelmap_id;
271     GX_RESOURCE_ID selected_pixelmap_id;
272     GX_RESOURCE_ID needle_pixelmap_id;
273 } GX_CIRCULAR_GAUGE_PROPERTIES;
274 
275 
276 /* Declare top-level control blocks                                            */
277 
278 typedef struct WINDOW_CONTROL_BLOCK_STRUCT
279 {
280     GX_WINDOW_MEMBERS_DECLARE
281 } WINDOW_CONTROL_BLOCK;
282 
283 
284 /* extern statically defined control blocks                                    */
285 
286 #ifndef GUIX_STUDIO_GENERATED_FILE
287 #endif
288 
289 /* Declare event process functions, draw functions, and callback functions     */
290 
291 
292 /* Declare the GX_STUDIO_DISPLAY_INFO structure                                */
293 
294 
295 typedef struct GX_STUDIO_DISPLAY_INFO_STRUCT
296 {
297     GX_CONST GX_CHAR *name;
298     GX_CONST GX_CHAR *canvas_name;
299     GX_CONST GX_THEME **theme_table;
300     GX_CONST GX_STRING **language_table;
301     USHORT   theme_table_size;
302     USHORT   language_table_size;
303     UINT     string_table_size;
304     UINT     x_resolution;
305     UINT     y_resolution;
306     GX_DISPLAY *display;
307     GX_CANVAS  *canvas;
308     GX_WINDOW_ROOT *root_window;
309     GX_COLOR   *canvas_memory;
310     ULONG      canvas_memory_size;
311     USHORT     rotation_angle;
312 } GX_STUDIO_DISPLAY_INFO;
313 
314 
315 /* Declare Studio-generated functions for creating top-level widgets           */
316 
317 UINT gx_studio_button_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent);
318 UINT gx_studio_text_button_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent);
319 UINT gx_studio_multi_line_text_button_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent);
320 UINT gx_studio_checkbox_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent);
321 UINT gx_studio_radio_button_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent);
322 UINT gx_studio_icon_button_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent);
323 UINT gx_studio_pixelmap_button_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent);
324 UINT gx_studio_icon_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent);
325 UINT gx_studio_slider_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent);
326 UINT gx_studio_pixelmap_slider_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent);
327 UINT gx_studio_progress_bar_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent);
328 UINT gx_studio_sprite_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent);
329 UINT gx_studio_prompt_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent);
330 UINT gx_studio_pixelmap_prompt_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent);
331 UINT gx_studio_window_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent);
332 UINT gx_studio_vertical_list_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent);
333 UINT gx_studio_horizontal_list_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent);
334 UINT gx_studio_drop_list_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent);
335 UINT gx_studio_text_input_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent);
336 UINT gx_studio_multi_line_text_view_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent);
337 UINT gx_studio_multi_line_text_input_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent);
338 UINT gx_studio_horizontal_scrollbar_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent);
339 UINT gx_studio_vertical_scrollbar_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent);
340 UINT gx_studio_circular_gauge_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent);
341 GX_WIDGET *gx_studio_widget_create(GX_BYTE *storage, GX_CONST GX_STUDIO_WIDGET *definition, GX_WIDGET *parent);
342 UINT gx_studio_named_widget_create(char *name, GX_WIDGET *parent, GX_WIDGET **new_widget);
343 UINT gx_studio_display_configure(USHORT display, UINT (*driver)(GX_DISPLAY *), GX_UBYTE language, USHORT theme, GX_WINDOW_ROOT **return_root);
344 
345 /* Determine if a C++ compiler is being used.  If so, complete the standard
346   C conditional started above.                                                 */
347 #ifdef __cplusplus
348 }
349 #endif
350 
351 #endif                                       /* sentry                         */
352