1 /* This is a small demo of the high-performance GUIX graphics framework. */
2 
3 #include <stdio.h>
4 #include "gx_api.h"
5 #include "all_widgets_565bgr_resources.h"
6 #include "all_widgets_565bgr_specifications.h"
7 
8 extern GX_WINDOW *pGaugeScreen;
9 static INT angle[6] = { -114, -90, 52, -27, 52, -114 };
10 static int angle_index = 0;
11 
set_gauge_angle(GX_CIRCULAR_GAUGE * gauge)12 VOID set_gauge_angle(GX_CIRCULAR_GAUGE *gauge)
13 {
14     gx_circular_gauge_angle_set(gauge, angle[angle_index++]);
15     if (angle_index >= (int)(sizeof(angle) / sizeof(INT)))
16     {
17         angle_index = 0;
18     }
19 }
20 
gauge_event_handle(GX_WINDOW * window,GX_EVENT * event_ptr)21 UINT gauge_event_handle(GX_WINDOW *window, GX_EVENT *event_ptr)
22 {
23     GX_CIRCULAR_GAUGE *gauge = &gauge_screen.gauge_screen_gauge_1;
24 
25     switch (event_ptr->gx_event_type)
26     {
27     case GX_EVENT_SHOW:
28         gx_window_event_process(window, event_ptr);
29         set_gauge_angle(gauge);
30         break;
31 
32     case GX_SIGNAL(ID_GAUGE, GX_EVENT_ANIMATION_COMPLETE):
33         set_gauge_angle(gauge);
34         break;
35 
36     default:
37         return gx_window_event_process(window, event_ptr);
38     }
39     return 0;
40 }