MCPcopy Create free account
hub / github.com/VitalAudio/visage / handleMouseMove

Method handleMouseMove

visage_app/window_event_handler.cpp:251–284  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

249 }
250
251 void WindowEventHandler::handleMouseMove(int x, int y, int button_state, int modifiers) {
252 MouseEvent mouse_event = mouseEvent(x, y, button_state, modifiers);
253 if (window_->mouseRelativeMode() && mouse_event.relative_position == Point(0, 0))
254 return;
255
256 if (mouse_down_frame_) {
257 mouse_event.position = mouse_event.window_position - mouse_down_frame_->positionInWindow();
258 mouse_event.event_frame = mouse_down_frame_;
259 mouse_down_frame_->processMouseDrag(mouse_event);
260 return;
261 }
262
263 temporary_frame_ = content_frame_->frameAtPoint(mouse_event.window_position);
264 if (temporary_frame_ != mouse_hovered_frame_) {
265 if (mouse_hovered_frame_) {
266 mouse_event.position = mouse_event.window_position - mouse_hovered_frame_->positionInWindow();
267 mouse_event.event_frame = mouse_hovered_frame_;
268 mouse_hovered_frame_->processMouseExit(mouse_event);
269 }
270
271 if (temporary_frame_) {
272 mouse_event.position = mouse_event.window_position - temporary_frame_->positionInWindow();
273 mouse_event.event_frame = temporary_frame_;
274 temporary_frame_->processMouseEnter(mouse_event);
275 }
276 mouse_hovered_frame_ = temporary_frame_;
277 temporary_frame_ = nullptr;
278 }
279 else if (mouse_hovered_frame_) {
280 mouse_event.position = mouse_event.window_position - mouse_hovered_frame_->positionInWindow();
281 mouse_event.event_frame = mouse_hovered_frame_;
282 mouse_hovered_frame_->processMouseMove(mouse_event);
283 }
284 }
285
286 void WindowEventHandler::handleMouseDown(MouseButton button_id, int x, int y, int button_state,
287 int modifiers, int repeat) {

Callers

nothing calls this directly

Calls 7

positionInWindowMethod · 0.80
processMouseDragMethod · 0.80
frameAtPointMethod · 0.80
processMouseExitMethod · 0.80
processMouseEnterMethod · 0.80
processMouseMoveMethod · 0.80
mouseRelativeModeMethod · 0.45

Tested by

no test coverage detected