MCPcopy Create free account
hub / github.com/cinder/Cinder / AddMousePosEvent

Method AddMousePosEvent

src/imgui/imgui.cpp:1797–1821  ·  view source on GitHub ↗

Queue a mouse move event

Source from the content-addressed store, hash-verified

1795
1796// Queue a mouse move event
1797void ImGuiIO::AddMousePosEvent(float x, float y)
1798{
1799 IM_ASSERT(Ctx != NULL);
1800 ImGuiContext& g = *Ctx;
1801 if (!AppAcceptingEvents)
1802 return;
1803
1804 // Apply same flooring as UpdateMouseInputs()
1805 ImVec2 pos((x > -FLT_MAX) ? ImFloor(x) : x, (y > -FLT_MAX) ? ImFloor(y) : y);
1806
1807 // Filter duplicate
1808 const ImGuiInputEvent* latest_event = FindLatestInputEvent(&g, ImGuiInputEventType_MousePos);
1809 const ImVec2 latest_pos = latest_event ? ImVec2(latest_event->MousePos.PosX, latest_event->MousePos.PosY) : g.IO.MousePos;
1810 if (latest_pos.x == pos.x && latest_pos.y == pos.y)
1811 return;
1812
1813 ImGuiInputEvent e;
1814 e.Type = ImGuiInputEventType_MousePos;
1815 e.Source = ImGuiInputSource_Mouse;
1816 e.EventId = g.InputEventsNextEventId++;
1817 e.MousePos.PosX = pos.x;
1818 e.MousePos.PosY = pos.y;
1819 e.MousePos.MouseSource = g.InputEventsNextMouseSource;
1820 g.InputEventsQueue.push_back(e);
1821}
1822
1823void ImGuiIO::AddMouseButtonEvent(int mouse_button, bool down)
1824{

Callers 2

Calls 4

ImFloorFunction · 0.85
FindLatestInputEventFunction · 0.85
ImVec2Function · 0.85
push_backMethod · 0.45

Tested by

no test coverage detected