#ifndef RECORDER_H #define RECORDER_H #include #include #include class FrameBuffer; class Recorder { public: Recorder(); virtual ~Recorder() {} virtual void addFrame(const FrameBuffer *frame_buffer, float dt) = 0; inline bool finished() const { return finished_; } inline bool enabled() const { return enabled_; } protected: std::atomic enabled_; std::atomic finished_; }; class FrameRecorder : public Recorder { std::string filename_; public: FrameRecorder(); void addFrame(const FrameBuffer *frame_buffer, float dt); }; #endif // RECORDER_H