Pārlūkot izejas kodu

Examples: Tiding up. Moved Dragging example higher up.

ocornut 10 gadi atpakaļ
vecāks
revīzija
9ace617e7e
1 mainītis faili ar 22 papildinājumiem un 31 dzēšanām
  1. 22 31
      imgui.cpp

+ 22 - 31
imgui.cpp

@@ -10687,6 +10687,25 @@ void ImGui::ShowTestWindow(bool* opened)
             ImGui::TreePop();
         }
 
+        if (ImGui::TreeNode("Dragging"))
+        {
+            ImGui::TextWrapped("You can use ImGui::GetItemActiveDragDelta() to query for the dragged amount on any widget.");
+            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(ImGui::CalcItemRectClosestPoint(ImGui::GetIO().MousePos, true, -2.0f), ImGui::GetIO().MousePos, ImColor(ImGui::GetStyle().Colors[ImGuiCol_Button]), 4.0f);
+                draw_list->PopClipRect();
+                ImVec2 value_raw = ImGui::GetMouseDragDelta(0, 0.0f);
+                ImVec2 value_with_lock_threshold = ImGui::GetMouseDragDelta(0);
+                ImGui::SameLine(); ImGui::Text("Raw (%.1f, %.1f), WithLockThresold (%.1f, %.1f)", value_raw.x, value_raw.y, value_with_lock_threshold.x, value_with_lock_threshold.y);
+            }
+
+            ImGui::TreePop();
+        }
+
         static bool check = true;
         ImGui::Checkbox("checkbox", &check);
 
@@ -10760,29 +10779,23 @@ void ImGui::ShowTestWindow(bool* opened)
         }
 
         {
-            static int i1=50;
-            static int i2=42;
+            static int i1=50, i2=42;
             ImGui::DragInt("drag int", &i1, 1);
             ImGui::SameLine(); ShowHelpMarker("Click and drag to edit value.\nHold SHIFT/ALT for faster/slower edit.\nDouble-click or CTRL+click to input text.");
 
             ImGui::DragInt("drag int 0..100", &i2, 1, 0, 100, "%.0f%%");
 
-            static float f1=1.00f;
-            static float f2=0.0067f;
+            static float f1=1.00f, f2=0.0067f;
             ImGui::DragFloat("drag float", &f1, 1.0f);
             ImGui::DragFloat("drag small float", &f2, 0.0001f, 0.0f, 0.0f, "%.06f ns");
         }
 
         {
             static int i1=0;
-            //static int i2=42;
             ImGui::SliderInt("slider int", &i1, 0, 3);
             ImGui::SameLine(); ShowHelpMarker("CTRL+click to input value.");
 
-            //ImGui::SliderInt("slider int -100..100", &i2, -100, 100);
-
-            static float f1=0.123f;
-            static float f2=0.0f;
+            static float f1=0.123f, f2=0.0f;
             ImGui::SliderFloat("slider float", &f1, 0.0f, 1.0f, "ratio = %.3f");
             ImGui::SliderFloat("slider log float", &f2, -10.0f, 10.0f, "%.4f", 3.0f);
             static float angle = 0.0f;
@@ -10905,28 +10918,6 @@ void ImGui::ShowTestWindow(bool* opened)
             ImGui::Indent();
             ImGui::TreePop();
         }
-
-        if (ImGui::TreeNode("Dragging"))
-        {
-            // You can use ImGui::GetItemActiveDragDelta() to query for the dragged amount on any widget.
-            static ImVec2 value_raw(0.0f, 0.0f);
-            static ImVec2 value_with_lock_threshold(0.0f, 0.0f);
-            ImGui::Button("Drag Me");
-            if (ImGui::IsItemActive())
-            {
-                value_raw = ImGui::GetMouseDragDelta(0, 0.0f);
-                value_with_lock_threshold = ImGui::GetMouseDragDelta(0);
-                //ImGui::SetTooltip("Delta: %.1f, %.1f", value.x, value.y);
-
-                // Draw a line between the button and the mouse cursor
-                ImDrawList* draw_list = ImGui::GetWindowDrawList();
-                draw_list->PushClipRectFullScreen();
-                draw_list->AddLine(ImGui::CalcItemRectClosestPoint(ImGui::GetIO().MousePos, true, -2.0f), ImGui::GetIO().MousePos, ImColor(ImGui::GetStyle().Colors[ImGuiCol_Button]), 4.0f);
-                draw_list->PopClipRect();
-            }
-            ImGui::SameLine(); ImGui::Text("Raw (%.1f, %.1f), WithLockThresold (%.1f, %.1f)", value_raw.x, value_raw.y, value_with_lock_threshold.x, value_with_lock_threshold.y);
-            ImGui::TreePop();
-        }
     }
 
     if (ImGui::CollapsingHeader("Graphs widgets"))