7 #include "imstkMouseControl.h" 8 #include "imstkMouseDeviceClient.h" 13 MouseControl::setDevice(std::shared_ptr<DeviceClient> device)
16 if (m_deviceClient !=
nullptr)
18 disconnect(m_deviceClient, shared_from_this(), &MouseDeviceClient::mouseButtonPress);
19 disconnect(m_deviceClient, shared_from_this(), &MouseDeviceClient::mouseButtonRelease);
20 disconnect(m_deviceClient, shared_from_this(), &MouseDeviceClient::mouseScroll);
21 disconnect(m_deviceClient, shared_from_this(), &MouseDeviceClient::mouseMove);
25 m_mouseDevice = std::dynamic_pointer_cast<MouseDeviceClient>(device);
26 DeviceControl::setDevice(device);
29 connect(device, &MouseDeviceClient::mouseButtonPress, shared_from_this(), &MouseControl::mouseButtonPressEvent);
30 connect(device, &MouseDeviceClient::mouseButtonRelease, shared_from_this(), &MouseControl::mouseButtonReleaseEvent);
31 connect(device, &MouseDeviceClient::mouseScroll, shared_from_this(), &MouseControl::mouseScrollEvent);
32 connect(device, &MouseDeviceClient::mouseMove, shared_from_this(), &MouseControl::mouseMoveEvent);
36 MouseControl::mouseButtonPressEvent(MouseEvent* e)
38 OnButtonPress(e->m_buttonId);
42 MouseControl::mouseButtonReleaseEvent(MouseEvent* e)
44 OnButtonRelease(e->m_buttonId);
48 MouseControl::mouseScrollEvent(MouseEvent* e)
50 OnScroll(e->m_scrollDx);
54 MouseControl::mouseMoveEvent(MouseEvent* imstkNotUsed(e))
56 OnMouseMove(m_mouseDevice->getPos());
friend void disconnect(std::shared_ptr< EventObject >, std::shared_ptr< EventObject >, std::string(*)())
Remove an observer from the sender.