orb_camera_ui_impl.h 1011 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. #ifndef DEPTHGUIDE_ORB_CAMERA_UI_IMPL_H
  2. #define DEPTHGUIDE_ORB_CAMERA_UI_IMPL_H
  3. #include "device/orb_camera.h"
  4. #include "device/orb_camera_ui.h"
  5. #include <boost/asio/io_context.hpp>
  6. using boost::asio::io_context;
  7. struct orb_camera_ui::impl {
  8. io_context *ctx = nullptr;
  9. orb_camera::device_info_list_type dev_info_list;
  10. int dev_index = 0;
  11. struct video_conf_type {
  12. int index = 0;
  13. std::string dis_name;
  14. };
  15. std::vector<video_conf_type> c_conf_list;
  16. std::vector<video_conf_type> d_conf_list;
  17. int c_conf_index = 0; // index of c_conf_list
  18. int d_conf_index = 0;
  19. orb_camera::create_config cam_c_conf;
  20. orb_camera::start_config cam_s_conf;
  21. std::unique_ptr<orb_camera> cam;
  22. bool enable_pc = true;
  23. explicit impl(create_config conf);
  24. void refresh_dev_info_list();
  25. void refresh_d_conf_list();
  26. void open_camera();
  27. void start_camera();
  28. void show_config();
  29. void show();
  30. };
  31. #endif //DEPTHGUIDE_ORB_CAMERA_UI_IMPL_H