src.nth.io/

summaryrefslogtreecommitdiff
path: root/main/local_screens.h
diff options
context:
space:
mode:
Diffstat (limited to 'main/local_screens.h')
-rw-r--r--main/local_screens.h25
1 files changed, 25 insertions, 0 deletions
diff --git a/main/local_screens.h b/main/local_screens.h
new file mode 100644
index 0000000..20b2b36
--- /dev/null
+++ b/main/local_screens.h
@@ -0,0 +1,25 @@
+#pragma once
+
+#include "esp_err.h"
+
+// Initialize the local-screen renderer. Allocates a PSRAM scratch buffer
+// sized for the panel's effective resolution and primes the embedded
+// bitmap font.
+esp_err_t local_screens_init(void);
+
+// Render the unconfigured / identify screen — two centered lines:
+// "viewport.local"
+// <current IP>
+// Shown on first boot, after factory reset, and as a BOOT-button overlay.
+esp_err_t local_screens_show_ip(void);
+
+// Render the loading screen — centered "Loading…" — shown on every wake
+// until the next /frame arrives.
+esp_err_t local_screens_show_loading(void);
+
+// Repaint the current best screen for `state`. Used after the BOOT-button
+// 15-second overlay expires.
+// UNCONFIGURED -> IP screen
+// ASLEEP -> (caller handles backlight; this paints a black FB)
+// AWAKE -> black FB; Scrypted's next /frame restores live content
+esp_err_t local_screens_restore_for_state(void);