#pragma once #include #include #include #include #include "windowcapturecallback.h" namespace VCtrl { //////////////////////////////////////////////////////////////////////////////// class VideoSystem final : public dtEntity::EntitySystem { using BaseClass = dtEntity::EntitySystem; public: static const dtEntity::ComponentType TYPE; using dtEntity::EntitySystem::EntitySystem; dtEntity::ComponentType GetComponentType() const override { return TYPE; } bool StartVideoRecording(unsigned int contextid, const std::string &path, int w, int h, int framerate, int quality); bool StopVideoRecording(unsigned int contextid); private: osg::ref_ptr mWindowCaptureCallback; }; }