20#include "hid/display/oled_canvas/canvas.h"
21#include "hid/display/rainfall.h"
22#include "hid/display/starfield.h"
24namespace deluge::hid::display {
65 [[nodiscard]]
static bool isActive() {
return active_; }
78 bool was = frameDirty_;
102 static bool frameDirty_;
A field of falling diagonal rain streaks, in the visual grammar of the Deluge logo.
Definition rainfall.h:34
Blanks the OLED, or replaces it with a starfield or a field of Deluge rain, after a configurable peri...
Definition screensaver.h:35
static void arm()
Set the idle timer from the configured timeout.
Definition screensaver.cpp:79
static bool isActive()
Whether the screensaver is currently overriding the panel contents.
Definition screensaver.h:65
static oled_canvas::Canvas & getCanvas()
The canvas the screensaver draws into, which sendMainImage() sends in place of main.
Definition screensaver.h:87
static void noteActivity()
Register that a physical control was touched: wake the screensaver if it is showing,...
Definition screensaver.cpp:83
static void render()
Draw the current frame into canvas_ and mark it dirty.
Definition screensaver.cpp:179
static bool consumeFrameDirty()
Test and clear the "our canvas changed" flag.
Definition screensaver.h:77
static void renderRainfall()
Draw the rainfall's streaks into canvas_.
Definition screensaver.cpp:202
static void renderStarfield()
Draw the starfield's stars into canvas_.
Definition screensaver.cpp:195
static void timerEvent()
Activate the screensaver, or advance it one animation frame.
Definition screensaver.cpp:99
static void settingsChanged()
Apply a change to the mode or timeout setting: wake if showing, then re-arm or cancel the timer for t...
Definition screensaver.cpp:165
Perspective-projection starfield.
Definition starfield.h:35