MCPcopy Create free account
hub / github.com/MITK/MITK / ProcessEvents

Method ProcessEvents

Modules/Core/src/Rendering/mitkVtkEventProvider.cpp:149–218  ·  view source on GitHub ↗

----------------------------------------------------------------------------

Source from the content-addressed store, hash-verified

147
148//----------------------------------------------------------------------------
149void mitk::vtkEventProvider::ProcessEvents(vtkObject *object,
150 unsigned long event,
151 void *clientData,
152 void *vtkNotUsed(callData))
153{
154 auto *self = reinterpret_cast<vtkEventProvider *>(clientData);
155 vtkRenderWindowInteractor *rwi = static_cast<vtkInteractorStyle *>(object)->GetInteractor();
156
157 // base renderer
158 mitk::BaseRenderer *baseRenderer = mitk::BaseRenderer::GetInstance(self->GetRenderWindow()->GetVtkRenderWindow());
159 switch (event)
160 {
161 // key press
162 case vtkCommand::KeyPressEvent:
163 {
164 VTKEVENTPROVIDER_DEBUG << "key press event";
165 InteractionEvent::Pointer adaptedEvent =
166 VtkEventAdapter::AdaptInteractionKeyEvent(baseRenderer, event, rwi).GetPointer();
167 self->GetRenderWindow()->HandleEvent(adaptedEvent.GetPointer());
168 break;
169 }
170
171 // mouse events
172 case vtkCommand::MouseMoveEvent:
173 {
174 VTKEVENTPROVIDER_DEBUG << "mouse move event";
175 InteractionEvent::Pointer adaptedEvent =
176 VtkEventAdapter::AdaptMouseMoveEvent(baseRenderer, event, rwi).GetPointer();
177 self->GetRenderWindow()->HandleEvent(adaptedEvent.GetPointer());
178 break;
179 }
180
181 case vtkCommand::LeftButtonPressEvent:
182 case vtkCommand::MiddleButtonPressEvent:
183 case vtkCommand::RightButtonPressEvent:
184 {
185 VTKEVENTPROVIDER_DEBUG << "mouse press event";
186 InteractionEvent::Pointer adaptedEvent =
187 VtkEventAdapter::AdaptMousePressEvent(baseRenderer, event, rwi).GetPointer();
188 self->GetRenderWindow()->HandleEvent(adaptedEvent.GetPointer());
189 break;
190 }
191
192 case vtkCommand::LeftButtonReleaseEvent:
193 case vtkCommand::MiddleButtonReleaseEvent:
194 case vtkCommand::RightButtonReleaseEvent:
195 {
196 VTKEVENTPROVIDER_DEBUG << "mouse release event";
197 InteractionEvent::Pointer adaptedEvent =
198 VtkEventAdapter::AdaptMouseReleaseEvent(baseRenderer, event, rwi).GetPointer();
199 self->GetRenderWindow()->HandleEvent(adaptedEvent.GetPointer());
200 break;
201 }
202
203 // mouse WHEEL
204 case vtkCommand::MouseWheelForwardEvent:
205 case vtkCommand::MouseWheelBackwardEvent:
206 {

Callers

nothing calls this directly

Calls 5

GetRenderWindowMethod · 0.95
GetInteractorMethod · 0.80
GetPointerMethod · 0.80
GetVtkRenderWindowMethod · 0.45
HandleEventMethod · 0.45

Tested by

no test coverage detected