#pragma once #include #include #include namespace frontend { struct playback_impl; class playback { public: playback(const std::filesystem::path& video); void display(const std::string& windowName) const; bool seekFrame(std::size_t frameNum); std::size_t getFrame() const; bool seekTime(double time); double getTime() const; void interFrameSleep() const; std::size_t getMaxFrame() const; double getMaxTime() const; private: std::shared_ptr data; }; }