2 #include "oswald_watch_faces.h"
4 #include "LcdDisplay.h"
6 #include "oswald_screens.h"
9 void (*screendraw_func)(boolean shoq_seconds);
13 static idle_data_t idle_screen = {
19 void idle_handle_user_buttons(watch_button button)
23 if (idle_screen.show_seconds)
24 idle_screen.show_seconds = FALSE;
26 idle_screen.show_seconds = TRUE;
29 if (idle_screen.analogue == TRUE) {
30 idle_screen.analogue = FALSE;
31 idle_screen.screendraw_func = DrawLcdDigitalClock;
33 idle_screen.analogue = TRUE;
34 idle_screen.screendraw_func = DrawLcdAnaClock;
40 idle_screen.screendraw_func(idle_screen.show_seconds);
43 void idle_handle_events(u16t event, void *data)
46 case EVENT_ONE_SEC_TIMER:
47 case EVENT_SCREEN_VISIBLE:
48 idle_screen.screendraw_func(idle_screen.show_seconds);
50 case EVENT_USER_BUTTONS:
51 dbg_out("button event %d\n", *(int *)data);
52 idle_handle_user_buttons(*(watch_button *)data);
60 void draw_accel_screen(void)
64 WriteLcdString(2, 2, "X:");
65 WriteLcdString(20, 2, "123");
66 WriteLcdString(2, 18, "Z:");
67 WriteLcdString(20, 18, "123");
68 WriteLcdString(2, 34, "Y:");
69 WriteLcdString(20, 34, "123");
72 void accel_handle_events(u16t event, void *data)
75 case EVENT_SCREEN_VISIBLE:
78 case EVENT_USER_BUTTONS:
79 dbg_out("button event %d\n", *(int *)data);
87 void draw_datetime_setup_screen(void)
91 WriteLcdString(2, 2, "Date / Time");
92 WriteLcdString(2, 18, "Setting");
93 WriteLcdString(2, 34, "22:39");
94 WriteLcdString(2, 50, "07.08.2012");
97 void datetime_setup_events(u16t event, void *data)
100 case EVENT_SCREEN_VISIBLE:
101 draw_datetime_setup_screen();
103 case EVENT_USER_BUTTONS:
104 dbg_out("button event %d\n", *(int *)data);
115 static test_menu_t test_menu = { 0 };
117 void draw_menu_test_screen(void)
120 SetFont(MetaWatch16);
121 WriteLcdString(2, 2, "Menu");
123 WriteLcdString(2, 20, "Item 1");
124 WriteLcdString(2, 29, "Item 2");
125 WriteLcdString(2, 38, "Item 3");
126 WriteLcdString(2, 47, "Item 4");
127 WriteLcdString(2, 56, "Item 5");
129 WriteLcdString(50, 20+(9*test_menu.menu_pos), "*");
132 static void handle_menu_user_buttons(watch_button button)
136 test_menu.menu_pos--;
137 test_menu.menu_pos%=5;
140 test_menu.menu_pos++;
141 test_menu.menu_pos%=5;
146 draw_menu_test_screen();
149 void test_menu_handle_events(u16t event, void *data)
152 case EVENT_USER_BUTTONS:
153 dbg_out("button event %d\n", *(int *)data);
154 handle_menu_user_buttons(*(watch_button *)data);
156 case EVENT_SCREEN_VISIBLE:
157 test_menu.menu_pos = 0;
158 draw_menu_test_screen();