]> git.karo-electronics.de Git - oswald.git/blobdiff - ui/oswald.h
Add support for more screens
[oswald.git] / ui / oswald.h
index c2ea5d3b5ecfc37d6989724e7f595ef71fdd637f..ed7f54ab59340f1d9aedd973e588c1ac8c090663 100644 (file)
@@ -3,6 +3,8 @@
 
 typedef signed char s8t;
 typedef unsigned char u8t;
+typedef signed short s16t;
+typedef unsigned short u16t;
 typedef u8t boolean;
 #ifdef TRUE
 #undef TRUE
@@ -27,7 +29,11 @@ typedef struct {
 
 typedef enum {
        IDLE_SCREEN = 0,
-       APPLICATION_SCREEN,
+       SETTING_DATETIME_SCREEN,
+//     SCREEN2_SCREEN,
+//     SCREEN3_SCREEN,
+//     APPLICATION_SCREEN,
+       LAST_SCREEN,            // a marker for the last (not valid) screen)
 } screen_number;
 
 typedef enum {
@@ -39,12 +45,17 @@ typedef enum {
        BUTTON_F,
 } watch_button;
 
+typedef struct {
+       void (*button_func)(watch_button button);
+} watch_screen;
+
 typedef struct {
        screen_number   screen;
-       void (*idle_draw_func)(boolean show_seconds);
+       // void (*draw_watchface_func)(boolean show_seconds);
        boolean idle_show_seconds;
+       void (*user_button_func)(watch_button button);
+       void (*user_screendraw_func)(void);
 } watch_state;
 
-
 #endif