|
@@ -2646,22 +2646,17 @@ static void ShowDemoWindowMisc()
|
|
|
for (int button = 0; button < 3; button++)
|
|
|
ImGui::Text("IsMouseDragging(%d):\n w/ default threshold: %d,\n w/ zero threshold: %d\n w/ large threshold: %d",
|
|
|
button, ImGui::IsMouseDragging(button), ImGui::IsMouseDragging(button, 0.0f), ImGui::IsMouseDragging(button, 20.0f));
|
|
|
+
|
|
|
ImGui::Button("Drag Me");
|
|
|
if (ImGui::IsItemActive())
|
|
|
- {
|
|
|
- // Draw a line between the button and the mouse cursor
|
|
|
- ImDrawList* draw_list = ImGui::GetWindowDrawList();
|
|
|
- draw_list->PushClipRectFullScreen();
|
|
|
- draw_list->AddLine(io.MouseClickedPos[0], io.MousePos, ImGui::GetColorU32(ImGuiCol_Button), 4.0f);
|
|
|
- draw_list->PopClipRect();
|
|
|
-
|
|
|
- // Drag operations gets "unlocked" when the mouse has moved past a certain threshold (the default threshold is stored in io.MouseDragThreshold)
|
|
|
- // You can request a lower or higher threshold using the second parameter of IsMouseDragging() and GetMouseDragDelta()
|
|
|
- ImVec2 value_raw = ImGui::GetMouseDragDelta(0, 0.0f);
|
|
|
- ImVec2 value_with_lock_threshold = ImGui::GetMouseDragDelta(0);
|
|
|
- ImVec2 mouse_delta = io.MouseDelta;
|
|
|
- ImGui::SameLine(); ImGui::Text("Raw (%.1f, %.1f), WithLockThresold (%.1f, %.1f), MouseDelta (%.1f, %.1f)", value_raw.x, value_raw.y, value_with_lock_threshold.x, value_with_lock_threshold.y, mouse_delta.x, mouse_delta.y);
|
|
|
- }
|
|
|
+ ImGui::GetForegroundDrawList()->AddLine(io.MouseClickedPos[0], io.MousePos, ImGui::GetColorU32(ImGuiCol_Button), 4.0f); // Draw a line between the button and the mouse cursor
|
|
|
+
|
|
|
+ // Drag operations gets "unlocked" when the mouse has moved past a certain threshold (the default threshold is stored in io.MouseDragThreshold)
|
|
|
+ // You can request a lower or higher threshold using the second parameter of IsMouseDragging() and GetMouseDragDelta()
|
|
|
+ ImVec2 value_raw = ImGui::GetMouseDragDelta(0, 0.0f);
|
|
|
+ ImVec2 value_with_lock_threshold = ImGui::GetMouseDragDelta(0);
|
|
|
+ ImVec2 mouse_delta = io.MouseDelta;
|
|
|
+ ImGui::Text("GetMouseDragDelta(0):\n w/ default threshold: (%.1f, %.1f),\n w/ zero threshold: (%.1f, %.1f)\nMouseDelta: (%.1f, %.1f)", value_with_lock_threshold.x, value_with_lock_threshold.y, value_raw.x, value_raw.y, mouse_delta.x, mouse_delta.y);
|
|
|
ImGui::TreePop();
|
|
|
}
|
|
|
|