ScreenManager v1.0.0
A lightweight C++ library for managing application screens, navigation, transitions and display timing.
ScreenRouter.h
1#ifndef SCREEN_ROUTER_H
2#define SCREEN_ROUTER_H
3
4#include <stdint.h>
5#include "ScreenTransition.h"
6
12public:
13
14 public:
15
16 virtual ~ScreenRouter() = default;
17
25 virtual uint8_t resolveScreen(uint8_t current, const TransitionIntent& intent) = 0;
26
27 private:
28 friend class ScreenManager;
29
30 ScreenRouter* nextRouter = nullptr;
31 ScreenRouter* prevRouter = nullptr;
32
33
34
35};
36
37#endif
The core class that handles registration, transitions and of course, calling the screen's draw() meth...
Definition: ScreenManager.h:16
Abstract class that resolves screen transitions (ie moving Next, Back or to a new screen)....
Definition: ScreenRouter.h:11
virtual uint8_t resolveScreen(uint8_t current, const TransitionIntent &intent)=0
Resolve a screen transition intent's validity. Can return 0 or the the requested id (no objection),...
The type of transition and an optional requested screen name.
Definition: ScreenTransition.h:24