1 
2 #include <stdio.h>
3 #include "gx_api.h"
4 
5 #include "guix_smart_watch_resources.h"
6 #include "guix_smart_watch_specifications.h"
7 
8 #define SYSTEM_CLOCK_TIMER_ID              1
9 #define SCREEN_CLOCK_TIMER_ID               2
10 #define FITNESS_SCREEN_CHART_TIMER_ID      3
11 #define SCREEN_ANIMATION_TIMER_ID          4
12 
13 #define SCREEN_DRAG_ANIMATION_ID 1
14 #define CLOCK_SLIDE_ANIMATION_ID  2
15 #define SCREEN_SLIDE_ANIMATION_ID 3
16 
17 #define USER_EVENT_ANIMATION_START GX_FIRST_APP_EVENT
18 #define USER_EVENT_ANIMATION_STOP  GX_FIRST_APP_EVENT + 1
19 
20 typedef struct SCREEN_INFO_STRUCT {
21     GX_WIDGET* screen;
22     GX_RESOURCE_ID title_icon_id;
23     GX_RESOURCE_ID title_text_id;
24     GX_BOOL title_transparency;
25 }SCREEN_INFO;
26 
27 typedef struct TIME_STRUCT {
28     INT month;
29     INT day;
30     INT day_of_week;
31     INT hour;
32     INT minute;
33     INT second;
34 } TIME;
35 
36 VOID *memory_allocate(ULONG size);
37 VOID  memory_free(VOID *mem);
38 
39 VOID clear_screen_clock_record();
40 VOID screen_clock_update(GX_NUMERIC_PROMPT* hour, GX_NUMERIC_PROMPT* minute, GX_PROMPT* second);
41 VOID page_screen_slide(GX_WIDGET *current_screen, GX_WIDGET *target_screen);
42 VOID container_screen_slide(GX_WIDGET *current_screen, GX_WIDGET *target_screen);
43 VOID screens_initialize();
44 VOID fitness_screen_initialize();
45 VOID watch_screen_initialize();
46 VOID music_play_on();
47 VOID music_play_off();
48 VOID music_play_progress_update();
49 VOID weather_screen_music_progress_update();
50 
51 int get_calorie_burned_progress_val();
52 int get_running_progress_val();
53 int get_running_steps();
54 int get_running_distance();
55 int get_standing_progress_val();
56 int get_ekg_progress_val();