## Summary
* This PR drastically reshapes the structure of the codebase, moving
from the concept of "Screens" to "Activities", restructing the files and
setting up the concept of subactivities.
* This should help with keep the main file clean and containing all
functional logic in the relevant activity.
* CrossPointState is now also a global singleton which should help with
accessing it from within activities.
## Additional Context
* This is probably going to be a bit disruptive for people with open
PRs, sorry 😞
25 lines
770 B
C++
25 lines
770 B
C++
#pragma once
|
|
#include <memory>
|
|
|
|
#include "../ActivityWithSubactivity.h"
|
|
|
|
class Epub;
|
|
|
|
class ReaderActivity final : public ActivityWithSubactivity {
|
|
std::string initialEpubPath;
|
|
const std::function<void()> onGoBack;
|
|
static std::unique_ptr<Epub> loadEpub(const std::string& path);
|
|
|
|
void onSelectEpubFile(const std::string& path);
|
|
void onGoToFileSelection();
|
|
void onGoToEpubReader(std::unique_ptr<Epub> epub);
|
|
|
|
public:
|
|
explicit ReaderActivity(GfxRenderer& renderer, InputManager& inputManager, std::string initialEpubPath,
|
|
const std::function<void()>& onGoBack)
|
|
: ActivityWithSubactivity(renderer, inputManager),
|
|
initialEpubPath(std::move(initialEpubPath)),
|
|
onGoBack(onGoBack) {}
|
|
void onEnter() override;
|
|
};
|