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:09                        */
10 /*******************************************************************************/
11 
12 
13 #ifndef _GRAPHICS_32BPP_SPECIFICATIONS_H_
14 #define _GRAPHICS_32BPP_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_ELLIPSE_SCREEN 1
26 #define ID_GRAPHICS_WINDOW 2
27 #define ID_ANTI_ALIASED 3
28 #define ID_SOLID_FILL 4
29 #define ID_BLACK 5
30 #define ID_FRESHCOLOR 6
31 #define ID_A_SLIDER 7
32 #define ID_A_PROMPT 8
33 #define ID_B_SLIDER 9
34 #define ID_B_PROMPT 10
35 #define ID_NEXT_PAGE 11
36 #define ID_CIRCLE_SCREEN 12
37 #define ID_CIRCLE 13
38 #define ID_ARC 14
39 #define ID_PIE 15
40 #define ID_POLYGON 16
41 #define ID_RECTANGLE 17
42 #define ID_WALLPAPER 18
43 #define ID_PIXELMAP_FILL 19
44 #define ID_START_ANGLE_SLIDER 20
45 #define ID_END_ANGLE_SLIDER 21
46 #define ID_BRUSH_WIDTH_PROMPT 22
47 #define ID_LINE_WIDTH_PROMPT 23
48 #define ID_RADIUS_SLIDER 24
49 #define ID_RADIUS_PROMPT 25
50 #define ID_ALPHA 26
51 #define ID_COMPRESS 27
52 #define ID_BRUSH_WIDTH 28
53 #define ID_BRUSH_ALPHA 29
54 #define ID_BRUSH_ALPHA_PROMPT 30
55 
56 
57 /* Define animation ids                                                        */
58 
59 #define GX_NEXT_ANIMATION_ID 1
60 
61 
62 /* Define user event ids                                                       */
63 
64 #define GX_NEXT_USER_EVENT_ID GX_FIRST_USER_EVENT
65 
66 
67 /* Declare properties structures for each utilized widget type                 */
68 
69 typedef struct GX_STUDIO_WIDGET_STRUCT
70 {
71    GX_CHAR *widget_name;
72    USHORT  widget_type;
73    USHORT  widget_id;
74    #if defined(GX_WIDGET_USER_DATA)
75    INT   user_data;
76    #endif
77    ULONG style;
78    ULONG status;
79    ULONG control_block_size;
80    GX_RESOURCE_ID normal_fill_color_id;
81    GX_RESOURCE_ID selected_fill_color_id;
82    GX_RESOURCE_ID disabled_fill_color_id;
83    UINT (*create_function) (GX_CONST struct GX_STUDIO_WIDGET_STRUCT *, GX_WIDGET *, GX_WIDGET *);
84    void (*draw_function) (GX_WIDGET *);
85    UINT (*event_function) (GX_WIDGET *, GX_EVENT *);
86    GX_RECTANGLE size;
87    GX_CONST struct GX_STUDIO_WIDGET_STRUCT *next_widget;
88    GX_CONST struct GX_STUDIO_WIDGET_STRUCT *child_widget;
89    ULONG control_block_offset;
90    GX_CONST void *properties;
91 } GX_STUDIO_WIDGET;
92 
93 typedef struct
94 {
95     GX_CONST GX_STUDIO_WIDGET *widget_information;
96     GX_WIDGET        *widget;
97 } GX_STUDIO_WIDGET_ENTRY;
98 
99 typedef struct
100 {
101     GX_RESOURCE_ID string_id;
102     GX_RESOURCE_ID font_id;
103     GX_RESOURCE_ID normal_text_color_id;
104     GX_RESOURCE_ID selected_text_color_id;
105     GX_RESOURCE_ID disabled_text_color_id;
106 } GX_TEXT_BUTTON_PROPERTIES;
107 
108 typedef struct
109 {
110     GX_RESOURCE_ID string_id;
111     GX_RESOURCE_ID font_id;
112     GX_RESOURCE_ID normal_text_color_id;
113     GX_RESOURCE_ID selected_text_color_id;
114     GX_RESOURCE_ID disabled_text_color_id;
115     GX_RESOURCE_ID unchecked_pixelmap_id;
116     GX_RESOURCE_ID checked_pixelmap_id;
117     GX_RESOURCE_ID unchecked_disabled_pixelmap_id;
118     GX_RESOURCE_ID checked_disabled_pixelmap_id;
119 } GX_CHECKBOX_PROPERTIES;
120 
121 typedef struct
122 {
123     GX_RESOURCE_ID string_id;
124     GX_RESOURCE_ID font_id;
125     GX_RESOURCE_ID normal_text_color_id;
126     GX_RESOURCE_ID selected_text_color_id;
127     GX_RESOURCE_ID disabled_text_color_id;
128     GX_RESOURCE_ID off_pixelmap_id;
129     GX_RESOURCE_ID on_pixelmap_id;
130     GX_RESOURCE_ID off_disabled_pixelmap_id;
131     GX_RESOURCE_ID on_disabled_pixelmap_id;
132 } GX_RADIO_BUTTON_PROPERTIES;
133 
134 typedef struct
135 {
136     int tickmark_count;
137     int minval;
138     int maxval;
139     int current_val;
140     int increment;
141     GX_VALUE min_travel;
142     GX_VALUE max_travel;
143     GX_VALUE needle_width;
144     GX_VALUE needle_height;
145     GX_VALUE needle_inset;
146     GX_VALUE needle_hotspot;
147 } GX_SLIDER_PROPERTIES;
148 
149 typedef struct
150 {
151     GX_RESOURCE_ID string_id;
152     GX_RESOURCE_ID font_id;
153     GX_RESOURCE_ID normal_text_color_id;
154     GX_RESOURCE_ID selected_text_color_id;
155     GX_RESOURCE_ID disabled_text_color_id;
156 } GX_PROMPT_PROPERTIES;
157 
158 typedef struct
159 {
160     GX_RESOURCE_ID wallpaper_id;
161 } GX_WINDOW_PROPERTIES;
162 
163 
164 /* Declare top-level control blocks                                            */
165 
166 typedef struct ELLIPSE_WINDOW_CONTROL_BLOCK_STRUCT
167 {
168     GX_WINDOW_MEMBERS_DECLARE
169     GX_WINDOW ellipse_window_graphics_window;
170     GX_CHECKBOX ellipse_window_checkbox_anti_alised_1;
171     GX_CHECKBOX ellipse_window_checkbox_fill_1;
172     GX_RADIO_BUTTON ellipse_window_radio_button_7;
173     GX_RADIO_BUTTON ellipse_window_radio_button_8;
174     GX_SLIDER ellipse_window_a_slider;
175     GX_PROMPT ellipse_window_a_prompt;
176     GX_PROMPT ellipse_window_prompt_1;
177     GX_PROMPT ellipse_window_prompt_2;
178     GX_PROMPT ellipse_window_prompt_3;
179     GX_SLIDER ellipse_window_b_slider;
180     GX_PROMPT ellipse_window_b_prompt;
181     GX_PROMPT ellipse_window_prompt_8;
182     GX_TEXT_BUTTON ellipse_window_button_1;
183 } ELLIPSE_WINDOW_CONTROL_BLOCK;
184 
185 typedef struct MAIN_WINDOW_CONTROL_BLOCK_STRUCT
186 {
187     GX_WINDOW_MEMBERS_DECLARE
188     GX_WINDOW main_window_window_1;
189     GX_RADIO_BUTTON main_window_radio_button_3;
190     GX_RADIO_BUTTON main_window_radio_button_4;
191     GX_RADIO_BUTTON main_window_radio_button_5;
192     GX_RADIO_BUTTON main_window_radio_button_6;
193     GX_RADIO_BUTTON main_window_radio_button;
194     GX_WINDOW main_window_graphics_window;
195     GX_CHECKBOX main_window_checkbox_anti_alised;
196     GX_PROMPT main_window_prompt_4;
197     GX_CHECKBOX main_window_checkbox_fill;
198     GX_CHECKBOX main_window_checkbox_2;
199     GX_CHECKBOX main_window_checkbox_pixelmap_fill;
200     GX_SLIDER main_window_start_angle_slider;
201     GX_PROMPT main_window_prompt_5;
202     GX_PROMPT main_window_prompt_6;
203     GX_SLIDER main_window_end_angle_slider;
204     GX_PROMPT main_window_start_angle_prompt;
205     GX_PROMPT main_window_end_angle_prompt;
206     GX_PROMPT main_window_prompt_7;
207     GX_SLIDER main_window_radius_slider;
208     GX_PROMPT main_window_radius_prompt;
209     GX_CHECKBOX main_window_checkbox_4;
210     GX_CHECKBOX main_window_checkbox_5;
211     GX_RADIO_BUTTON main_window_radio_button_1;
212     GX_RADIO_BUTTON main_window_radio_button_2;
213     GX_TEXT_BUTTON main_window_button_2;
214     GX_SLIDER main_window_brush_width_slider;
215     GX_PROMPT main_window_brush_width_prompt;
216     GX_PROMPT main_window_prompt_9;
217     GX_PROMPT main_window_prompt;
218     GX_SLIDER main_window_brush_alpha_slider;
219     GX_PROMPT main_window_brush_alpha_prompt;
220 } MAIN_WINDOW_CONTROL_BLOCK;
221 
222 
223 /* extern statically defined control blocks                                    */
224 
225 #ifndef GUIX_STUDIO_GENERATED_FILE
226 extern ELLIPSE_WINDOW_CONTROL_BLOCK ellipse_window;
227 extern MAIN_WINDOW_CONTROL_BLOCK main_window;
228 #endif
229 
230 /* Declare event process functions, draw functions, and callback functions     */
231 
232 UINT main_event_handler(GX_WINDOW *widget, GX_EVENT *event_ptr);
233 VOID graphics_draw(GX_WINDOW *widget);
234 
235 /* Declare the GX_STUDIO_DISPLAY_INFO structure                                */
236 
237 
238 typedef struct GX_STUDIO_DISPLAY_INFO_STRUCT
239 {
240     GX_CONST GX_CHAR *name;
241     GX_CONST GX_CHAR *canvas_name;
242     GX_CONST GX_THEME **theme_table;
243     GX_CONST GX_STRING **language_table;
244     USHORT   theme_table_size;
245     USHORT   language_table_size;
246     UINT     string_table_size;
247     UINT     x_resolution;
248     UINT     y_resolution;
249     GX_DISPLAY *display;
250     GX_CANVAS  *canvas;
251     GX_WINDOW_ROOT *root_window;
252     GX_COLOR   *canvas_memory;
253     ULONG      canvas_memory_size;
254     USHORT     rotation_angle;
255 } GX_STUDIO_DISPLAY_INFO;
256 
257 
258 /* Declare Studio-generated functions for creating top-level widgets           */
259 
260 UINT gx_studio_text_button_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent);
261 UINT gx_studio_checkbox_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent);
262 UINT gx_studio_radio_button_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent);
263 UINT gx_studio_slider_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent);
264 UINT gx_studio_prompt_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent);
265 UINT gx_studio_window_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent);
266 GX_WIDGET *gx_studio_widget_create(GX_BYTE *storage, GX_CONST GX_STUDIO_WIDGET *definition, GX_WIDGET *parent);
267 UINT gx_studio_named_widget_create(char *name, GX_WIDGET *parent, GX_WIDGET **new_widget);
268 UINT gx_studio_display_configure(USHORT display, UINT (*driver)(GX_DISPLAY *), GX_UBYTE language, USHORT theme, GX_WINDOW_ROOT **return_root);
269 
270 /* Determine if a C++ compiler is being used.  If so, complete the standard
271   C conditional started above.                                                 */
272 #ifdef __cplusplus
273 }
274 #endif
275 
276 #endif                                       /* sentry                         */
277