screen system
[fbgfx] / src / screen.h
diff --git a/src/screen.h b/src/screen.h
new file mode 100644 (file)
index 0000000..9a449e8
--- /dev/null
@@ -0,0 +1,25 @@
+#ifndef SCREEN_H_
+#define SCREEN_H_
+
+struct screen {
+       char *name;
+
+       int (*init)(void);
+       void (*shutdown)(void);
+
+       void (*start)(long trans_time);
+       void (*stop)(long trans_time);
+
+       void (*draw)(void);
+};
+
+int scr_init(void);
+void scr_shutdown(void);
+
+void scr_update(void);
+void scr_draw(void);
+
+struct screen *scr_lookup(const char *name);
+int scr_change(struct screen *s, long trans_time);
+
+#endif /* SCREEN_H_ */