3#include "IManagedScreen.h"
6using ScreenId = uint8_t;
Interface for a screen that can be managed by ScreenManager. A 'Screen' is a combination of the 'View...
Definition: IManagedScreen.h:13
virtual void begin()=0
Called after a screen is created but before start()
A registration entry for an External IManagedScreen.
Definition: ScreenEntry.h:51
void unload() override
Delete an IManagedScren if required.
Definition: ScreenEntry.h:73
ScreenEntryExternal(T *screen, ScreenId id)
Construct a ScreenEntry for an External IManagedScreen.
Definition: ScreenEntry.h:62
IManagedScreen * load() override
Create an IManagedScreen if required and return it.
Definition: ScreenEntry.h:69
A registration entry for a Managed IManagedScreen.
Definition: ScreenEntry.h:83
void unload() override
Delete an IManagedScren if required.
Definition: ScreenEntry.h:112
ScreenEntryManaged(ScreenId id)
Construct a ScreenEntry for Managed IManagedScreen.
Definition: ScreenEntry.h:94
IManagedScreen * load() override
Create an IManagedScreen if required and return it.
Definition: ScreenEntry.h:104
A registered screen. Only ever accessed by ScreenManager.
Definition: ScreenEntry.h:12
bool isManaged
True = Managed, false = External.
Definition: ScreenEntry.h:28
ScreenEntry * prevScreenEntry
The previous screen in the intrusive list.
Definition: ScreenEntry.h:22
virtual IManagedScreen * load()=0
Create an IManagedScreen if required and return it.
virtual void unload()=0
Delete an IManagedScren if required.
bool isOverlay
Reserved for future use.
Definition: ScreenEntry.h:29
ScreenEntry * nextScreenEntry
The next screen in the intrusive list.
Definition: ScreenEntry.h:21
IManagedScreen * instance
The reference to an instance of an external or managed IManagedScreen -.
Definition: ScreenEntry.h:24
ScreenId id
The identified given during registration.
Definition: ScreenEntry.h:25
The core class that handles registration, transitions and of course, calling the screen's draw() meth...
Definition: ScreenManager.h:16