#include "stdafx.h" #include "uilayer.h" #include "translation.h" #include "extras/VS_Dev.h" namespace ui { class cameraview_panel : public ui_panel { public: enum state_e { IDLE, PREVIEW, RECORDING }; private: std::atomic_bool exit_thread = true; std::thread workthread; uint8_t* image_ptr = nullptr; int image_w, image_h; std::mutex mutex; std::condition_variable cv; std::optional texture; std::unique_ptr device; void workthread_func(); public: cameraview_panel(); ~cameraview_panel(); void render() override; void render_contents() override; bool set_state(state_e e); }; } // namespace ui