| 677 | } |
| 678 | |
| 679 | void RenderWindowBridge::SetMxNCamera(const std::string& windowId, const CameraPatch& patch) const |
| 680 | { |
| 681 | MxNCameraSetter setter; |
| 682 | StorageThreadDispatcherBase::Pointer dispatcher; |
| 683 | { |
| 684 | std::lock_guard<std::mutex> lock(m_Mutex); |
| 685 | setter = m_MxNCameraSetter; |
| 686 | dispatcher = m_Dispatcher.Lock(); |
| 687 | } |
| 688 | |
| 689 | if (!setter) |
| 690 | throw std::runtime_error("No MxN camera setter is connected to the RenderWindowBridge"); |
| 691 | |
| 692 | Dispatch(dispatcher, [&]() { setter(windowId, patch); }); |
| 693 | } |
| 694 | |
| 695 | SliceState RenderWindowBridge::GetMxNSelectedSlice(const std::string& windowId) const |
| 696 | { |