| 1519 | } |
| 1520 | |
| 1521 | void ImGuiIO::AddMouseViewportEvent(ImGuiID viewport_id) |
| 1522 | { |
| 1523 | ImGuiContext& g = *GImGui; |
| 1524 | IM_ASSERT(&g.IO == this && "Can only add events to current context."); |
| 1525 | IM_ASSERT(g.IO.BackendFlags & ImGuiBackendFlags_HasMouseHoveredViewport); |
| 1526 | if (!AppAcceptingEvents) |
| 1527 | return; |
| 1528 | |
| 1529 | // Filter duplicate |
| 1530 | const ImGuiInputEvent* latest_event = FindLatestInputEvent(ImGuiInputEventType_MouseViewport); |
| 1531 | const ImGuiID latest_viewport_id = latest_event ? latest_event->MouseViewport.HoveredViewportID : g.IO.MouseHoveredViewport; |
| 1532 | if (latest_viewport_id == viewport_id) |
| 1533 | return; |
| 1534 | |
| 1535 | ImGuiInputEvent e; |
| 1536 | e.Type = ImGuiInputEventType_MouseViewport; |
| 1537 | e.Source = ImGuiInputSource_Mouse; |
| 1538 | e.MouseViewport.HoveredViewportID = viewport_id; |
| 1539 | g.InputEventsQueue.push_back(e); |
| 1540 | } |
| 1541 | |
| 1542 | void ImGuiIO::AddFocusEvent(bool focused) |
| 1543 | { |
no test coverage detected