#include "oswald.h" #include "oswald_watch_faces.h" #include "Fonts.h" #include "LcdDisplay.h" #include "oswald_screens.h" void idle_handle_user_buttons(watch_button button) { } void idle_handle_events(u16t event, void *data) { switch (event) { case EVENT_ONE_SEC_TIMER: case EVENT_SCREEN_VISIBLE: DrawLcdDigitalClock(); break; case EVENT_USER_BUTTONS: dbg_out("button event %d\n", *(int *)data); break; default: break; }; } void draw_accel_screen(void) { lcd_clear_display(); SetFont(MetaWatch16); WriteLcdString(2, 2, "X:"); WriteLcdString(20, 2, "123"); WriteLcdString(2, 18, "Z:"); WriteLcdString(20, 18, "123"); WriteLcdString(2, 34, "Y:"); WriteLcdString(20, 34, "123"); } void accel_handle_events(u16t event, void *data) { switch (event) { case EVENT_SCREEN_VISIBLE: draw_accel_screen(); break; case EVENT_USER_BUTTONS: dbg_out("button event %d\n", *(int *)data); break; default: break; }; } void draw_datetime_setup_screen(void) { lcd_clear_display(); SetFont(MetaWatch16); WriteLcdString(2, 2, "Date / Time"); WriteLcdString(2, 18, "Setting"); WriteLcdString(2, 34, "22:39"); WriteLcdString(2, 50, "07.08.2012"); } void datetime_setup_events(u16t event, void *data) { switch (event) { case EVENT_SCREEN_VISIBLE: draw_datetime_setup_screen(); break; case EVENT_USER_BUTTONS: dbg_out("button event %d\n", *(int *)data); break; default: break; }; } static u8t test_menu_pos = 0; void draw_menu_test_screen(void) { lcd_clear_display(); SetFont(MetaWatch16); WriteLcdString(2, 2, "Menu"); SetFont(MetaWatch7); WriteLcdString(2, 20, "Item 1"); WriteLcdString(2, 29, "Item 2"); WriteLcdString(2, 38, "Item 3"); WriteLcdString(2, 47, "Item 4"); WriteLcdString(2, 56, "Item 5"); WriteLcdString(50, 20+(9*test_menu_pos), "*"); } static void handle_menu_user_buttons(watch_button button) { switch (button) { case BUTTON_A: test_menu_pos--; test_menu_pos%=5; break; case BUTTON_B: test_menu_pos++; test_menu_pos%=5; break; default: break; } draw_menu_test_screen(); } void test_menu_handle_events(u16t event, void *data) { switch (event) { case EVENT_USER_BUTTONS: dbg_out("button event %d\n", *(int *)data); handle_menu_user_buttons(*(watch_button *)data); break; case EVENT_SCREEN_VISIBLE: test_menu_pos = 0; draw_menu_test_screen(); break; default: break; }; }