MCPcopy Create free account
hub / github.com/RGAA-Software/GoDesk / OnMouseMoveEvent

Method OnMouseMoveEvent

src/client/front_render/ct_video_widget.cpp:45–74  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

43 }
44
45 void VideoWidget::OnMouseMoveEvent(QMouseEvent* event, int widget_width, int widget_height) {
46 auto curr_pos = event->pos();
47 MouseEventDesc mouse_event_desc;
48 mouse_event_desc.buttons = 0;
49 mouse_event_desc.buttons |= ButtonFlag::kMouseMove;
50 mouse_event_desc.x_ratio = ((float)curr_pos.x()) / ((float)(widget_width));
51 mouse_event_desc.y_ratio = ((float)curr_pos.y()) / ((float)(widget_height));
52
53 if (last_cursor_x_ != invalid_position && last_cursor_y_ != invalid_position) {
54 mouse_event_desc.dx = curr_pos.x() - last_cursor_x_;
55 mouse_event_desc.dy = curr_pos.y() - last_cursor_y_;
56 }
57 if (last_cursor_x_ == invalid_position) {
58 last_cursor_x_ = curr_pos.x();
59 }
60 if (last_cursor_y_ == invalid_position) {
61 last_cursor_y_ = curr_pos.y();
62 }
63 cat ts = TimeUtil::GetCurrentTimestamp();
64 cat diff = ts - last_cursor_ts_;
65 if (std::abs(mouse_event_desc.dx) < 2 && std::abs(mouse_event_desc.dy) < 2 || diff < 2) {
66 LOGI("Ignore the Mouse, dx: {}, dy: {}", mouse_event_desc.dx, mouse_event_desc.dy);
67 return;
68 }
69
70 last_cursor_ts_ = ts;
71 last_cursor_x_ = curr_pos.x();
72 last_cursor_y_ = curr_pos.y();
73 SendMouseEvent(mouse_event_desc);
74 }
75
76 void VideoWidget::OnMousePressEvent(QMouseEvent* event, int widget_width, int widget_height) {
77 auto curr_pos = event->pos();

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected