MCPcopy Create free account
hub / github.com/TheForceEngine/TheForceEngine / AddMousePosEvent

Method AddMousePosEvent

TheForceEngine/TFE_Ui/imGUI/imgui.cpp:1631–1655  ·  view source on GitHub ↗

Queue a mouse move event

Source from the content-addressed store, hash-verified

1629
1630// Queue a mouse move event
1631void ImGuiIO::AddMousePosEvent(float x, float y)
1632{
1633 IM_ASSERT(Ctx != NULL);
1634 ImGuiContext& g = *Ctx;
1635 if (!AppAcceptingEvents)
1636 return;
1637
1638 // Apply same flooring as UpdateMouseInputs()
1639 ImVec2 pos((x > -FLT_MAX) ? ImFloor(x) : x, (y > -FLT_MAX) ? ImFloor(y) : y);
1640
1641 // Filter duplicate
1642 const ImGuiInputEvent* latest_event = FindLatestInputEvent(&g, ImGuiInputEventType_MousePos);
1643 const ImVec2 latest_pos = latest_event ? ImVec2(latest_event->MousePos.PosX, latest_event->MousePos.PosY) : g.IO.MousePos;
1644 if (latest_pos.x == pos.x && latest_pos.y == pos.y)
1645 return;
1646
1647 ImGuiInputEvent e;
1648 e.Type = ImGuiInputEventType_MousePos;
1649 e.Source = ImGuiInputSource_Mouse;
1650 e.EventId = g.InputEventsNextEventId++;
1651 e.MousePos.PosX = pos.x;
1652 e.MousePos.PosY = pos.y;
1653 e.MousePos.MouseSource = g.InputEventsNextMouseSource;
1654 g.InputEventsQueue.push_back(e);
1655}
1656
1657void ImGuiIO::AddMouseButtonEvent(int mouse_button, bool down)
1658{

Callers 3

ImGui_ImplSDL2_NewFrameFunction · 0.80

Calls 4

ImFloorFunction · 0.85
FindLatestInputEventFunction · 0.85
ImVec2Function · 0.85
push_backMethod · 0.80

Tested by

no test coverage detected