| 1529 | } |
| 1530 | |
| 1531 | void ImGuiIO::AddMouseButtonEvent(int mouse_button, bool down) |
| 1532 | { |
| 1533 | IM_ASSERT(Ctx != NULL); |
| 1534 | ImGuiContext& g = *Ctx; |
| 1535 | IM_ASSERT(mouse_button >= 0 && mouse_button < ImGuiMouseButton_COUNT); |
| 1536 | if (!AppAcceptingEvents) |
| 1537 | return; |
| 1538 | |
| 1539 | // Filter duplicate |
| 1540 | const ImGuiInputEvent* latest_event = FindLatestInputEvent(&g, ImGuiInputEventType_MouseButton, (int)mouse_button); |
| 1541 | const bool latest_button_down = latest_event ? latest_event->MouseButton.Down : g.IO.MouseDown[mouse_button]; |
| 1542 | if (latest_button_down == down) |
| 1543 | return; |
| 1544 | |
| 1545 | ImGuiInputEvent e; |
| 1546 | e.Type = ImGuiInputEventType_MouseButton; |
| 1547 | e.Source = ImGuiInputSource_Mouse; |
| 1548 | e.EventId = g.InputEventsNextEventId++; |
| 1549 | e.MouseButton.Button = mouse_button; |
| 1550 | e.MouseButton.Down = down; |
| 1551 | e.MouseButton.MouseSource = g.InputEventsNextMouseSource; |
| 1552 | g.InputEventsQueue.push_back(e); |
| 1553 | } |
| 1554 | |
| 1555 | // Queue a mouse wheel event (some mouse/API may only have a Y component) |
| 1556 | void ImGuiIO::AddMouseWheelEvent(float wheel_x, float wheel_y) |
no test coverage detected