mvs_camera_ui.h 857 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. #ifndef DEPTHGUIDE_MVS_CAMERA_UI_H
  2. #define DEPTHGUIDE_MVS_CAMERA_UI_H
  3. #include "mvs_camera.h"
  4. #include "core/object_manager.h"
  5. #include <boost/signals2.hpp>
  6. #include <memory>
  7. class mvs_camera_ui {
  8. public:
  9. struct create_config {
  10. using camera_list_type =
  11. mvs_camera_group::create_config::camera_list_type;
  12. camera_list_type cameras;
  13. boost::asio::io_context *ctx = nullptr;
  14. };
  15. explicit mvs_camera_ui(const create_config &conf);
  16. ~mvs_camera_ui();
  17. struct capture_info_type {
  18. int frame_rate = 0;
  19. bool is_mono = false;
  20. };
  21. using capture_info_sig_type =
  22. boost::signals2::signal<void(capture_info_type)>;
  23. capture_info_sig_type cap_info_sig;
  24. void show();
  25. private:
  26. struct impl;
  27. std::unique_ptr<impl> pimpl;
  28. };
  29. #endif //DEPTHGUIDE_MVS_CAMERA_UI_H