瀏覽代碼

specify rayib to imgui mappings

Jeffery Myers 1 年之前
父節點
當前提交
16db43e57d
共有 1 個文件被更改,包括 13 次插入7 次删除
  1. 13 7
      rlImGui.cpp

+ 13 - 7
rlImGui.cpp

@@ -138,13 +138,19 @@ static void ImGuiNewFrame(float deltaTime)
         io.AddMousePosEvent((float)GetMouseX(), (float)GetMouseY());
     }
 
-    for (int i = 0; i < 5; i++)
-    {
-        if (IsMouseButtonPressed(i))
-            io.AddMouseButtonEvent(i, true);
-        else if (IsMouseButtonReleased(i))
-            io.AddMouseButtonEvent(i, false);
-    }
+    auto setMouseEvent = [&io](int rayMouse, int imGuiMouse)
+        {
+			if (IsMouseButtonPressed(rayMouse))
+				io.AddMouseButtonEvent(imGuiMouse, true);
+			else if (IsMouseButtonReleased(rayMouse))
+				io.AddMouseButtonEvent(imGuiMouse, false);
+        };
+
+    setMouseEvent(MOUSE_BUTTON_LEFT, ImGuiMouseButton_Left);
+    setMouseEvent(MOUSE_BUTTON_RIGHT, ImGuiMouseButton_Right);
+    setMouseEvent(MOUSE_BUTTON_MIDDLE, ImGuiMouseButton_Middle);
+    setMouseEvent(MOUSE_BUTTON_FORWARD, ImGuiMouseButton_Middle+1);
+    setMouseEvent(MOUSE_BUTTON_BACK, ImGuiMouseButton_Middle+2);
 
     {
         Vector2 mouseWheel = GetMouseWheelMoveV();