tds3p-rsvp-reader/include/Reader.h

30 lines
547 B
C++

#pragma once
#include <Arduino.h>
#include <vector>
struct Token {
uint32_t offset;
uint16_t length;
uint32_t paragraph;
};
class Reader {
public:
bool load(const String& book);
void restoreAtParagraphStart(uint32_t savedWord);
const String currentWord() const;
bool advance();
bool previousParagraph();
bool nextParagraph();
uint32_t currentIndex() const;
uint32_t delayMs(uint16_t wpm) const;
private:
String book_;
std::vector<Token> tokens_;
std::vector<uint32_t> paragraphStarts_;
uint32_t index_ = 0;
};