d976595879
Main / Build (BookPlayer) (push) Has been cancelled
Main / Build (Brainfuck) (push) Has been cancelled
Main / Build (Breakout) (push) Has been cancelled
Main / Build (Calculator) (push) Has been cancelled
Main / Build (Diceware) (push) Has been cancelled
Main / Build (EpubReader) (push) Has been cancelled
Main / Build (GPIO) (push) Has been cancelled
Main / Build (GraphicsDemo) (push) Has been cancelled
Main / Build (HelloWorld) (push) Has been cancelled
Main / Build (M5UnitTest) (push) Has been cancelled
Main / Build (Magic8Ball) (push) Has been cancelled
Main / Build (MediaKeys) (push) Has been cancelled
Main / Build (MystifyDemo) (push) Has been cancelled
Main / Build (SerialConsole) (push) Has been cancelled
Main / Build (Snake) (push) Has been cancelled
Main / Build (TamaTac) (push) Has been cancelled
Main / Build (TodoList) (push) Has been cancelled
Main / Build (TwoEleven) (push) Has been cancelled
Main / Bundle (push) Has been cancelled
42 lines
669 B
C++
42 lines
669 B
C++
#pragma once
|
|
|
|
#include <lvgl.h>
|
|
#include <cstdint>
|
|
|
|
namespace GameKit {
|
|
|
|
struct Tick {
|
|
uint32_t dtMs = 0;
|
|
uint32_t nowMs = 0;
|
|
};
|
|
|
|
enum class InputKind : uint8_t {
|
|
Up,
|
|
Down,
|
|
Left,
|
|
Right,
|
|
Confirm,
|
|
Cancel,
|
|
Menu,
|
|
Touch,
|
|
Swipe,
|
|
Unknown,
|
|
};
|
|
|
|
struct InputEvent {
|
|
InputKind kind = InputKind::Unknown;
|
|
lv_point_t point {0, 0};
|
|
};
|
|
|
|
class Scene {
|
|
public:
|
|
virtual ~Scene() = default;
|
|
virtual void onEnter(lv_obj_t* root) = 0;
|
|
virtual void onExit() = 0;
|
|
virtual void onInput(const InputEvent& input) = 0;
|
|
virtual void onTick(const Tick& tick) = 0;
|
|
virtual void render() = 0;
|
|
};
|
|
|
|
} // namespace GameKit
|