/** * XtcReaderActivity.h * * XTC ebook reader activity for CrossPoint Reader * Displays pre-rendered XTC pages on e-ink display */ #pragma once #include #include "activities/Activity.h" class XtcReaderActivity final : public Activity { std::shared_ptr xtc; uint32_t currentPage = 0; int pagesUntilFullRefresh = 0; void renderPage(); void saveProgress() const; void loadProgress(); public: explicit XtcReaderActivity(GfxRenderer& renderer, MappedInputManager& mappedInput, std::unique_ptr xtc) : Activity("XtcReader", renderer, mappedInput), xtc(std::move(xtc)) {} void onEnter() override; void onExit() override; void loop() override; void render(RenderLock&&) override; bool isReaderActivity() const override { return true; } };