MCPcopy Create free account
hub / github.com/BlitterStudio/amiberry / AddMousePosEvent

Method AddMousePosEvent

external/imgui/imgui.cpp:1913–1937  ·  view source on GitHub ↗

Queue a mouse move event

Source from the content-addressed store, hash-verified

1911
1912// Queue a mouse move event
1913void ImGuiIO::AddMousePosEvent(float x, float y)
1914{
1915 IM_ASSERT(Ctx != NULL);
1916 ImGuiContext& g = *Ctx;
1917 if (!AppAcceptingEvents)
1918 return;
1919
1920 // Apply same flooring as UpdateMouseInputs()
1921 ImVec2 pos((x > -FLT_MAX) ? ImFloor(x) : x, (y > -FLT_MAX) ? ImFloor(y) : y);
1922
1923 // Filter duplicate
1924 const ImGuiInputEvent* latest_event = FindLatestInputEvent(&g, ImGuiInputEventType_MousePos);
1925 const ImVec2 latest_pos = latest_event ? ImVec2(latest_event->MousePos.PosX, latest_event->MousePos.PosY) : g.IO.MousePos;
1926 if (latest_pos.x == pos.x && latest_pos.y == pos.y)
1927 return;
1928
1929 ImGuiInputEvent e;
1930 e.Type = ImGuiInputEventType_MousePos;
1931 e.Source = ImGuiInputSource_Mouse;
1932 e.EventId = g.InputEventsNextEventId++;
1933 e.MousePos.PosX = pos.x;
1934 e.MousePos.PosY = pos.y;
1935 e.MousePos.MouseSource = g.InputEventsNextMouseSource;
1936 g.InputEventsQueue.push_back(e);
1937}
1938
1939void ImGuiIO::AddMouseButtonEvent(int mouse_button, bool down)
1940{

Calls 4

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

Tested by

no test coverage detected