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_PALETTE_SPECIFICATIONS_H_
14 #define _GRAPHICS_PALETTE_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 #if GX_PALETTE_MODE_AA_TEXT_COLORS != 8
24 #error "The symbol GX_PALETTE_MODE_AA_TEXT_COLORS does not match the setting in the Studio project."
25 #endif
26 
27 /* Define widget ids                                                           */
28 
29 #define ID_ELLIPSE_SCREEN 1
30 #define ID_GRAPHICS_WINDOW 2
31 #define ID_ANTI_ALIASED 3
32 #define ID_SOLID_FILL 4
33 #define ID_BLACK 5
34 #define ID_FRESHCOLOR 6
35 #define ID_A_SLIDER 7
36 #define ID_A_PROMPT 8
37 #define ID_B_SLIDER 9
38 #define ID_B_PROMPT 10
39 #define ID_NEXT_PAGE 11
40 #define ID_ROUND_END 12
41 #define ID_CIRCLE_SCREEN 13
42 #define ID_WALLPAPER 14
43 #define ID_PIXELMAP_FILL 15
44 #define ID_START_ANGLE_SLIDER 16
45 #define ID_END_ANGLE_SLIDER 17
46 #define ID_BRUSH_WIDTH_PROMPT 18
47 #define ID_LINE_WIDTH_PROMPT 19
48 #define ID_RADIUS_SLIDER 20
49 #define ID_RADIUS_PROMPT 21
50 #define ID_CIRCLE 22
51 #define ID_ARC 23
52 #define ID_PIE 24
53 #define ID_POLYGON 25
54 #define ID_BRUSH_WIDTH 26
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     GX_CHECKBOX ellipse_window_Round_End;
184 } ELLIPSE_WINDOW_CONTROL_BLOCK;
185 
186 typedef struct MAIN_WINDOW_CONTROL_BLOCK_STRUCT
187 {
188     GX_WINDOW_MEMBERS_DECLARE
189     GX_WINDOW main_window_graphics_window;
190     GX_CHECKBOX main_window_checkbox_anti_alised;
191     GX_PROMPT main_window_prompt_4;
192     GX_CHECKBOX main_window_checkbox_fill;
193     GX_CHECKBOX main_window_checkbox_2;
194     GX_CHECKBOX main_window_checkbox_pixelmap_fill;
195     GX_SLIDER main_window_start_angle_slider;
196     GX_PROMPT main_window_prompt_5;
197     GX_PROMPT main_window_prompt_6;
198     GX_SLIDER main_window_end_angle_slider;
199     GX_PROMPT main_window_start_angle_prompt;
200     GX_PROMPT main_window_end_angle_prompt;
201     GX_PROMPT main_window_prompt_7;
202     GX_SLIDER main_window_radius_slider;
203     GX_PROMPT main_window_radius_prompt;
204     GX_RADIO_BUTTON main_window_radio_button_1;
205     GX_RADIO_BUTTON main_window_radio_button_2;
206     GX_WINDOW main_window_window_1;
207     GX_RADIO_BUTTON main_window_radio_button_3;
208     GX_RADIO_BUTTON main_window_radio_button_4;
209     GX_RADIO_BUTTON main_window_radio_button_5;
210     GX_RADIO_BUTTON main_window_radio_button_6;
211     GX_TEXT_BUTTON main_window_button_2;
212     GX_SLIDER main_window_brush_width_slider;
213     GX_PROMPT main_window_brush_width_prompt;
214     GX_PROMPT main_window_prompt_9;
215     GX_CHECKBOX main_window_Round_End_1;
216 } MAIN_WINDOW_CONTROL_BLOCK;
217 
218 
219 /* extern statically defined control blocks                                    */
220 
221 #ifndef GUIX_STUDIO_GENERATED_FILE
222 extern ELLIPSE_WINDOW_CONTROL_BLOCK ellipse_window;
223 extern MAIN_WINDOW_CONTROL_BLOCK main_window;
224 #endif
225 
226 /* Declare event process functions, draw functions, and callback functions     */
227 
228 UINT main_event_handler(GX_WINDOW *widget, GX_EVENT *event_ptr);
229 VOID graphics_draw(GX_WINDOW *widget);
230 
231 /* Declare the GX_STUDIO_DISPLAY_INFO structure                                */
232 
233 
234 typedef struct GX_STUDIO_DISPLAY_INFO_STRUCT
235 {
236     GX_CONST GX_CHAR *name;
237     GX_CONST GX_CHAR *canvas_name;
238     GX_CONST GX_THEME **theme_table;
239     GX_CONST GX_STRING **language_table;
240     USHORT   theme_table_size;
241     USHORT   language_table_size;
242     UINT     string_table_size;
243     UINT     x_resolution;
244     UINT     y_resolution;
245     GX_DISPLAY *display;
246     GX_CANVAS  *canvas;
247     GX_WINDOW_ROOT *root_window;
248     GX_COLOR   *canvas_memory;
249     ULONG      canvas_memory_size;
250     USHORT     rotation_angle;
251 } GX_STUDIO_DISPLAY_INFO;
252 
253 
254 /* Declare Studio-generated functions for creating top-level widgets           */
255 
256 UINT gx_studio_text_button_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent);
257 UINT gx_studio_checkbox_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent);
258 UINT gx_studio_radio_button_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent);
259 UINT gx_studio_slider_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent);
260 UINT gx_studio_prompt_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent);
261 UINT gx_studio_window_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent);
262 GX_WIDGET *gx_studio_widget_create(GX_BYTE *storage, GX_CONST GX_STUDIO_WIDGET *definition, GX_WIDGET *parent);
263 UINT gx_studio_named_widget_create(char *name, GX_WIDGET *parent, GX_WIDGET **new_widget);
264 UINT gx_studio_display_configure(USHORT display, UINT (*driver)(GX_DISPLAY *), GX_UBYTE language, USHORT theme, GX_WINDOW_ROOT **return_root);
265 
266 /* Determine if a C++ compiler is being used.  If so, complete the standard
267   C conditional started above.                                                 */
268 #ifdef __cplusplus
269 }
270 #endif
271 
272 #endif                                       /* sentry                         */
273