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:22                        */
10 /*******************************************************************************/
11 
12 
13 #define GUIX_STUDIO_GENERATED_FILE
14 #include <stddef.h>
15 #include "guix_shapes_resources.h"
16 #include "guix_shapes_specifications.h"
17 
18 static GX_WIDGET *gx_studio_nested_widget_create(GX_BYTE *control, GX_CONST GX_STUDIO_WIDGET *definition, GX_WIDGET *parent);
19 TEXT_ROTAION_WINDOW_CONTROL_BLOCK Text_Rotaion_Window;
20 SHAPES_SCREEN_CONTROL_BLOCK Shapes_Screen;
21 GX_DISPLAY display_1_control_block;
22 GX_WINDOW_ROOT display_1_root_window;
23 GX_CANVAS  display_1_canvas_control_block;
24 ULONG      display_1_canvas_memory[307200];
25 
26 extern GX_CONST GX_THEME *display_1_theme_table[];
27 extern GX_CONST GX_STRING *display_1_language_table[];
28 
29 GX_STUDIO_DISPLAY_INFO guix_shapes_display_table[1] =
30 {
31     {
32     "display_1",
33     "display_1_canvas",
34     display_1_theme_table,
35     display_1_language_table,
36     DISPLAY_1_THEME_TABLE_SIZE,
37     DISPLAY_1_LANGUAGE_TABLE_SIZE,
38     DISPLAY_1_STRING_TABLE_SIZE,
39     640,                                     /* x resolution                   */
40     480,                                     /* y resolution                   */
41     &display_1_control_block,
42     &display_1_canvas_control_block,
43     &display_1_root_window,
44     display_1_canvas_memory,                 /* canvas memory area             */
45     1228800,                                 /* canvas memory size in bytes    */
46     GX_SCREEN_ROTATION_NONE                  /* rotation angle                 */
47     }
48 };
49 
50 
gx_studio_checkbox_create(GX_CONST GX_STUDIO_WIDGET * info,GX_WIDGET * control_block,GX_WIDGET * parent)51 UINT gx_studio_checkbox_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent)
52 {
53     UINT status;
54     GX_CHECKBOX *button = (GX_CHECKBOX *) control_block;
55     GX_TEXT_BUTTON *text_button = (GX_TEXT_BUTTON *) button;
56     GX_CHECKBOX_PROPERTIES *props = (GX_CHECKBOX_PROPERTIES *) info->properties;
57     status = gx_checkbox_create(button, info->widget_name, parent, props->string_id, info->style, info->widget_id, &info->size);
58     if (status == GX_SUCCESS)
59     {
60         gx_text_button_font_set(text_button, props->font_id);
61 #if defined(GUIX_5_4_0_COMPATIBILITY)
62         gx_text_button_text_color_set(text_button, props->normal_text_color_id, props->selected_text_color_id);
63  #else
64         gx_text_button_text_color_set(text_button, props->normal_text_color_id, props->selected_text_color_id, props->disabled_text_color_id);
65 #endif
66 
67         if (props->unchecked_pixelmap_id ||
68             props->checked_pixelmap_id ||
69             props->unchecked_disabled_pixelmap_id ||
70             props->checked_disabled_pixelmap_id)
71         {
72             gx_checkbox_pixelmap_set(button,
73                                      props->unchecked_pixelmap_id,
74                                      props->checked_pixelmap_id,
75                                      props->unchecked_disabled_pixelmap_id,
76                                      props->checked_disabled_pixelmap_id);
77         }
78     }
79     return status;
80 }
81 
gx_studio_radio_button_create(GX_CONST GX_STUDIO_WIDGET * info,GX_WIDGET * control_block,GX_WIDGET * parent)82 UINT gx_studio_radio_button_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent)
83 {
84     UINT status;
85     GX_RADIO_BUTTON *button = (GX_RADIO_BUTTON *) control_block;
86     GX_TEXT_BUTTON *text_button = (GX_TEXT_BUTTON *) button;
87     GX_RADIO_BUTTON_PROPERTIES *props = (GX_RADIO_BUTTON_PROPERTIES *) info->properties;
88     status = gx_radio_button_create(button, info->widget_name, parent, props->string_id, info->style, info->widget_id, &info->size);
89     if (status == GX_SUCCESS)
90     {
91         gx_text_button_font_set(text_button, props->font_id);
92 #if defined(GUIX_5_4_0_COMPATIBILITY)
93         gx_text_button_text_color_set(text_button, props->normal_text_color_id, props->selected_text_color_id);
94 #else
95         gx_text_button_text_color_set(text_button, props->normal_text_color_id, props->selected_text_color_id, props->disabled_text_color_id);
96 #endif
97 
98         if (props->off_pixelmap_id ||
99             props->on_pixelmap_id ||
100             props->off_disabled_pixelmap_id ||
101             props->on_disabled_pixelmap_id)
102         {
103             gx_radio_button_pixelmap_set(button,
104                                      props->off_pixelmap_id,
105                                      props->on_pixelmap_id,
106                                      props->off_disabled_pixelmap_id,
107                                      props->on_disabled_pixelmap_id);
108         }
109     }
110     return status;
111 }
112 
gx_studio_icon_create(GX_CONST GX_STUDIO_WIDGET * info,GX_WIDGET * control_block,GX_WIDGET * parent)113 UINT gx_studio_icon_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent)
114 {
115     UINT status;
116     GX_ICON *icon = (GX_ICON *) control_block;
117     GX_ICON_PROPERTIES *props = (GX_ICON_PROPERTIES *) info->properties;
118     status = gx_icon_create(icon, info->widget_name, parent, props->normal_pixelmap_id, info->style, info->widget_id, info->size.gx_rectangle_left, info->size.gx_rectangle_top);
119     if (props->selected_pixelmap_id)
120     {
121         gx_icon_pixelmap_set(icon, props->normal_pixelmap_id, props->selected_pixelmap_id);
122     }
123     else
124     {
125         gx_widget_resize((GX_WIDGET *)icon, (GX_RECTANGLE *)&info->size);
126     }
127     return status;
128 }
129 
gx_studio_pixelmap_slider_create(GX_CONST GX_STUDIO_WIDGET * info,GX_WIDGET * control_block,GX_WIDGET * parent)130 UINT gx_studio_pixelmap_slider_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent)
131 {
132     UINT status;
133     GX_PIXELMAP_SLIDER *slider = (GX_PIXELMAP_SLIDER *) control_block;
134     GX_PIXELMAP_SLIDER_PROPERTIES *props = (GX_PIXELMAP_SLIDER_PROPERTIES *) info->properties;
135     GX_PIXELMAP_SLIDER_INFO pixelmap_info;
136     GX_SLIDER_INFO slider_info;
137     slider_info.gx_slider_info_min_val = props->min_val;
138     slider_info.gx_slider_info_max_val = props->max_val;
139     slider_info.gx_slider_info_current_val = props->current_val;
140     slider_info.gx_slider_info_increment = props->increment;
141     slider_info.gx_slider_info_min_travel = props->min_travel;
142     slider_info.gx_slider_info_max_travel = props->max_travel;
143     slider_info.gx_slider_info_needle_width = props->needle_width;
144     slider_info.gx_slider_info_needle_height = props->needle_height;
145     slider_info.gx_slider_info_needle_inset = props->needle_inset;
146     slider_info.gx_slider_info_needle_hotspot_offset = props->needle_hotspot;
147     pixelmap_info.gx_pixelmap_slider_info_lower_background_pixelmap = props->lower_pixelmap;
148     pixelmap_info.gx_pixelmap_slider_info_upper_background_pixelmap = props->upper_pixelmap;
149     pixelmap_info.gx_pixelmap_slider_info_needle_pixelmap = props->needle_pixelmap;
150     status = gx_pixelmap_slider_create(slider,
151                     info->widget_name,
152                     parent,
153                     &slider_info,
154                     &pixelmap_info,
155                     info->style,
156                     info->widget_id,
157                     &info->size);
158     return status;
159 }
160 
gx_studio_prompt_create(GX_CONST GX_STUDIO_WIDGET * info,GX_WIDGET * control_block,GX_WIDGET * parent)161 UINT gx_studio_prompt_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent)
162 {
163     UINT status;
164     GX_PROMPT *prompt = (GX_PROMPT *) control_block;
165     GX_PROMPT_PROPERTIES *props = (GX_PROMPT_PROPERTIES *) info->properties;
166     status = gx_prompt_create(prompt, info->widget_name, parent, props->string_id, info->style, info->widget_id, &info->size);
167     if (status == GX_SUCCESS)
168     {
169         gx_prompt_font_set(prompt, props->font_id);
170 #if defined(GUIX_5_4_0_COMPATIBILITY)
171         gx_prompt_text_color_set(prompt, props->normal_text_color_id, props->selected_text_color_id);
172 #else
173         gx_prompt_text_color_set(prompt, props->normal_text_color_id, props->selected_text_color_id, props->disabled_text_color_id);
174 #endif
175     }
176     return status;
177 }
178 
gx_studio_pixelmap_prompt_create(GX_CONST GX_STUDIO_WIDGET * info,GX_WIDGET * control_block,GX_WIDGET * parent)179 UINT gx_studio_pixelmap_prompt_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent)
180 {
181     UINT status;
182     GX_PIXELMAP_PROMPT *pix_prompt = (GX_PIXELMAP_PROMPT *) control_block;
183     GX_PROMPT *prompt = (GX_PROMPT *) pix_prompt;
184     GX_PIXELMAP_PROMPT_PROPERTIES *props = (GX_PIXELMAP_PROMPT_PROPERTIES *) info->properties;
185     status = gx_pixelmap_prompt_create(pix_prompt, info->widget_name, parent,
186                props->string_id,
187                props->fill_map_id,
188                info->style, info->widget_id, &info->size);
189 
190     if (status == GX_SUCCESS)
191     {
192         gx_pixelmap_prompt_pixelmap_set(pix_prompt,
193                                         props->left_map_id,
194                                         props->fill_map_id,
195                                         props->right_map_id,
196                                         props->selected_left_map_id,
197                                         props->selected_fill_map_id,
198                                         props->selected_right_map_id);
199         gx_prompt_font_set(prompt, props->font_id);
200 #if defined(GUIX_5_4_0_COMPATIBILITY)
201         gx_prompt_text_color_set(prompt, props->normal_text_color_id, props->selected_text_color_id);
202 #else
203         gx_prompt_text_color_set(prompt, props->normal_text_color_id, props->selected_text_color_id, props->disabled_text_color_id);
204 #endif
205     }
206     return status;
207 }
208 
gx_studio_window_create(GX_CONST GX_STUDIO_WIDGET * info,GX_WIDGET * control_block,GX_WIDGET * parent)209 UINT gx_studio_window_create(GX_CONST GX_STUDIO_WIDGET *info, GX_WIDGET *control_block, GX_WIDGET *parent)
210 {
211     UINT status;
212     GX_WINDOW *window = (GX_WINDOW *) control_block;
213     GX_WINDOW_PROPERTIES *props = (GX_WINDOW_PROPERTIES *) info->properties;
214     status = gx_window_create(window, info->widget_name, parent, info->style, info->widget_id, &info->size);
215     if (status == GX_SUCCESS)
216     {
217         if (props->wallpaper_id)
218         {
219             gx_window_wallpaper_set(window, props->wallpaper_id, info->style & GX_STYLE_TILE_WALLPAPER);
220         }
221     }
222     return status;
223 }
224 GX_WINDOW_PROPERTIES Text_Rotaion_Window_properties =
225 {
226     0                                        /* wallpaper pixelmap id          */
227 };
228 GX_WINDOW_PROPERTIES Text_Rotaion_Window_Text_Window_properties =
229 {
230     0                                        /* wallpaper pixelmap id          */
231 };
232 GX_WINDOW_PROPERTIES Text_Rotaion_Window_text_window_8bpp_properties =
233 {
234     0                                        /* wallpaper pixelmap id          */
235 };
236 GX_WINDOW_PROPERTIES Text_Rotaion_Window_text_window_4bpp_properties =
237 {
238     0                                        /* wallpaper pixelmap id          */
239 };
240 GX_WINDOW_PROPERTIES Text_Rotaion_Window_text_window_1bpp_properties =
241 {
242     0                                        /* wallpaper pixelmap id          */
243 };
244 GX_WINDOW_PROPERTIES Text_Rotaion_Window_dynamic_text_window_properties =
245 {
246     0                                        /* wallpaper pixelmap id          */
247 };
248 GX_PROMPT_PROPERTIES Text_Rotaion_Window_prompt_rotate_angle_properties =
249 {
250     GX_STRING_ID_STRING_75,                  /* string id                      */
251     GX_FONT_ID_PROMPT,                       /* font id                        */
252     GX_COLOR_ID_TEAL,                        /* normal text color              */
253     GX_COLOR_ID_GRAY,                        /* selected text color            */
254     GX_COLOR_ID_TEAL                         /* disabled text color            */
255 };
256 GX_PIXELMAP_PROMPT_PROPERTIES Text_Rotaion_Window_rotation_angle_value_properties =
257 {
258     GX_STRING_ID_STRING_84,                  /* string id                      */
259     GX_FONT_ID_PROMPT,                       /* font id                        */
260     GX_COLOR_ID_WHITE,                       /* normal text color              */
261     GX_COLOR_ID_WHITE,                       /* selected text color            */
262     GX_COLOR_ID_WHITE,                       /* disabled text color            */
263     GX_PIXELMAP_ID_VAL_BACKGROUND,           /* left pixelmap id               */
264     0,                                       /* fill pixelmap id               */
265     0,                                       /* right pixelmap id              */
266     0,                                       /* selected left pixelmap id      */
267     0,                                       /* selected fill pixelmap id      */
268     0                                        /* selected right pixelmap id     */
269 };
270 GX_PIXELMAP_SLIDER_PROPERTIES Text_Rotaion_Window_Rotation_Angle_slider_properties =
271 {
272     0,                                       /* minimum value                  */
273     359,                                     /* maximum value                  */
274     30,                                      /* current value                  */
275     5,                                       /* increment                      */
276     14,                                      /* minimum travel                 */
277     14,                                      /* maximum travel                 */
278     22,                                      /* needle width                   */
279     24,                                      /* needle height                  */
280     1,                                       /* needle inset                   */
281     11,                                      /* needle hotspot                 */
282     GX_PIXELMAP_ID_GX_SLIDER_THIN_ACTIVE_HORIZONTAL, /* lower pixelmap id      */
283     GX_PIXELMAP_ID_GX_SLIDER_THIN_HORIZONTAL, /* upper pixelmap id             */
284     GX_PIXELMAP_ID_GX_SLIDER_THIN_NUB_HORIZONTAL  /* needle pixelmap id        */
285 };
286 GX_CHECKBOX_PROPERTIES Text_Rotaion_Window_checkbox_auto_rotate_properties =
287 {
288     GX_STRING_ID_STRING_76,                  /* string id                      */
289     GX_FONT_ID_BUTTON,                       /* font id                        */
290     GX_COLOR_ID_TEAL,                        /* normal text color              */
291     GX_COLOR_ID_DARK_TEAL,                   /* selected text color            */
292     GX_COLOR_ID_TEAL,                        /* disabled text color            */
293     0,                                       /* unchecked pixelmap id          */
294     0,                                       /* checked pixelmap id            */
295     0,                                       /* unchecked disabled pixelmap id */
296     0                                        /* checked disabled pixelmap id   */
297 };
298 GX_CHECKBOX_PROPERTIES Text_Rotaion_Window_checkbox_auto_shift_properties =
299 {
300     GX_STRING_ID_STRING_77,                  /* string id                      */
301     GX_FONT_ID_BUTTON,                       /* font id                        */
302     GX_COLOR_ID_TEAL,                        /* normal text color              */
303     GX_COLOR_ID_DARK_TEAL,                   /* selected text color            */
304     GX_COLOR_ID_TEAL,                        /* disabled text color            */
305     0,                                       /* unchecked pixelmap id          */
306     0,                                       /* checked pixelmap id            */
307     0,                                       /* unchecked disabled pixelmap id */
308     0                                        /* checked disabled pixelmap id   */
309 };
310 GX_WINDOW_PROPERTIES Text_Rotaion_Window_color_group_window_properties =
311 {
312     0                                        /* wallpaper pixelmap id          */
313 };
314 GX_PROMPT_PROPERTIES Text_Rotaion_Window_prompt_text_color_properties =
315 {
316     GX_STRING_ID_STRING_78,                  /* string id                      */
317     GX_FONT_ID_PROMPT,                       /* font id                        */
318     GX_COLOR_ID_TEAL,                        /* normal text color              */
319     GX_COLOR_ID_GRAY,                        /* selected text color            */
320     GX_COLOR_ID_TEAL                         /* disabled text color            */
321 };
322 GX_RADIO_BUTTON_PROPERTIES Text_Rotaion_Window_radio_button_red_properties =
323 {
324     GX_STRING_ID_STRING_79,                  /* string id                      */
325     GX_FONT_ID_BUTTON,                       /* font id                        */
326     GX_COLOR_ID_TEAL,                        /* normal text color              */
327     GX_COLOR_ID_DARK_TEAL,                   /* selected text color            */
328     GX_COLOR_ID_TEAL,                        /* disabled text color            */
329     0,                                       /* off pixelmap id                */
330     0,                                       /* on pixelmap id                 */
331     0,                                       /* off disabled pixelmap id       */
332     0                                        /* on disabled pixelmap id        */
333 };
334 GX_RADIO_BUTTON_PROPERTIES Text_Rotaion_Window_radio_button_blue_properties =
335 {
336     GX_STRING_ID_STRING_81,                  /* string id                      */
337     GX_FONT_ID_BUTTON,                       /* font id                        */
338     GX_COLOR_ID_TEAL,                        /* normal text color              */
339     GX_COLOR_ID_DARK_TEAL,                   /* selected text color            */
340     GX_COLOR_ID_TEAL,                        /* disabled text color            */
341     0,                                       /* off pixelmap id                */
342     0,                                       /* on pixelmap id                 */
343     0,                                       /* off disabled pixelmap id       */
344     0                                        /* on disabled pixelmap id        */
345 };
346 GX_RADIO_BUTTON_PROPERTIES Text_Rotaion_Window_radio_button_greeb_properties =
347 {
348     GX_STRING_ID_STRING_82,                  /* string id                      */
349     GX_FONT_ID_BUTTON,                       /* font id                        */
350     GX_COLOR_ID_TEAL,                        /* normal text color              */
351     GX_COLOR_ID_DARK_TEAL,                   /* selected text color            */
352     GX_COLOR_ID_TEAL,                        /* disabled text color            */
353     0,                                       /* off pixelmap id                */
354     0,                                       /* on pixelmap id                 */
355     0,                                       /* off disabled pixelmap id       */
356     0                                        /* on disabled pixelmap id        */
357 };
358 
359 GX_CONST GX_STUDIO_WIDGET Text_Rotaion_Window_dynamic_text_window_define =
360 {
361     "dynamic_text_window",
362     GX_TYPE_WINDOW,                          /* widget type                    */
363     DYNAMIC_TEXT_WINDOW,                     /* widget id                      */
364     #if defined(GX_WIDGET_USER_DATA)
365     0,                                       /* user data                      */
366     #endif
367     GX_STYLE_BORDER_NONE|GX_STYLE_TRANSPARENT,   /* style flags                */
368     GX_STATUS_ACCEPTS_FOCUS,                 /* status flags                   */
369     sizeof(GX_WINDOW),                       /* control block size             */
370     GX_COLOR_ID_WINDOW_FILL,                 /* normal color id                */
371     GX_COLOR_ID_WINDOW_FILL,                 /* selected color id              */
372     GX_COLOR_ID_WINDOW_FILL,                 /* disabled color id              */
373     gx_studio_window_create,                 /* create function                */
374     (VOID (*)(GX_WIDGET *)) text_window_draw, /* drawing function override     */
375     GX_NULL,                                 /* event function override        */
376     {201, 80, 400, 279},                     /* widget size                    */
377     GX_NULL,                                 /* no next widget                 */
378     GX_NULL,                                 /* no child widgets               */
379     offsetof(TEXT_ROTAION_WINDOW_CONTROL_BLOCK, Text_Rotaion_Window_dynamic_text_window), /* control block */
380     (void *) &Text_Rotaion_Window_dynamic_text_window_properties /* extended properties */
381 };
382 
383 GX_CONST GX_STUDIO_WIDGET Text_Rotaion_Window_text_window_1bpp_define =
384 {
385     "text_window_1bpp",
386     GX_TYPE_WINDOW,                          /* widget type                    */
387     TEXT_WIN_1BPP,                           /* widget id                      */
388     #if defined(GX_WIDGET_USER_DATA)
389     0,                                       /* user data                      */
390     #endif
391     GX_STYLE_BORDER_NONE|GX_STYLE_TRANSPARENT,   /* style flags                */
392     GX_STATUS_ACCEPTS_FOCUS,                 /* status flags                   */
393     sizeof(GX_WINDOW),                       /* control block size             */
394     GX_COLOR_ID_WINDOW_FILL,                 /* normal color id                */
395     GX_COLOR_ID_WINDOW_FILL,                 /* selected color id              */
396     GX_COLOR_ID_WINDOW_FILL,                 /* disabled color id              */
397     gx_studio_window_create,                 /* create function                */
398     (VOID (*)(GX_WIDGET *)) text_window_draw, /* drawing function override     */
399     GX_NULL,                                 /* event function override        */
400     {69, 195, 268, 394},                     /* widget size                    */
401     &Text_Rotaion_Window_dynamic_text_window_define, /* next widget definition */
402     GX_NULL,                                 /* no child widgets               */
403     offsetof(TEXT_ROTAION_WINDOW_CONTROL_BLOCK, Text_Rotaion_Window_text_window_1bpp), /* control block */
404     (void *) &Text_Rotaion_Window_text_window_1bpp_properties /* extended properties */
405 };
406 
407 GX_CONST GX_STUDIO_WIDGET Text_Rotaion_Window_text_window_4bpp_define =
408 {
409     "text_window_4bpp",
410     GX_TYPE_WINDOW,                          /* widget type                    */
411     TEXT_WIN_4BPP,                           /* widget id                      */
412     #if defined(GX_WIDGET_USER_DATA)
413     0,                                       /* user data                      */
414     #endif
415     GX_STYLE_BORDER_NONE|GX_STYLE_TRANSPARENT,   /* style flags                */
416     GX_STATUS_ACCEPTS_FOCUS,                 /* status flags                   */
417     sizeof(GX_WINDOW),                       /* control block size             */
418     GX_COLOR_ID_WINDOW_FILL,                 /* normal color id                */
419     GX_COLOR_ID_WINDOW_FILL,                 /* selected color id              */
420     GX_COLOR_ID_WINDOW_FILL,                 /* disabled color id              */
421     gx_studio_window_create,                 /* create function                */
422     (VOID (*)(GX_WIDGET *)) text_window_draw, /* drawing function override     */
423     GX_NULL,                                 /* event function override        */
424     {71, 65, 270, 264},                      /* widget size                    */
425     &Text_Rotaion_Window_text_window_1bpp_define, /* next widget definition    */
426     GX_NULL,                                 /* no child widgets               */
427     offsetof(TEXT_ROTAION_WINDOW_CONTROL_BLOCK, Text_Rotaion_Window_text_window_4bpp), /* control block */
428     (void *) &Text_Rotaion_Window_text_window_4bpp_properties /* extended properties */
429 };
430 
431 GX_CONST GX_STUDIO_WIDGET Text_Rotaion_Window_text_window_8bpp_define =
432 {
433     "text_window_8bpp",
434     GX_TYPE_WINDOW,                          /* widget type                    */
435     TEXT_WIN_8BPP,                           /* widget id                      */
436     #if defined(GX_WIDGET_USER_DATA)
437     0,                                       /* user data                      */
438     #endif
439     GX_STYLE_BORDER_NONE|GX_STYLE_TRANSPARENT,   /* style flags                */
440     GX_STATUS_ACCEPTS_FOCUS,                 /* status flags                   */
441     sizeof(GX_WINDOW),                       /* control block size             */
442     GX_COLOR_ID_WINDOW_FILL,                 /* normal color id                */
443     GX_COLOR_ID_WINDOW_FILL,                 /* selected color id              */
444     GX_COLOR_ID_WINDOW_FILL,                 /* disabled color id              */
445     gx_studio_window_create,                 /* create function                */
446     (VOID (*)(GX_WIDGET *)) text_window_draw, /* drawing function override     */
447     GX_NULL,                                 /* event function override        */
448     {98, 116, 402, 372},                     /* widget size                    */
449     &Text_Rotaion_Window_text_window_4bpp_define, /* next widget definition    */
450     GX_NULL,                                 /* no child widgets               */
451     offsetof(TEXT_ROTAION_WINDOW_CONTROL_BLOCK, Text_Rotaion_Window_text_window_8bpp), /* control block */
452     (void *) &Text_Rotaion_Window_text_window_8bpp_properties /* extended properties */
453 };
454 
455 GX_CONST GX_STUDIO_WIDGET Text_Rotaion_Window_radio_button_greeb_define =
456 {
457     "radio_button_greeb",
458     GX_TYPE_RADIO_BUTTON,                    /* widget type                    */
459     ID_GREEN_TEXT,                           /* widget id                      */
460     #if defined(GX_WIDGET_USER_DATA)
461     0,                                       /* user data                      */
462     #endif
463     GX_STYLE_BORDER_NONE|GX_STYLE_TRANSPARENT|GX_STYLE_ENABLED|GX_STYLE_BUTTON_RADIO|GX_STYLE_TEXT_LEFT,   /* style flags */
464     GX_STATUS_ACCEPTS_FOCUS,                 /* status flags                   */
465     sizeof(GX_RADIO_BUTTON),                 /* control block size             */
466     GX_COLOR_ID_BTN_LOWER,                   /* normal color id                */
467     GX_COLOR_ID_BTN_UPPER,                   /* selected color id              */
468     GX_COLOR_ID_BTN_LOWER,                   /* disabled color id              */
469     gx_studio_radio_button_create,           /* create function                */
470     GX_NULL,                                 /* drawing function override      */
471     GX_NULL,                                 /* event function override        */
472     {466, 363, 576, 387},                    /* widget size                    */
473     GX_NULL,                                 /* no next widget                 */
474     GX_NULL,                                 /* no child widgets               */
475     offsetof(TEXT_ROTAION_WINDOW_CONTROL_BLOCK, Text_Rotaion_Window_radio_button_greeb), /* control block */
476     (void *) &Text_Rotaion_Window_radio_button_greeb_properties /* extended properties */
477 };
478 
479 GX_CONST GX_STUDIO_WIDGET Text_Rotaion_Window_radio_button_blue_define =
480 {
481     "radio_button_blue",
482     GX_TYPE_RADIO_BUTTON,                    /* widget type                    */
483     ID_BLUE_TEXT,                            /* widget id                      */
484     #if defined(GX_WIDGET_USER_DATA)
485     0,                                       /* user data                      */
486     #endif
487     GX_STYLE_BORDER_NONE|GX_STYLE_TRANSPARENT|GX_STYLE_ENABLED|GX_STYLE_BUTTON_RADIO|GX_STYLE_TEXT_LEFT,   /* style flags */
488     GX_STATUS_ACCEPTS_FOCUS,                 /* status flags                   */
489     sizeof(GX_RADIO_BUTTON),                 /* control block size             */
490     GX_COLOR_ID_BTN_LOWER,                   /* normal color id                */
491     GX_COLOR_ID_BTN_UPPER,                   /* selected color id              */
492     GX_COLOR_ID_BTN_LOWER,                   /* disabled color id              */
493     gx_studio_radio_button_create,           /* create function                */
494     GX_NULL,                                 /* drawing function override      */
495     GX_NULL,                                 /* event function override        */
496     {466, 329, 576, 353},                    /* widget size                    */
497     &Text_Rotaion_Window_radio_button_greeb_define, /* next widget definition  */
498     GX_NULL,                                 /* no child widgets               */
499     offsetof(TEXT_ROTAION_WINDOW_CONTROL_BLOCK, Text_Rotaion_Window_radio_button_blue), /* control block */
500     (void *) &Text_Rotaion_Window_radio_button_blue_properties /* extended properties */
501 };
502 
503 GX_CONST GX_STUDIO_WIDGET Text_Rotaion_Window_radio_button_red_define =
504 {
505     "radio_button_red",
506     GX_TYPE_RADIO_BUTTON,                    /* widget type                    */
507     ID_RED_TEXT,                             /* widget id                      */
508     #if defined(GX_WIDGET_USER_DATA)
509     0,                                       /* user data                      */
510     #endif
511     GX_STYLE_BORDER_NONE|GX_STYLE_TRANSPARENT|GX_STYLE_ENABLED|GX_STYLE_BUTTON_PUSHED|GX_STYLE_BUTTON_RADIO|GX_STYLE_TEXT_LEFT,   /* style flags */
512     GX_STATUS_ACCEPTS_FOCUS,                 /* status flags                   */
513     sizeof(GX_RADIO_BUTTON),                 /* control block size             */
514     GX_COLOR_ID_BTN_LOWER,                   /* normal color id                */
515     GX_COLOR_ID_BTN_UPPER,                   /* selected color id              */
516     GX_COLOR_ID_BTN_LOWER,                   /* disabled color id              */
517     gx_studio_radio_button_create,           /* create function                */
518     GX_NULL,                                 /* drawing function override      */
519     GX_NULL,                                 /* event function override        */
520     {466, 295, 576, 319},                    /* widget size                    */
521     &Text_Rotaion_Window_radio_button_blue_define, /* next widget definition   */
522     GX_NULL,                                 /* no child widgets               */
523     offsetof(TEXT_ROTAION_WINDOW_CONTROL_BLOCK, Text_Rotaion_Window_radio_button_red), /* control block */
524     (void *) &Text_Rotaion_Window_radio_button_red_properties /* extended properties */
525 };
526 
527 GX_CONST GX_STUDIO_WIDGET Text_Rotaion_Window_prompt_text_color_define =
528 {
529     "prompt_text_color",
530     GX_TYPE_PROMPT,                          /* widget type                    */
531     GX_ID_NONE,                              /* widget id                      */
532     #if defined(GX_WIDGET_USER_DATA)
533     0,                                       /* user data                      */
534     #endif
535     GX_STYLE_BORDER_NONE|GX_STYLE_TRANSPARENT|GX_STYLE_TEXT_LEFT,   /* style flags */
536     GX_STATUS_ACCEPTS_FOCUS,                 /* status flags                   */
537     sizeof(GX_PROMPT),                       /* control block size             */
538     GX_COLOR_ID_WIDGET_FILL,                 /* normal color id                */
539     GX_COLOR_ID_SELECTED_FILL,               /* selected color id              */
540     GX_COLOR_ID_WIDGET_FILL,                 /* disabled color id              */
541     gx_studio_prompt_create,                 /* create function                */
542     GX_NULL,                                 /* drawing function override      */
543     GX_NULL,                                 /* event function override        */
544     {463, 267, 563, 290},                    /* widget size                    */
545     &Text_Rotaion_Window_radio_button_red_define, /* next widget definition    */
546     GX_NULL,                                 /* no child widgets               */
547     offsetof(TEXT_ROTAION_WINDOW_CONTROL_BLOCK, Text_Rotaion_Window_prompt_text_color), /* control block */
548     (void *) &Text_Rotaion_Window_prompt_text_color_properties /* extended properties */
549 };
550 
551 GX_CONST GX_STUDIO_WIDGET Text_Rotaion_Window_color_group_window_define =
552 {
553     "color_group_window",
554     GX_TYPE_WINDOW,                          /* widget type                    */
555     GX_ID_NONE,                              /* widget id                      */
556     #if defined(GX_WIDGET_USER_DATA)
557     0,                                       /* user data                      */
558     #endif
559     GX_STYLE_BORDER_NONE|GX_STYLE_TRANSPARENT,   /* style flags                */
560     GX_STATUS_ACCEPTS_FOCUS,                 /* status flags                   */
561     sizeof(GX_WINDOW),                       /* control block size             */
562     GX_COLOR_ID_WINDOW_FILL,                 /* normal color id                */
563     GX_COLOR_ID_WINDOW_FILL,                 /* selected color id              */
564     GX_COLOR_ID_WINDOW_FILL,                 /* disabled color id              */
565     gx_studio_window_create,                 /* create function                */
566     GX_NULL,                                 /* drawing function override      */
567     GX_NULL,                                 /* event function override        */
568     {462, 254, 613, 421},                    /* widget size                    */
569     GX_NULL,                                 /* no next widget                 */
570     &Text_Rotaion_Window_prompt_text_color_define, /* child widget definition  */
571     offsetof(TEXT_ROTAION_WINDOW_CONTROL_BLOCK, Text_Rotaion_Window_color_group_window), /* control block */
572     (void *) &Text_Rotaion_Window_color_group_window_properties /* extended properties */
573 };
574 
575 GX_CONST GX_STUDIO_WIDGET Text_Rotaion_Window_checkbox_auto_shift_define =
576 {
577     "checkbox_auto_shift",
578     GX_TYPE_CHECKBOX,                        /* widget type                    */
579     ID_AUTO_SHIFT,                           /* widget id                      */
580     #if defined(GX_WIDGET_USER_DATA)
581     0,                                       /* user data                      */
582     #endif
583     GX_STYLE_BORDER_NONE|GX_STYLE_TRANSPARENT|GX_STYLE_ENABLED|GX_STYLE_BUTTON_TOGGLE|GX_STYLE_TEXT_LEFT,   /* style flags */
584     GX_STATUS_ACCEPTS_FOCUS,                 /* status flags                   */
585     sizeof(GX_CHECKBOX),                     /* control block size             */
586     GX_COLOR_ID_BTN_LOWER,                   /* normal color id                */
587     GX_COLOR_ID_BTN_UPPER,                   /* selected color id              */
588     GX_COLOR_ID_BTN_LOWER,                   /* disabled color id              */
589     gx_studio_checkbox_create,               /* create function                */
590     GX_NULL,                                 /* drawing function override      */
591     GX_NULL,                                 /* event function override        */
592     {463, 202, 588, 225},                    /* widget size                    */
593     &Text_Rotaion_Window_color_group_window_define, /* next widget definition  */
594     GX_NULL,                                 /* no child widgets               */
595     offsetof(TEXT_ROTAION_WINDOW_CONTROL_BLOCK, Text_Rotaion_Window_checkbox_auto_shift), /* control block */
596     (void *) &Text_Rotaion_Window_checkbox_auto_shift_properties /* extended properties */
597 };
598 
599 GX_CONST GX_STUDIO_WIDGET Text_Rotaion_Window_checkbox_auto_rotate_define =
600 {
601     "checkbox_auto_rotate",
602     GX_TYPE_CHECKBOX,                        /* widget type                    */
603     ID_AUTO_ROTATE,                          /* widget id                      */
604     #if defined(GX_WIDGET_USER_DATA)
605     0,                                       /* user data                      */
606     #endif
607     GX_STYLE_BORDER_NONE|GX_STYLE_TRANSPARENT|GX_STYLE_ENABLED|GX_STYLE_BUTTON_TOGGLE|GX_STYLE_TEXT_LEFT,   /* style flags */
608     GX_STATUS_ACCEPTS_FOCUS,                 /* status flags                   */
609     sizeof(GX_CHECKBOX),                     /* control block size             */
610     GX_COLOR_ID_BTN_LOWER,                   /* normal color id                */
611     GX_COLOR_ID_BTN_UPPER,                   /* selected color id              */
612     GX_COLOR_ID_BTN_LOWER,                   /* disabled color id              */
613     gx_studio_checkbox_create,               /* create function                */
614     GX_NULL,                                 /* drawing function override      */
615     GX_NULL,                                 /* event function override        */
616     {463, 162, 588, 185},                    /* widget size                    */
617     &Text_Rotaion_Window_checkbox_auto_shift_define, /* next widget definition */
618     GX_NULL,                                 /* no child widgets               */
619     offsetof(TEXT_ROTAION_WINDOW_CONTROL_BLOCK, Text_Rotaion_Window_checkbox_auto_rotate), /* control block */
620     (void *) &Text_Rotaion_Window_checkbox_auto_rotate_properties /* extended properties */
621 };
622 
623 GX_CONST GX_STUDIO_WIDGET Text_Rotaion_Window_Rotation_Angle_slider_define =
624 {
625     "Rotation_Angle_slider",
626     GX_TYPE_PIXELMAP_SLIDER,                 /* widget type                    */
627     ID_ROTATION_ANGLE_SLIDER,                /* widget id                      */
628     #if defined(GX_WIDGET_USER_DATA)
629     0,                                       /* user data                      */
630     #endif
631     GX_STYLE_BORDER_RAISED|GX_STYLE_ENABLED|GX_STYLE_TILE_BACKGROUND,   /* style flags */
632     GX_STATUS_ACCEPTS_FOCUS,                 /* status flags                   */
633     sizeof(GX_PIXELMAP_SLIDER),              /* control block size             */
634     GX_COLOR_ID_WIDGET_FILL,                 /* normal color id                */
635     GX_COLOR_ID_WIDGET_FILL,                 /* selected color id              */
636     GX_COLOR_ID_WIDGET_FILL,                 /* disabled color id              */
637     gx_studio_pixelmap_slider_create,        /* create function                */
638     GX_NULL,                                 /* drawing function override      */
639     GX_NULL,                                 /* event function override        */
640     {463, 100, 618, 126},                    /* widget size                    */
641     &Text_Rotaion_Window_checkbox_auto_rotate_define, /* next widget definition */
642     GX_NULL,                                 /* no child widgets               */
643     offsetof(TEXT_ROTAION_WINDOW_CONTROL_BLOCK, Text_Rotaion_Window_Rotation_Angle_slider), /* control block */
644     (void *) &Text_Rotaion_Window_Rotation_Angle_slider_properties /* extended properties */
645 };
646 
647 GX_CONST GX_STUDIO_WIDGET Text_Rotaion_Window_rotation_angle_value_define =
648 {
649     "rotation_angle_value",
650     GX_TYPE_PIXELMAP_PROMPT,                 /* widget type                    */
651     ID_ROTATION_ANGLE_VAL,                   /* widget id                      */
652     #if defined(GX_WIDGET_USER_DATA)
653     0,                                       /* user data                      */
654     #endif
655     GX_STYLE_BORDER_THIN|GX_STYLE_TEXT_CENTER,   /* style flags                */
656     0,                                       /* status flags                   */
657     sizeof(GX_PIXELMAP_PROMPT),              /* control block size             */
658     GX_COLOR_ID_WIDGET_FILL,                 /* normal color id                */
659     GX_COLOR_ID_SELECTED_FILL,               /* selected color id              */
660     GX_COLOR_ID_WIDGET_FILL,                 /* disabled color id              */
661     gx_studio_pixelmap_prompt_create,        /* create function                */
662     GX_NULL,                                 /* drawing function override      */
663     GX_NULL,                                 /* event function override        */
664     {573, 65, 622, 93},                      /* widget size                    */
665     &Text_Rotaion_Window_Rotation_Angle_slider_define, /* next widget definition */
666     GX_NULL,                                 /* no child widgets               */
667     offsetof(TEXT_ROTAION_WINDOW_CONTROL_BLOCK, Text_Rotaion_Window_rotation_angle_value), /* control block */
668     (void *) &Text_Rotaion_Window_rotation_angle_value_properties /* extended properties */
669 };
670 
671 GX_CONST GX_STUDIO_WIDGET Text_Rotaion_Window_prompt_rotate_angle_define =
672 {
673     "prompt_rotate_angle",
674     GX_TYPE_PROMPT,                          /* widget type                    */
675     GX_ID_NONE,                              /* widget id                      */
676     #if defined(GX_WIDGET_USER_DATA)
677     0,                                       /* user data                      */
678     #endif
679     GX_STYLE_BORDER_NONE|GX_STYLE_TRANSPARENT|GX_STYLE_ENABLED|GX_STYLE_TEXT_LEFT,   /* style flags */
680     GX_STATUS_ACCEPTS_FOCUS,                 /* status flags                   */
681     sizeof(GX_PROMPT),                       /* control block size             */
682     GX_COLOR_ID_WIDGET_FILL,                 /* normal color id                */
683     GX_COLOR_ID_SELECTED_FILL,               /* selected color id              */
684     GX_COLOR_ID_WIDGET_FILL,                 /* disabled color id              */
685     gx_studio_prompt_create,                 /* create function                */
686     GX_NULL,                                 /* drawing function override      */
687     GX_NULL,                                 /* event function override        */
688     {463, 68, 563, 91},                      /* widget size                    */
689     &Text_Rotaion_Window_rotation_angle_value_define, /* next widget definition */
690     GX_NULL,                                 /* no child widgets               */
691     offsetof(TEXT_ROTAION_WINDOW_CONTROL_BLOCK, Text_Rotaion_Window_prompt_rotate_angle), /* control block */
692     (void *) &Text_Rotaion_Window_prompt_rotate_angle_properties /* extended properties */
693 };
694 
695 GX_CONST GX_STUDIO_WIDGET Text_Rotaion_Window_Text_Window_define =
696 {
697     "Text_Window",
698     GX_TYPE_WINDOW,                          /* widget type                    */
699     GX_ID_NONE,                              /* widget id                      */
700     #if defined(GX_WIDGET_USER_DATA)
701     0,                                       /* user data                      */
702     #endif
703     GX_STYLE_BORDER_NONE|GX_STYLE_TRANSPARENT,   /* style flags                */
704     GX_STATUS_ACCEPTS_FOCUS,                 /* status flags                   */
705     sizeof(GX_WINDOW),                       /* control block size             */
706     GX_COLOR_ID_WINDOW_FILL,                 /* normal color id                */
707     GX_COLOR_ID_WINDOW_FILL,                 /* selected color id              */
708     GX_COLOR_ID_WINDOW_FILL,                 /* disabled color id              */
709     gx_studio_window_create,                 /* create function                */
710     GX_NULL,                                 /* drawing function override      */
711     GX_NULL,                                 /* event function override        */
712     {62, 62, 454, 426},                      /* widget size                    */
713     &Text_Rotaion_Window_prompt_rotate_angle_define, /* next widget definition */
714     &Text_Rotaion_Window_text_window_8bpp_define, /* child widget definition   */
715     offsetof(TEXT_ROTAION_WINDOW_CONTROL_BLOCK, Text_Rotaion_Window_Text_Window), /* control block */
716     (void *) &Text_Rotaion_Window_Text_Window_properties /* extended properties */
717 };
718 
719 GX_CONST GX_STUDIO_WIDGET Text_Rotaion_Window_define =
720 {
721     "Text_Rotaion_Window",
722     GX_TYPE_WINDOW,                          /* widget type                    */
723     GX_ID_NONE,                              /* widget id                      */
724     #if defined(GX_WIDGET_USER_DATA)
725     0,                                       /* user data                      */
726     #endif
727     GX_STYLE_BORDER_NONE|GX_STYLE_TRANSPARENT,   /* style flags                */
728     GX_STATUS_ACCEPTS_FOCUS,                 /* status flags                   */
729     sizeof(TEXT_ROTAION_WINDOW_CONTROL_BLOCK), /* control block size           */
730     GX_COLOR_ID_WINDOW_FILL,                 /* normal color id                */
731     GX_COLOR_ID_WINDOW_FILL,                 /* selected color id              */
732     GX_COLOR_ID_WINDOW_FILL,                 /* disabled color id              */
733     gx_studio_window_create,                 /* create function                */
734     GX_NULL,                                 /* drawing function override      */
735     (UINT (*)(GX_WIDGET *, GX_EVENT *)) Text_Rotation_Window_event_handler, /* event function override */
736     {2, 51, 641, 426},                       /* widget size                    */
737     GX_NULL,                                 /* next widget                    */
738     &Text_Rotaion_Window_Text_Window_define, /* child widget                   */
739     0,                                       /* control block                  */
740     (void *) &Text_Rotaion_Window_properties /* extended properties            */
741 };
742 GX_WINDOW_PROPERTIES Shapes_Screen_properties =
743 {
744     0                                        /* wallpaper pixelmap id          */
745 };
746 GX_WINDOW_PROPERTIES Shapes_Screen_shape_type_container_properties =
747 {
748     0                                        /* wallpaper pixelmap id          */
749 };
750 GX_RADIO_BUTTON_PROPERTIES Shapes_Screen_radio_button_circle_properties =
751 {
752     GX_STRING_ID_STRING_36,                  /* string id                      */
753     GX_FONT_ID_BUTTON,                       /* font id                        */
754     GX_COLOR_ID_TEAL,                        /* normal text color              */
755     GX_COLOR_ID_DARK_TEAL,                   /* selected text color            */
756     GX_COLOR_ID_TEAL,                        /* disabled text color            */
757     0,                                       /* off pixelmap id                */
758     0,                                       /* on pixelmap id                 */
759     0,                                       /* off disabled pixelmap id       */
760     0                                        /* on disabled pixelmap id        */
761 };
762 GX_RADIO_BUTTON_PROPERTIES Shapes_Screen_radio_button_arc_properties =
763 {
764     GX_STRING_ID_STRING_52,                  /* string id                      */
765     GX_FONT_ID_BUTTON,                       /* font id                        */
766     GX_COLOR_ID_TEAL,                        /* normal text color              */
767     GX_COLOR_ID_SCROLL_BUTTON,               /* selected text color            */
768     GX_COLOR_ID_TEAL,                        /* disabled text color            */
769     0,                                       /* off pixelmap id                */
770     0,                                       /* on pixelmap id                 */
771     0,                                       /* off disabled pixelmap id       */
772     0                                        /* on disabled pixelmap id        */
773 };
774 GX_RADIO_BUTTON_PROPERTIES Shapes_Screen_radio_button_pie_properties =
775 {
776     GX_STRING_ID_STRING_53,                  /* string id                      */
777     GX_FONT_ID_BUTTON,                       /* font id                        */
778     GX_COLOR_ID_TEAL,                        /* normal text color              */
779     GX_COLOR_ID_DARK_TEAL,                   /* selected text color            */
780     GX_COLOR_ID_TEAL,                        /* disabled text color            */
781     0,                                       /* off pixelmap id                */
782     0,                                       /* on pixelmap id                 */
783     0,                                       /* off disabled pixelmap id       */
784     0                                        /* on disabled pixelmap id        */
785 };
786 GX_RADIO_BUTTON_PROPERTIES Shapes_Screen_radio_button_polygon_properties =
787 {
788     GX_STRING_ID_STRING_54,                  /* string id                      */
789     GX_FONT_ID_BUTTON,                       /* font id                        */
790     GX_COLOR_ID_TEAL,                        /* normal text color              */
791     GX_COLOR_ID_DARK_TEAL,                   /* selected text color            */
792     GX_COLOR_ID_TEAL,                        /* disabled text color            */
793     0,                                       /* off pixelmap id                */
794     0,                                       /* on pixelmap id                 */
795     0,                                       /* off disabled pixelmap id       */
796     0                                        /* on disabled pixelmap id        */
797 };
798 GX_RADIO_BUTTON_PROPERTIES Shapes_Screen_radio_button_ellipse_properties =
799 {
800     GX_STRING_ID_STRING_58,                  /* string id                      */
801     GX_FONT_ID_BUTTON,                       /* font id                        */
802     GX_COLOR_ID_TEAL,                        /* normal text color              */
803     GX_COLOR_ID_DARK_TEAL,                   /* selected text color            */
804     GX_COLOR_ID_TEAL,                        /* disabled text color            */
805     0,                                       /* off pixelmap id                */
806     0,                                       /* on pixelmap id                 */
807     0,                                       /* off disabled pixelmap id       */
808     0                                        /* on disabled pixelmap id        */
809 };
810 GX_RADIO_BUTTON_PROPERTIES Shapes_Screen_radio_button_rectangle_properties =
811 {
812     GX_STRING_ID_STRING_65,                  /* string id                      */
813     GX_FONT_ID_BUTTON,                       /* font id                        */
814     GX_COLOR_ID_TEAL,                        /* normal text color              */
815     GX_COLOR_ID_DARK_TEAL,                   /* selected text color            */
816     GX_COLOR_ID_TEAL,                        /* disabled text color            */
817     0,                                       /* off pixelmap id                */
818     0,                                       /* on pixelmap id                 */
819     0,                                       /* off disabled pixelmap id       */
820     0                                        /* on disabled pixelmap id        */
821 };
822 GX_RADIO_BUTTON_PROPERTIES Shapes_Screen_radio_button_text_properties =
823 {
824     GX_STRING_ID_STRING_74,                  /* string id                      */
825     GX_FONT_ID_BUTTON,                       /* font id                        */
826     GX_COLOR_ID_TEAL,                        /* normal text color              */
827     GX_COLOR_ID_DARK_TEAL,                   /* selected text color            */
828     GX_COLOR_ID_TEAL,                        /* disabled text color            */
829     0,                                       /* off pixelmap id                */
830     0,                                       /* on pixelmap id                 */
831     0,                                       /* off disabled pixelmap id       */
832     0                                        /* on disabled pixelmap id        */
833 };
834 GX_WINDOW_PROPERTIES Shapes_Screen_Shapes_Window_properties =
835 {
836     0                                        /* wallpaper pixelmap id          */
837 };
838 GX_WINDOW_PROPERTIES Shapes_Screen_graphics_window_properties =
839 {
840     0                                        /* wallpaper pixelmap id          */
841 };
842 GX_PROMPT_PROPERTIES Shapes_Screen_prompt_radius_properties =
843 {
844     GX_STRING_ID_STRING_71,                  /* string id                      */
845     GX_FONT_ID_PROMPT,                       /* font id                        */
846     GX_COLOR_ID_TEAL,                        /* normal text color              */
847     GX_COLOR_ID_GRAY,                        /* selected text color            */
848     GX_COLOR_ID_TEAL                         /* disabled text color            */
849 };
850 GX_PIXELMAP_PROMPT_PROPERTIES Shapes_Screen_radius_val_properties =
851 {
852     GX_STRING_ID_STRING_68,                  /* string id                      */
853     GX_FONT_ID_PROMPT,                       /* font id                        */
854     GX_COLOR_ID_WHITE,                       /* normal text color              */
855     GX_COLOR_ID_WHITE,                       /* selected text color            */
856     GX_COLOR_ID_WHITE,                       /* disabled text color            */
857     GX_PIXELMAP_ID_VAL_BACKGROUND,           /* left pixelmap id               */
858     0,                                       /* fill pixelmap id               */
859     0,                                       /* right pixelmap id              */
860     0,                                       /* selected left pixelmap id      */
861     0,                                       /* selected fill pixelmap id      */
862     0                                        /* selected right pixelmap id     */
863 };
864 GX_PIXELMAP_SLIDER_PROPERTIES Shapes_Screen_radius_slider_properties =
865 {
866     5,                                       /* minimum value                  */
867     200,                                     /* maximum value                  */
868     160,                                     /* current value                  */
869     1,                                       /* increment                      */
870     14,                                      /* minimum travel                 */
871     14,                                      /* maximum travel                 */
872     22,                                      /* needle width                   */
873     24,                                      /* needle height                  */
874     1,                                       /* needle inset                   */
875     11,                                      /* needle hotspot                 */
876     GX_PIXELMAP_ID_GX_SLIDER_THIN_ACTIVE_HORIZONTAL, /* lower pixelmap id      */
877     GX_PIXELMAP_ID_GX_SLIDER_THIN_HORIZONTAL, /* upper pixelmap id             */
878     GX_PIXELMAP_ID_GX_SLIDER_THIN_NUB_HORIZONTAL  /* needle pixelmap id        */
879 };
880 GX_PROMPT_PROPERTIES Shapes_Screen_prompt_brush_width_properties =
881 {
882     GX_STRING_ID_STRING_70,                  /* string id                      */
883     GX_FONT_ID_PROMPT,                       /* font id                        */
884     GX_COLOR_ID_TEAL,                        /* normal text color              */
885     GX_COLOR_ID_DARK_TEAL,                   /* selected text color            */
886     GX_COLOR_ID_TEAL                         /* disabled text color            */
887 };
888 GX_PIXELMAP_PROMPT_PROPERTIES Shapes_Screen_brush_width_val_properties =
889 {
890     GX_STRING_ID_STRING_64,                  /* string id                      */
891     GX_FONT_ID_PROMPT,                       /* font id                        */
892     GX_COLOR_ID_WHITE,                       /* normal text color              */
893     GX_COLOR_ID_WHITE,                       /* selected text color            */
894     GX_COLOR_ID_WHITE,                       /* disabled text color            */
895     GX_PIXELMAP_ID_VAL_BACKGROUND,           /* left pixelmap id               */
896     0,                                       /* fill pixelmap id               */
897     0,                                       /* right pixelmap id              */
898     0,                                       /* selected left pixelmap id      */
899     0,                                       /* selected fill pixelmap id      */
900     0                                        /* selected right pixelmap id     */
901 };
902 GX_PIXELMAP_SLIDER_PROPERTIES Shapes_Screen_brush_width_slider_properties =
903 {
904     0,                                       /* minimum value                  */
905     20,                                      /* maximum value                  */
906     2,                                       /* current value                  */
907     1,                                       /* increment                      */
908     14,                                      /* minimum travel                 */
909     14,                                      /* maximum travel                 */
910     22,                                      /* needle width                   */
911     24,                                      /* needle height                  */
912     0,                                       /* needle inset                   */
913     11,                                      /* needle hotspot                 */
914     GX_PIXELMAP_ID_GX_SLIDER_THIN_ACTIVE_HORIZONTAL, /* lower pixelmap id      */
915     GX_PIXELMAP_ID_GX_SLIDER_THIN_HORIZONTAL, /* upper pixelmap id             */
916     GX_PIXELMAP_ID_GX_SLIDER_THIN_NUB_HORIZONTAL  /* needle pixelmap id        */
917 };
918 GX_PROMPT_PROPERTIES Shapes_Screen_prompt_brush_style_properties =
919 {
920     GX_STRING_ID_STRING_72,                  /* string id                      */
921     GX_FONT_ID_PROMPT,                       /* font id                        */
922     GX_COLOR_ID_TEAL,                        /* normal text color              */
923     GX_COLOR_ID_TEAL,                        /* selected text color            */
924     GX_COLOR_ID_TEAL                         /* disabled text color            */
925 };
926 GX_CHECKBOX_PROPERTIES Shapes_Screen_checkbox_anti_alised_properties =
927 {
928     GX_STRING_ID_STRING_20,                  /* string id                      */
929     GX_FONT_ID_BUTTON,                       /* font id                        */
930     GX_COLOR_ID_TEAL,                        /* normal text color              */
931     GX_COLOR_ID_DARK_TEAL,                   /* selected text color            */
932     GX_COLOR_ID_TEAL,                        /* disabled text color            */
933     0,                                       /* unchecked pixelmap id          */
934     0,                                       /* checked pixelmap id            */
935     0,                                       /* unchecked disabled pixelmap id */
936     0                                        /* checked disabled pixelmap id   */
937 };
938 GX_CHECKBOX_PROPERTIES Shapes_Screen_checkbox_round_end_properties =
939 {
940     GX_STRING_ID_STRING_67,                  /* string id                      */
941     GX_FONT_ID_BUTTON,                       /* font id                        */
942     GX_COLOR_ID_TEAL,                        /* normal text color              */
943     GX_COLOR_ID_DARK_TEAL,                   /* selected text color            */
944     GX_COLOR_ID_TEAL,                        /* disabled text color            */
945     0,                                       /* unchecked pixelmap id          */
946     0,                                       /* checked pixelmap id            */
947     0,                                       /* unchecked disabled pixelmap id */
948     0                                        /* checked disabled pixelmap id   */
949 };
950 GX_CHECKBOX_PROPERTIES Shapes_Screen_checkbox_fill_properties =
951 {
952     GX_STRING_ID_STRING_11,                  /* string id                      */
953     GX_FONT_ID_BUTTON,                       /* font id                        */
954     GX_COLOR_ID_TEAL,                        /* normal text color              */
955     GX_COLOR_ID_DARK_TEAL,                   /* selected text color            */
956     GX_COLOR_ID_TEAL,                        /* disabled text color            */
957     0,                                       /* unchecked pixelmap id          */
958     0,                                       /* checked pixelmap id            */
959     0,                                       /* unchecked disabled pixelmap id */
960     0                                        /* checked disabled pixelmap id   */
961 };
962 GX_CHECKBOX_PROPERTIES Shapes_Screen_checkbox_pixelmap_fill_properties =
963 {
964     GX_STRING_ID_STRING_38,                  /* string id                      */
965     GX_FONT_ID_BUTTON,                       /* font id                        */
966     GX_COLOR_ID_TEAL,                        /* normal text color              */
967     GX_COLOR_ID_DARK_TEAL,                   /* selected text color            */
968     GX_COLOR_ID_TEAL,                        /* disabled text color            */
969     0,                                       /* unchecked pixelmap id          */
970     0,                                       /* checked pixelmap id            */
971     0,                                       /* unchecked disabled pixelmap id */
972     0                                        /* checked disabled pixelmap id   */
973 };
974 GX_ICON_PROPERTIES Shapes_Screen_express_icon_properties =
975 {
976     GX_PIXELMAP_ID_MS_AZURE_LOGO_SMALL,      /* normal pixelmap id             */
977     0                                        /* selected pixelmap id           */
978 };
979 
980 GX_CONST GX_STUDIO_WIDGET Shapes_Screen_radio_button_text_define =
981 {
982     "radio_button_text",
983     GX_TYPE_RADIO_BUTTON,                    /* widget type                    */
984     ID_TEXT,                                 /* widget id                      */
985     #if defined(GX_WIDGET_USER_DATA)
986     0,                                       /* user data                      */
987     #endif
988     GX_STYLE_BORDER_NONE|GX_STYLE_TRANSPARENT|GX_STYLE_ENABLED|GX_STYLE_BUTTON_RADIO|GX_STYLE_TEXT_LEFT,   /* style flags */
989     GX_STATUS_ACCEPTS_FOCUS,                 /* status flags                   */
990     sizeof(GX_RADIO_BUTTON),                 /* control block size             */
991     GX_COLOR_ID_BTN_LOWER,                   /* normal color id                */
992     GX_COLOR_ID_BTN_UPPER,                   /* selected color id              */
993     GX_COLOR_ID_BTN_LOWER,                   /* disabled color id              */
994     gx_studio_radio_button_create,           /* create function                */
995     GX_NULL,                                 /* drawing function override      */
996     GX_NULL,                                 /* event function override        */
997     {559, 429, 627, 453},                    /* widget size                    */
998     GX_NULL,                                 /* no next widget                 */
999     GX_NULL,                                 /* no child widgets               */
1000     offsetof(SHAPES_SCREEN_CONTROL_BLOCK, Shapes_Screen_radio_button_text), /* control block */
1001     (void *) &Shapes_Screen_radio_button_text_properties /* extended properties */
1002 };
1003 
1004 GX_CONST GX_STUDIO_WIDGET Shapes_Screen_radio_button_rectangle_define =
1005 {
1006     "radio_button_rectangle",
1007     GX_TYPE_RADIO_BUTTON,                    /* widget type                    */
1008     ID_RECTANGLE,                            /* widget id                      */
1009     #if defined(GX_WIDGET_USER_DATA)
1010     0,                                       /* user data                      */
1011     #endif
1012     GX_STYLE_BORDER_NONE|GX_STYLE_TRANSPARENT|GX_STYLE_ENABLED|GX_STYLE_BUTTON_RADIO|GX_STYLE_TEXT_LEFT,   /* style flags */
1013     GX_STATUS_ACCEPTS_FOCUS,                 /* status flags                   */
1014     sizeof(GX_RADIO_BUTTON),                 /* control block size             */
1015     GX_COLOR_ID_BTN_LOWER,                   /* normal color id                */
1016     GX_COLOR_ID_BTN_UPPER,                   /* selected color id              */
1017     GX_COLOR_ID_BTN_LOWER,                   /* disabled color id              */
1018     gx_studio_radio_button_create,           /* create function                */
1019     GX_NULL,                                 /* drawing function override      */
1020     GX_NULL,                                 /* event function override        */
1021     {333, 429, 438, 453},                    /* widget size                    */
1022     &Shapes_Screen_radio_button_text_define, /* next widget definition         */
1023     GX_NULL,                                 /* no child widgets               */
1024     offsetof(SHAPES_SCREEN_CONTROL_BLOCK, Shapes_Screen_radio_button_rectangle), /* control block */
1025     (void *) &Shapes_Screen_radio_button_rectangle_properties /* extended properties */
1026 };
1027 
1028 GX_CONST GX_STUDIO_WIDGET Shapes_Screen_radio_button_ellipse_define =
1029 {
1030     "radio_button_ellipse",
1031     GX_TYPE_RADIO_BUTTON,                    /* widget type                    */
1032     ID_ELLIPSE,                              /* widget id                      */
1033     #if defined(GX_WIDGET_USER_DATA)
1034     0,                                       /* user data                      */
1035     #endif
1036     GX_STYLE_BORDER_NONE|GX_STYLE_TRANSPARENT|GX_STYLE_ENABLED|GX_STYLE_BUTTON_RADIO|GX_STYLE_TEXT_LEFT,   /* style flags */
1037     GX_STATUS_ACCEPTS_FOCUS,                 /* status flags                   */
1038     sizeof(GX_RADIO_BUTTON),                 /* control block size             */
1039     GX_COLOR_ID_BTN_LOWER,                   /* normal color id                */
1040     GX_COLOR_ID_BTN_UPPER,                   /* selected color id              */
1041     GX_COLOR_ID_BTN_LOWER,                   /* disabled color id              */
1042     gx_studio_radio_button_create,           /* create function                */
1043     GX_NULL,                                 /* drawing function override      */
1044     GX_NULL,                                 /* event function override        */
1045     {98, 429, 183, 453},                     /* widget size                    */
1046     &Shapes_Screen_radio_button_rectangle_define, /* next widget definition    */
1047     GX_NULL,                                 /* no child widgets               */
1048     offsetof(SHAPES_SCREEN_CONTROL_BLOCK, Shapes_Screen_radio_button_ellipse), /* control block */
1049     (void *) &Shapes_Screen_radio_button_ellipse_properties /* extended properties */
1050 };
1051 
1052 GX_CONST GX_STUDIO_WIDGET Shapes_Screen_radio_button_polygon_define =
1053 {
1054     "radio_button_polygon",
1055     GX_TYPE_RADIO_BUTTON,                    /* widget type                    */
1056     ID_POLYGON,                              /* widget id                      */
1057     #if defined(GX_WIDGET_USER_DATA)
1058     0,                                       /* user data                      */
1059     #endif
1060     GX_STYLE_BORDER_NONE|GX_STYLE_TRANSPARENT|GX_STYLE_ENABLED|GX_STYLE_BUTTON_RADIO|GX_STYLE_TEXT_LEFT,   /* style flags */
1061     GX_STATUS_ACCEPTS_FOCUS,                 /* status flags                   */
1062     sizeof(GX_RADIO_BUTTON),                 /* control block size             */
1063     GX_COLOR_ID_BTN_LOWER,                   /* normal color id                */
1064     GX_COLOR_ID_BTN_UPPER,                   /* selected color id              */
1065     GX_COLOR_ID_BTN_LOWER,                   /* disabled color id              */
1066     gx_studio_radio_button_create,           /* create function                */
1067     GX_NULL,                                 /* drawing function override      */
1068     GX_NULL,                                 /* event function override        */
1069     {450, 429, 547, 453},                    /* widget size                    */
1070     &Shapes_Screen_radio_button_ellipse_define, /* next widget definition      */
1071     GX_NULL,                                 /* no child widgets               */
1072     offsetof(SHAPES_SCREEN_CONTROL_BLOCK, Shapes_Screen_radio_button_polygon), /* control block */
1073     (void *) &Shapes_Screen_radio_button_polygon_properties /* extended properties */
1074 };
1075 
1076 GX_CONST GX_STUDIO_WIDGET Shapes_Screen_radio_button_pie_define =
1077 {
1078     "radio_button_pie",
1079     GX_TYPE_RADIO_BUTTON,                    /* widget type                    */
1080     ID_PIE,                                  /* widget id                      */
1081     #if defined(GX_WIDGET_USER_DATA)
1082     0,                                       /* user data                      */
1083     #endif
1084     GX_STYLE_BORDER_NONE|GX_STYLE_TRANSPARENT|GX_STYLE_ENABLED|GX_STYLE_BUTTON_RADIO|GX_STYLE_TEXT_LEFT,   /* style flags */
1085     GX_STATUS_ACCEPTS_FOCUS,                 /* status flags                   */
1086     sizeof(GX_RADIO_BUTTON),                 /* control block size             */
1087     GX_COLOR_ID_BTN_LOWER,                   /* normal color id                */
1088     GX_COLOR_ID_BTN_UPPER,                   /* selected color id              */
1089     GX_COLOR_ID_BTN_LOWER,                   /* disabled color id              */
1090     gx_studio_radio_button_create,           /* create function                */
1091     GX_NULL,                                 /* drawing function override      */
1092     GX_NULL,                                 /* event function override        */
1093     {264, 429, 321, 453},                    /* widget size                    */
1094     &Shapes_Screen_radio_button_polygon_define, /* next widget definition      */
1095     GX_NULL,                                 /* no child widgets               */
1096     offsetof(SHAPES_SCREEN_CONTROL_BLOCK, Shapes_Screen_radio_button_pie), /* control block */
1097     (void *) &Shapes_Screen_radio_button_pie_properties /* extended properties */
1098 };
1099 
1100 GX_CONST GX_STUDIO_WIDGET Shapes_Screen_radio_button_arc_define =
1101 {
1102     "radio_button_arc",
1103     GX_TYPE_RADIO_BUTTON,                    /* widget type                    */
1104     ID_ARC,                                  /* widget id                      */
1105     #if defined(GX_WIDGET_USER_DATA)
1106     0,                                       /* user data                      */
1107     #endif
1108     GX_STYLE_BORDER_NONE|GX_STYLE_TRANSPARENT|GX_STYLE_ENABLED|GX_STYLE_BUTTON_RADIO|GX_STYLE_TEXT_LEFT,   /* style flags */
1109     GX_STATUS_ACCEPTS_FOCUS,                 /* status flags                   */
1110     sizeof(GX_RADIO_BUTTON),                 /* control block size             */
1111     GX_COLOR_ID_BTN_LOWER,                   /* normal color id                */
1112     GX_COLOR_ID_BTN_UPPER,                   /* selected color id              */
1113     GX_COLOR_ID_BTN_LOWER,                   /* disabled color id              */
1114     gx_studio_radio_button_create,           /* create function                */
1115     GX_NULL,                                 /* drawing function override      */
1116     GX_NULL,                                 /* event function override        */
1117     {195, 429, 252, 453},                    /* widget size                    */
1118     &Shapes_Screen_radio_button_pie_define,  /* next widget definition         */
1119     GX_NULL,                                 /* no child widgets               */
1120     offsetof(SHAPES_SCREEN_CONTROL_BLOCK, Shapes_Screen_radio_button_arc), /* control block */
1121     (void *) &Shapes_Screen_radio_button_arc_properties /* extended properties */
1122 };
1123 
1124 GX_CONST GX_STUDIO_WIDGET Shapes_Screen_radio_button_circle_define =
1125 {
1126     "radio_button_circle",
1127     GX_TYPE_RADIO_BUTTON,                    /* widget type                    */
1128     ID_CIRCLE,                               /* widget id                      */
1129     #if defined(GX_WIDGET_USER_DATA)
1130     0,                                       /* user data                      */
1131     #endif
1132     GX_STYLE_BORDER_NONE|GX_STYLE_TRANSPARENT|GX_STYLE_ENABLED|GX_STYLE_BUTTON_PUSHED|GX_STYLE_BUTTON_RADIO|GX_STYLE_TEXT_LEFT,   /* style flags */
1133     GX_STATUS_ACCEPTS_FOCUS,                 /* status flags                   */
1134     sizeof(GX_RADIO_BUTTON),                 /* control block size             */
1135     GX_COLOR_ID_BTN_LOWER,                   /* normal color id                */
1136     GX_COLOR_ID_BTN_UPPER,                   /* selected color id              */
1137     GX_COLOR_ID_BTN_LOWER,                   /* disabled color id              */
1138     gx_studio_radio_button_create,           /* create function                */
1139     GX_NULL,                                 /* drawing function override      */
1140     GX_NULL,                                 /* event function override        */
1141     {12, 426, 86, 457},                      /* widget size                    */
1142     &Shapes_Screen_radio_button_arc_define,  /* next widget definition         */
1143     GX_NULL,                                 /* no child widgets               */
1144     offsetof(SHAPES_SCREEN_CONTROL_BLOCK, Shapes_Screen_radio_button_circle), /* control block */
1145     (void *) &Shapes_Screen_radio_button_circle_properties /* extended properties */
1146 };
1147 
1148 GX_CONST GX_STUDIO_WIDGET Shapes_Screen_checkbox_pixelmap_fill_define =
1149 {
1150     "checkbox_pixelmap_fill",
1151     GX_TYPE_CHECKBOX,                        /* widget type                    */
1152     ID_PIXELMAP_FILL,                        /* widget id                      */
1153     #if defined(GX_WIDGET_USER_DATA)
1154     0,                                       /* user data                      */
1155     #endif
1156     GX_STYLE_BORDER_NONE|GX_STYLE_TRANSPARENT|GX_STYLE_ENABLED|GX_STYLE_BUTTON_TOGGLE|GX_STYLE_TEXT_LEFT,   /* style flags */
1157     GX_STATUS_ACCEPTS_FOCUS,                 /* status flags                   */
1158     sizeof(GX_CHECKBOX),                     /* control block size             */
1159     GX_COLOR_ID_BTN_LOWER,                   /* normal color id                */
1160     GX_COLOR_ID_BTN_UPPER,                   /* selected color id              */
1161     GX_COLOR_ID_BTN_LOWER,                   /* disabled color id              */
1162     gx_studio_checkbox_create,               /* create function                */
1163     GX_NULL,                                 /* drawing function override      */
1164     GX_NULL,                                 /* event function override        */
1165     {466, 369, 596, 392},                    /* widget size                    */
1166     GX_NULL,                                 /* no next widget                 */
1167     GX_NULL,                                 /* no child widgets               */
1168     offsetof(SHAPES_SCREEN_CONTROL_BLOCK, Shapes_Screen_checkbox_pixelmap_fill), /* control block */
1169     (void *) &Shapes_Screen_checkbox_pixelmap_fill_properties /* extended properties */
1170 };
1171 
1172 GX_CONST GX_STUDIO_WIDGET Shapes_Screen_checkbox_fill_define =
1173 {
1174     "checkbox_fill",
1175     GX_TYPE_CHECKBOX,                        /* widget type                    */
1176     ID_SOLID_FILL,                           /* widget id                      */
1177     #if defined(GX_WIDGET_USER_DATA)
1178     0,                                       /* user data                      */
1179     #endif
1180     GX_STYLE_BORDER_NONE|GX_STYLE_TRANSPARENT|GX_STYLE_ENABLED|GX_STYLE_BUTTON_PUSHED|GX_STYLE_BUTTON_TOGGLE|GX_STYLE_TEXT_LEFT,   /* style flags */
1181     GX_STATUS_ACCEPTS_FOCUS,                 /* status flags                   */
1182     sizeof(GX_CHECKBOX),                     /* control block size             */
1183     GX_COLOR_ID_BTN_LOWER,                   /* normal color id                */
1184     GX_COLOR_ID_BTN_UPPER,                   /* selected color id              */
1185     GX_COLOR_ID_BTN_LOWER,                   /* disabled color id              */
1186     gx_studio_checkbox_create,               /* create function                */
1187     GX_NULL,                                 /* drawing function override      */
1188     GX_NULL,                                 /* event function override        */
1189     {466, 333, 591, 356},                    /* widget size                    */
1190     &Shapes_Screen_checkbox_pixelmap_fill_define, /* next widget definition    */
1191     GX_NULL,                                 /* no child widgets               */
1192     offsetof(SHAPES_SCREEN_CONTROL_BLOCK, Shapes_Screen_checkbox_fill), /* control block */
1193     (void *) &Shapes_Screen_checkbox_fill_properties /* extended properties    */
1194 };
1195 
1196 GX_CONST GX_STUDIO_WIDGET Shapes_Screen_checkbox_round_end_define =
1197 {
1198     "checkbox_round_end",
1199     GX_TYPE_CHECKBOX,                        /* widget type                    */
1200     ID_ROUND_END,                            /* widget id                      */
1201     #if defined(GX_WIDGET_USER_DATA)
1202     0,                                       /* user data                      */
1203     #endif
1204     GX_STYLE_BORDER_NONE|GX_STYLE_TRANSPARENT|GX_STYLE_ENABLED|GX_STYLE_BUTTON_PUSHED|GX_STYLE_BUTTON_TOGGLE|GX_STYLE_TEXT_LEFT,   /* style flags */
1205     GX_STATUS_ACCEPTS_FOCUS,                 /* status flags                   */
1206     sizeof(GX_CHECKBOX),                     /* control block size             */
1207     GX_COLOR_ID_BTN_LOWER,                   /* normal color id                */
1208     GX_COLOR_ID_BTN_UPPER,                   /* selected color id              */
1209     GX_COLOR_ID_BTN_LOWER,                   /* disabled color id              */
1210     gx_studio_checkbox_create,               /* create function                */
1211     GX_NULL,                                 /* drawing function override      */
1212     GX_NULL,                                 /* event function override        */
1213     {466, 297, 591, 320},                    /* widget size                    */
1214     &Shapes_Screen_checkbox_fill_define,     /* next widget definition         */
1215     GX_NULL,                                 /* no child widgets               */
1216     offsetof(SHAPES_SCREEN_CONTROL_BLOCK, Shapes_Screen_checkbox_round_end), /* control block */
1217     (void *) &Shapes_Screen_checkbox_round_end_properties /* extended properties */
1218 };
1219 
1220 GX_CONST GX_STUDIO_WIDGET Shapes_Screen_checkbox_anti_alised_define =
1221 {
1222     "checkbox_anti_alised",
1223     GX_TYPE_CHECKBOX,                        /* widget type                    */
1224     ID_ANTI_ALIASED,                         /* widget id                      */
1225     #if defined(GX_WIDGET_USER_DATA)
1226     0,                                       /* user data                      */
1227     #endif
1228     GX_STYLE_BORDER_NONE|GX_STYLE_TRANSPARENT|GX_STYLE_ENABLED|GX_STYLE_BUTTON_PUSHED|GX_STYLE_BUTTON_TOGGLE|GX_STYLE_TEXT_LEFT,   /* style flags */
1229     GX_STATUS_ACCEPTS_FOCUS,                 /* status flags                   */
1230     sizeof(GX_CHECKBOX),                     /* control block size             */
1231     GX_COLOR_ID_BTN_LOWER,                   /* normal color id                */
1232     GX_COLOR_ID_BTN_UPPER,                   /* selected color id              */
1233     GX_COLOR_ID_BTN_LOWER,                   /* disabled color id              */
1234     gx_studio_checkbox_create,               /* create function                */
1235     GX_NULL,                                 /* drawing function override      */
1236     GX_NULL,                                 /* event function override        */
1237     {466, 261, 591, 284},                    /* widget size                    */
1238     &Shapes_Screen_checkbox_round_end_define, /* next widget definition        */
1239     GX_NULL,                                 /* no child widgets               */
1240     offsetof(SHAPES_SCREEN_CONTROL_BLOCK, Shapes_Screen_checkbox_anti_alised), /* control block */
1241     (void *) &Shapes_Screen_checkbox_anti_alised_properties /* extended properties */
1242 };
1243 
1244 GX_CONST GX_STUDIO_WIDGET Shapes_Screen_prompt_brush_style_define =
1245 {
1246     "prompt_brush_style",
1247     GX_TYPE_PROMPT,                          /* widget type                    */
1248     GX_ID_NONE,                              /* widget id                      */
1249     #if defined(GX_WIDGET_USER_DATA)
1250     0,                                       /* user data                      */
1251     #endif
1252     GX_STYLE_BORDER_NONE|GX_STYLE_TRANSPARENT|GX_STYLE_ENABLED|GX_STYLE_TEXT_LEFT,   /* style flags */
1253     GX_STATUS_ACCEPTS_FOCUS,                 /* status flags                   */
1254     sizeof(GX_PROMPT),                       /* control block size             */
1255     GX_COLOR_ID_WIDGET_FILL,                 /* normal color id                */
1256     GX_COLOR_ID_SELECTED_FILL,               /* selected color id              */
1257     GX_COLOR_ID_WIDGET_FILL,                 /* disabled color id              */
1258     gx_studio_prompt_create,                 /* create function                */
1259     GX_NULL,                                 /* drawing function override      */
1260     GX_NULL,                                 /* event function override        */
1261     {466, 225, 557, 248},                    /* widget size                    */
1262     &Shapes_Screen_checkbox_anti_alised_define, /* next widget definition      */
1263     GX_NULL,                                 /* no child widgets               */
1264     offsetof(SHAPES_SCREEN_CONTROL_BLOCK, Shapes_Screen_prompt_brush_style), /* control block */
1265     (void *) &Shapes_Screen_prompt_brush_style_properties /* extended properties */
1266 };
1267 
1268 GX_CONST GX_STUDIO_WIDGET Shapes_Screen_brush_width_slider_define =
1269 {
1270     "brush_width_slider",
1271     GX_TYPE_PIXELMAP_SLIDER,                 /* widget type                    */
1272     ID_BRUSH_WIDTH,                          /* widget id                      */
1273     #if defined(GX_WIDGET_USER_DATA)
1274     0,                                       /* user data                      */
1275     #endif
1276     GX_STYLE_BORDER_NONE|GX_STYLE_ENABLED|GX_STYLE_TILE_BACKGROUND,   /* style flags */
1277     GX_STATUS_ACCEPTS_FOCUS,                 /* status flags                   */
1278     sizeof(GX_PIXELMAP_SLIDER),              /* control block size             */
1279     GX_COLOR_ID_WIDGET_FILL,                 /* normal color id                */
1280     GX_COLOR_ID_WIDGET_FILL,                 /* selected color id              */
1281     GX_COLOR_ID_WIDGET_FILL,                 /* disabled color id              */
1282     gx_studio_pixelmap_slider_create,        /* create function                */
1283     GX_NULL,                                 /* drawing function override      */
1284     GX_NULL,                                 /* event function override        */
1285     {463, 170, 619, 196},                    /* widget size                    */
1286     &Shapes_Screen_prompt_brush_style_define, /* next widget definition        */
1287     GX_NULL,                                 /* no child widgets               */
1288     offsetof(SHAPES_SCREEN_CONTROL_BLOCK, Shapes_Screen_brush_width_slider), /* control block */
1289     (void *) &Shapes_Screen_brush_width_slider_properties /* extended properties */
1290 };
1291 
1292 GX_CONST GX_STUDIO_WIDGET Shapes_Screen_brush_width_val_define =
1293 {
1294     "brush_width_val",
1295     GX_TYPE_PIXELMAP_PROMPT,                 /* widget type                    */
1296     ID_BRUSH_WIDTH_VAL,                      /* widget id                      */
1297     #if defined(GX_WIDGET_USER_DATA)
1298     0,                                       /* user data                      */
1299     #endif
1300     GX_STYLE_BORDER_THIN|GX_STYLE_TEXT_CENTER,   /* style flags                */
1301     0,                                       /* status flags                   */
1302     sizeof(GX_PIXELMAP_PROMPT),              /* control block size             */
1303     GX_COLOR_ID_WIDGET_FILL,                 /* normal color id                */
1304     GX_COLOR_ID_SELECTED_FILL,               /* selected color id              */
1305     GX_COLOR_ID_WIDGET_FILL,                 /* disabled color id              */
1306     gx_studio_pixelmap_prompt_create,        /* create function                */
1307     GX_NULL,                                 /* drawing function override      */
1308     GX_NULL,                                 /* event function override        */
1309     {572, 139, 621, 167},                    /* widget size                    */
1310     &Shapes_Screen_brush_width_slider_define, /* next widget definition        */
1311     GX_NULL,                                 /* no child widgets               */
1312     offsetof(SHAPES_SCREEN_CONTROL_BLOCK, Shapes_Screen_brush_width_val), /* control block */
1313     (void *) &Shapes_Screen_brush_width_val_properties /* extended properties  */
1314 };
1315 
1316 GX_CONST GX_STUDIO_WIDGET Shapes_Screen_prompt_brush_width_define =
1317 {
1318     "prompt_brush_width",
1319     GX_TYPE_PROMPT,                          /* widget type                    */
1320     GX_ID_NONE,                              /* widget id                      */
1321     #if defined(GX_WIDGET_USER_DATA)
1322     0,                                       /* user data                      */
1323     #endif
1324     GX_STYLE_BORDER_NONE|GX_STYLE_TRANSPARENT|GX_STYLE_ENABLED|GX_STYLE_TEXT_CENTER,   /* style flags */
1325     GX_STATUS_ACCEPTS_FOCUS,                 /* status flags                   */
1326     sizeof(GX_PROMPT),                       /* control block size             */
1327     GX_COLOR_ID_WIDGET_FILL,                 /* normal color id                */
1328     GX_COLOR_ID_SELECTED_FILL,               /* selected color id              */
1329     GX_COLOR_ID_WIDGET_FILL,                 /* disabled color id              */
1330     gx_studio_prompt_create,                 /* create function                */
1331     GX_NULL,                                 /* drawing function override      */
1332     GX_NULL,                                 /* event function override        */
1333     {463, 139, 559, 162},                    /* widget size                    */
1334     &Shapes_Screen_brush_width_val_define,   /* next widget definition         */
1335     GX_NULL,                                 /* no child widgets               */
1336     offsetof(SHAPES_SCREEN_CONTROL_BLOCK, Shapes_Screen_prompt_brush_width), /* control block */
1337     (void *) &Shapes_Screen_prompt_brush_width_properties /* extended properties */
1338 };
1339 
1340 GX_CONST GX_STUDIO_WIDGET Shapes_Screen_radius_slider_define =
1341 {
1342     "radius_slider",
1343     GX_TYPE_PIXELMAP_SLIDER,                 /* widget type                    */
1344     ID_RADIUS_SLIDER,                        /* widget id                      */
1345     #if defined(GX_WIDGET_USER_DATA)
1346     0,                                       /* user data                      */
1347     #endif
1348     GX_STYLE_BORDER_RAISED|GX_STYLE_ENABLED|GX_STYLE_TILE_BACKGROUND,   /* style flags */
1349     GX_STATUS_ACCEPTS_FOCUS,                 /* status flags                   */
1350     sizeof(GX_PIXELMAP_SLIDER),              /* control block size             */
1351     GX_COLOR_ID_WIDGET_FILL,                 /* normal color id                */
1352     GX_COLOR_ID_WIDGET_FILL,                 /* selected color id              */
1353     GX_COLOR_ID_WIDGET_FILL,                 /* disabled color id              */
1354     gx_studio_pixelmap_slider_create,        /* create function                */
1355     GX_NULL,                                 /* drawing function override      */
1356     GX_NULL,                                 /* event function override        */
1357     {462, 76, 617, 102},                     /* widget size                    */
1358     &Shapes_Screen_prompt_brush_width_define, /* next widget definition        */
1359     GX_NULL,                                 /* no child widgets               */
1360     offsetof(SHAPES_SCREEN_CONTROL_BLOCK, Shapes_Screen_radius_slider), /* control block */
1361     (void *) &Shapes_Screen_radius_slider_properties /* extended properties    */
1362 };
1363 
1364 GX_CONST GX_STUDIO_WIDGET Shapes_Screen_radius_val_define =
1365 {
1366     "radius_val",
1367     GX_TYPE_PIXELMAP_PROMPT,                 /* widget type                    */
1368     ID_RADIUS_PROMPT_VAL,                    /* widget id                      */
1369     #if defined(GX_WIDGET_USER_DATA)
1370     0,                                       /* user data                      */
1371     #endif
1372     GX_STYLE_BORDER_THIN|GX_STYLE_TEXT_CENTER,   /* style flags                */
1373     0,                                       /* status flags                   */
1374     sizeof(GX_PIXELMAP_PROMPT),              /* control block size             */
1375     GX_COLOR_ID_WIDGET_FILL,                 /* normal color id                */
1376     GX_COLOR_ID_SELECTED_FILL,               /* selected color id              */
1377     GX_COLOR_ID_WIDGET_FILL,                 /* disabled color id              */
1378     gx_studio_pixelmap_prompt_create,        /* create function                */
1379     GX_NULL,                                 /* drawing function override      */
1380     GX_NULL,                                 /* event function override        */
1381     {572, 46, 621, 74},                      /* widget size                    */
1382     &Shapes_Screen_radius_slider_define,     /* next widget definition         */
1383     GX_NULL,                                 /* no child widgets               */
1384     offsetof(SHAPES_SCREEN_CONTROL_BLOCK, Shapes_Screen_radius_val), /* control block */
1385     (void *) &Shapes_Screen_radius_val_properties /* extended properties       */
1386 };
1387 
1388 GX_CONST GX_STUDIO_WIDGET Shapes_Screen_prompt_radius_define =
1389 {
1390     "prompt_radius",
1391     GX_TYPE_PROMPT,                          /* widget type                    */
1392     GX_ID_NONE,                              /* widget id                      */
1393     #if defined(GX_WIDGET_USER_DATA)
1394     0,                                       /* user data                      */
1395     #endif
1396     GX_STYLE_BORDER_NONE|GX_STYLE_TRANSPARENT|GX_STYLE_ENABLED|GX_STYLE_TEXT_LEFT,   /* style flags */
1397     GX_STATUS_ACCEPTS_FOCUS,                 /* status flags                   */
1398     sizeof(GX_PROMPT),                       /* control block size             */
1399     GX_COLOR_ID_WIDGET_FILL,                 /* normal color id                */
1400     GX_COLOR_ID_SELECTED_FILL,               /* selected color id              */
1401     GX_COLOR_ID_WIDGET_FILL,                 /* disabled color id              */
1402     gx_studio_prompt_create,                 /* create function                */
1403     GX_NULL,                                 /* drawing function override      */
1404     GX_NULL,                                 /* event function override        */
1405     {463, 46, 518, 69},                      /* widget size                    */
1406     &Shapes_Screen_radius_val_define,        /* next widget definition         */
1407     GX_NULL,                                 /* no child widgets               */
1408     offsetof(SHAPES_SCREEN_CONTROL_BLOCK, Shapes_Screen_prompt_radius), /* control block */
1409     (void *) &Shapes_Screen_prompt_radius_properties /* extended properties    */
1410 };
1411 
1412 GX_CONST GX_STUDIO_WIDGET Shapes_Screen_graphics_window_define =
1413 {
1414     "graphics_window",
1415     GX_TYPE_WINDOW,                          /* widget type                    */
1416     ID_GRAPHICS_WINDOW,                      /* widget id                      */
1417     #if defined(GX_WIDGET_USER_DATA)
1418     0,                                       /* user data                      */
1419     #endif
1420     GX_STYLE_BORDER_NONE|GX_STYLE_TRANSPARENT|GX_STYLE_TILE_WALLPAPER,   /* style flags */
1421     GX_STATUS_ACCEPTS_FOCUS,                 /* status flags                   */
1422     sizeof(GX_WINDOW),                       /* control block size             */
1423     GX_COLOR_ID_WINDOW_FILL,                 /* normal color id                */
1424     GX_COLOR_ID_WINDOW_FILL,                 /* selected color id              */
1425     GX_COLOR_ID_WINDOW_FILL,                 /* disabled color id              */
1426     gx_studio_window_create,                 /* create function                */
1427     (VOID (*)(GX_WIDGET *)) graphics_draw,   /* drawing function override      */
1428     GX_NULL,                                 /* event function override        */
1429     {60, 46, 452, 410},                      /* widget size                    */
1430     &Shapes_Screen_prompt_radius_define,     /* next widget definition         */
1431     GX_NULL,                                 /* no child widgets               */
1432     offsetof(SHAPES_SCREEN_CONTROL_BLOCK, Shapes_Screen_graphics_window), /* control block */
1433     (void *) &Shapes_Screen_graphics_window_properties /* extended properties  */
1434 };
1435 
1436 GX_CONST GX_STUDIO_WIDGET Shapes_Screen_express_icon_define =
1437 {
1438     "express_icon",
1439     GX_TYPE_ICON,                            /* widget type                    */
1440     GX_ID_NONE,                              /* widget id                      */
1441     #if defined(GX_WIDGET_USER_DATA)
1442     0,                                       /* user data                      */
1443     #endif
1444     GX_STYLE_BORDER_NONE|GX_STYLE_ENABLED|GX_STYLE_HALIGN_LEFT|GX_STYLE_VALIGN_TOP,   /* style flags */
1445     GX_STATUS_ACCEPTS_FOCUS,                 /* status flags                   */
1446     sizeof(GX_ICON),                         /* control block size             */
1447     GX_COLOR_ID_WIDGET_FILL,                 /* normal color id                */
1448     GX_COLOR_ID_SELECTED_FILL,               /* selected color id              */
1449     GX_COLOR_ID_WIDGET_FILL,                 /* disabled color id              */
1450     gx_studio_icon_create,                   /* create function                */
1451     GX_NULL,                                 /* drawing function override      */
1452     GX_NULL,                                 /* event function override        */
1453     {12, 12, 200, 41},                       /* widget size                    */
1454     GX_NULL,                                 /* no next widget                 */
1455     GX_NULL,                                 /* no child widgets               */
1456     offsetof(SHAPES_SCREEN_CONTROL_BLOCK, Shapes_Screen_express_icon), /* control block */
1457     (void *) &Shapes_Screen_express_icon_properties /* extended properties     */
1458 };
1459 
1460 GX_CONST GX_STUDIO_WIDGET Shapes_Screen_Shapes_Window_define =
1461 {
1462     "Shapes_Window",
1463     GX_TYPE_WINDOW,                          /* widget type                    */
1464     ID_SHAPES_WINDOW,                        /* widget id                      */
1465     #if defined(GX_WIDGET_USER_DATA)
1466     0,                                       /* user data                      */
1467     #endif
1468     GX_STYLE_BORDER_NONE|GX_STYLE_TRANSPARENT,   /* style flags                */
1469     GX_STATUS_ACCEPTS_FOCUS,                 /* status flags                   */
1470     sizeof(GX_WINDOW),                       /* control block size             */
1471     GX_COLOR_ID_WINDOW_FILL,                 /* normal color id                */
1472     GX_COLOR_ID_WINDOW_FILL,                 /* selected color id              */
1473     GX_COLOR_ID_WINDOW_FILL,                 /* disabled color id              */
1474     gx_studio_window_create,                 /* create function                */
1475     GX_NULL,                                 /* drawing function override      */
1476     GX_NULL,                                 /* event function override        */
1477     {0, 35, 639, 410},                       /* widget size                    */
1478     &Shapes_Screen_express_icon_define,      /* next widget definition         */
1479     &Shapes_Screen_graphics_window_define,   /* child widget definition        */
1480     offsetof(SHAPES_SCREEN_CONTROL_BLOCK, Shapes_Screen_Shapes_Window), /* control block */
1481     (void *) &Shapes_Screen_Shapes_Window_properties /* extended properties    */
1482 };
1483 
1484 GX_CONST GX_STUDIO_WIDGET Shapes_Screen_shape_type_container_define =
1485 {
1486     "shape_type_container",
1487     GX_TYPE_WINDOW,                          /* widget type                    */
1488     GX_ID_NONE,                              /* widget id                      */
1489     #if defined(GX_WIDGET_USER_DATA)
1490     0,                                       /* user data                      */
1491     #endif
1492     GX_STYLE_BORDER_NONE,                    /* style flags                    */
1493     GX_STATUS_ACCEPTS_FOCUS,                 /* status flags                   */
1494     sizeof(GX_WINDOW),                       /* control block size             */
1495     GX_COLOR_ID_WINDOW_FILL,                 /* normal color id                */
1496     GX_COLOR_ID_WINDOW_FILL,                 /* selected color id              */
1497     GX_COLOR_ID_WINDOW_FILL,                 /* disabled color id              */
1498     gx_studio_window_create,                 /* create function                */
1499     GX_NULL,                                 /* drawing function override      */
1500     GX_NULL,                                 /* event function override        */
1501     {7, 419, 635, 462},                      /* widget size                    */
1502     &Shapes_Screen_Shapes_Window_define,     /* next widget definition         */
1503     &Shapes_Screen_radio_button_circle_define, /* child widget definition      */
1504     offsetof(SHAPES_SCREEN_CONTROL_BLOCK, Shapes_Screen_shape_type_container), /* control block */
1505     (void *) &Shapes_Screen_shape_type_container_properties /* extended properties */
1506 };
1507 
1508 GX_CONST GX_STUDIO_WIDGET Shapes_Screen_define =
1509 {
1510     "Shapes_Screen",
1511     GX_TYPE_WINDOW,                          /* widget type                    */
1512     ID_SHAPES_SCREEN,                        /* widget id                      */
1513     #if defined(GX_WIDGET_USER_DATA)
1514     0,                                       /* user data                      */
1515     #endif
1516     GX_STYLE_BORDER_NONE,                    /* style flags                    */
1517     GX_STATUS_ACCEPTS_FOCUS,                 /* status flags                   */
1518     sizeof(SHAPES_SCREEN_CONTROL_BLOCK),     /* control block size             */
1519     GX_COLOR_ID_BLACK,                       /* normal color id                */
1520     GX_COLOR_ID_BLACK,                       /* selected color id              */
1521     GX_COLOR_ID_BLACK,                       /* disabled color id              */
1522     gx_studio_window_create,                 /* create function                */
1523     GX_NULL,                                 /* drawing function override      */
1524     (UINT (*)(GX_WIDGET *, GX_EVENT *)) ShapesScreen_event_handler, /* event function override */
1525     {1, 0, 639, 478},                        /* widget size                    */
1526     GX_NULL,                                 /* next widget                    */
1527     &Shapes_Screen_shape_type_container_define, /* child widget                */
1528     0,                                       /* control block                  */
1529     (void *) &Shapes_Screen_properties       /* extended properties            */
1530 };
1531 GX_CONST GX_STUDIO_WIDGET_ENTRY guix_shapes_widget_table[] =
1532 {
1533     { &Text_Rotaion_Window_define, (GX_WIDGET *) &Text_Rotaion_Window },
1534     { &Shapes_Screen_define, (GX_WIDGET *) &Shapes_Screen },
1535     {GX_NULL, GX_NULL}
1536 };
1537 
gx_studio_nested_widget_create(GX_BYTE * control,GX_CONST GX_STUDIO_WIDGET * definition,GX_WIDGET * parent)1538 static GX_WIDGET *gx_studio_nested_widget_create(GX_BYTE *control, GX_CONST GX_STUDIO_WIDGET *definition, GX_WIDGET *parent)
1539 {
1540     UINT status = GX_SUCCESS;
1541     GX_WIDGET *widget = GX_NULL;
1542     GX_VALUE   list_count = 0;
1543     GX_VALUE   list_total_count = 0;
1544 
1545     if(parent && (parent->gx_widget_type == GX_TYPE_MENU))
1546     {
1547         list_total_count = ((GX_MENU *)parent)->gx_menu_list_total_count;
1548     }
1549 
1550     while(definition && status == GX_SUCCESS)
1551     {
1552         if (definition->create_function)
1553         {
1554             if (definition->style & GX_STYLE_DYNAMICALLY_ALLOCATED)
1555             {
1556                 status = gx_widget_allocate(&widget, definition->control_block_size);
1557                 if (status != GX_SUCCESS)
1558                 {
1559                     return GX_NULL;
1560                 }
1561             }
1562             else
1563             {
1564                 if (control == GX_NULL)
1565                 {
1566                     return GX_NULL;
1567                 }
1568                 widget = (GX_WIDGET *) (control + definition->control_block_offset);
1569             }
1570 
1571             status = definition->create_function(definition, widget, parent);
1572 
1573             if(list_count < list_total_count)
1574             {
1575                 gx_menu_insert((GX_MENU *)parent, widget);
1576                 ((GX_MENU *)parent)->gx_menu_list_total_count--;
1577                 list_count++;
1578             }
1579 
1580             if (status == GX_SUCCESS)
1581             {
1582                 if (definition->widget_type != GX_TYPE_TEMPLATE)
1583                 {
1584 #if defined(GUIX_5_4_0_COMPATIBILITY)
1585                     gx_widget_fill_color_set(widget, definition->normal_fill_color_id, definition->selected_fill_color_id);
1586 #else
1587                     gx_widget_fill_color_set(widget, definition->normal_fill_color_id, definition->selected_fill_color_id, definition->disabled_fill_color_id);
1588 #endif
1589                 }
1590 
1591                 if (!(definition->status & GX_STATUS_ACCEPTS_FOCUS))
1592                 {
1593                     gx_widget_status_remove(widget, GX_STATUS_ACCEPTS_FOCUS);
1594                 }
1595 
1596                 if (definition->draw_function)
1597                 {
1598                     gx_widget_draw_set(widget, definition->draw_function);
1599                 }
1600                 if (definition->event_function)
1601                 {
1602                     gx_widget_event_process_set(widget, definition->event_function);
1603                 }
1604 
1605                 #if defined(GX_WIDGET_USER_DATA)
1606                 widget->gx_widget_user_data = definition->user_data;
1607                 #endif
1608 
1609                 if (definition->child_widget)
1610                 {
1611                     gx_studio_nested_widget_create(control, definition->child_widget, widget);
1612                 }
1613             }
1614             definition = definition->next_widget;
1615         }
1616     }
1617     return widget;
1618 }
1619 
gx_studio_widget_create(GX_BYTE * control,GX_CONST GX_STUDIO_WIDGET * definition,GX_WIDGET * parent)1620 GX_WIDGET *gx_studio_widget_create(GX_BYTE *control, GX_CONST GX_STUDIO_WIDGET *definition, GX_WIDGET *parent)
1621 {
1622     GX_WIDGET *widget;
1623     widget = gx_studio_nested_widget_create(control, definition, GX_NULL);
1624 
1625     if (parent && widget)
1626     {
1627         gx_widget_attach(parent, widget);
1628     }
1629     return widget;
1630 }
1631 
gx_studio_named_widget_create(char * name,GX_WIDGET * parent,GX_WIDGET ** new_widget)1632 UINT gx_studio_named_widget_create(char *name, GX_WIDGET *parent, GX_WIDGET **new_widget)
1633 {
1634     UINT status = GX_FAILURE;
1635     GX_CONST GX_STUDIO_WIDGET_ENTRY *entry = guix_shapes_widget_table;
1636     GX_WIDGET *widget = GX_NULL;
1637 
1638     while(entry->widget_information)
1639     {
1640         if (!strcmp(name, entry->widget_information->widget_name))
1641         {
1642             widget = gx_studio_widget_create((GX_BYTE *) entry->widget, entry->widget_information, parent);
1643             if (widget)
1644             {
1645                 status = GX_SUCCESS;
1646             }
1647             break;
1648         }
1649         entry++;
1650     }
1651 
1652     if (new_widget)
1653     {
1654         *new_widget = widget;
1655     }
1656     return status;
1657 }
1658 
1659 
gx_studio_display_configure(USHORT display,UINT (* driver)(GX_DISPLAY *),GX_UBYTE language,USHORT theme,GX_WINDOW_ROOT ** return_root)1660 UINT gx_studio_display_configure(USHORT display, UINT (*driver)(GX_DISPLAY *),
1661     GX_UBYTE language, USHORT theme, GX_WINDOW_ROOT **return_root)
1662 {
1663     GX_CONST GX_THEME *theme_ptr;
1664     GX_RECTANGLE size;
1665 
1666     GX_STUDIO_DISPLAY_INFO *display_info = &guix_shapes_display_table[display];
1667 
1668 
1669 /* create the requested display                                                */
1670 
1671     gx_display_create(display_info->display,
1672                       display_info->name,
1673                       driver,
1674                       (GX_VALUE) display_info->x_resolution,
1675                       (GX_VALUE) display_info->y_resolution);
1676 
1677 
1678 /* install the request theme                                                   */
1679 
1680     if(display_info->theme_table)
1681     {
1682         theme_ptr = display_info->theme_table[theme];
1683         if(theme_ptr)
1684         {
1685             gx_display_color_table_set(display_info->display, theme_ptr->theme_color_table, theme_ptr->theme_color_table_size);
1686 
1687 /* install the color palette if required                                       */
1688             if (display_info->display->gx_display_driver_palette_set &&
1689                 theme_ptr->theme_palette != NULL)
1690             {
1691                 display_info->display->gx_display_driver_palette_set(display_info->display, theme_ptr->theme_palette, theme_ptr->theme_palette_size);
1692             }
1693 
1694             gx_display_font_table_set(display_info->display, theme_ptr->theme_font_table, theme_ptr->theme_font_table_size);
1695             gx_display_pixelmap_table_set(display_info->display, theme_ptr->theme_pixelmap_table, theme_ptr->theme_pixelmap_table_size);
1696             gx_system_scroll_appearance_set(theme_ptr->theme_vertical_scroll_style, (GX_SCROLLBAR_APPEARANCE *) &theme_ptr->theme_vertical_scrollbar_appearance);
1697             gx_system_scroll_appearance_set(theme_ptr->theme_horizontal_scroll_style, (GX_SCROLLBAR_APPEARANCE *) &theme_ptr->theme_horizontal_scrollbar_appearance);
1698         }
1699     }
1700 
1701 /* Install the language table.                                                 */
1702 
1703     if(display_info->language_table)
1704     {
1705         gx_display_language_table_set_ext(display_info->display, display_info->language_table, (GX_UBYTE) display_info->language_table_size, display_info->string_table_size);
1706         gx_display_active_language_set(display_info->display, language);
1707     }
1708 
1709 /* Set screen rotation angle.                                                  */
1710 
1711     display_info->display->gx_display_rotation_angle = display_info->rotation_angle;
1712 
1713 /* create the canvas for this display                                          */
1714 
1715     gx_canvas_create(display_info->canvas,
1716                      display_info->canvas_name,
1717                      display_info->display,
1718                      GX_CANVAS_MANAGED | GX_CANVAS_VISIBLE,
1719                      display_info->x_resolution,
1720                      display_info->y_resolution,
1721                      display_info->canvas_memory,
1722                      display_info->canvas_memory_size);
1723 
1724 /* Create the root window for this canvas                                      */
1725 
1726     gx_utility_rectangle_define(&size,
1727                                 0, 0,
1728                                 (GX_VALUE) (display_info->x_resolution - 1),
1729                                 (GX_VALUE) (display_info->y_resolution - 1));
1730 
1731     gx_window_root_create(display_info->root_window,
1732                           display_info->name,
1733                           display_info->canvas, GX_STYLE_NONE, 0, &size);
1734     if (return_root)
1735     {
1736         *return_root = display_info->root_window;
1737     }
1738     return GX_SUCCESS;
1739 }
1740 #undef GUIX_STUDIO_GENERATED_FILE
1741