mirror of
				https://github.com/Drezil/imgui.git
				synced 2025-10-31 13:11:05 +01:00 
			
		
		
		
	Merge branch 'refs/heads/master' into docking
# Conflicts: # docs/CHANGELOG.txt # examples/imgui_impl_glfw.cpp # examples/imgui_impl_sdl.cpp # examples/imgui_impl_win32.cpp # imgui.cpp # imgui_internal.h # imgui_widgets.cpp
This commit is contained in:
		| @@ -1,4 +1,4 @@ | ||||
| // dear imgui, v1.74 | ||||
| // dear imgui, v1.75 WIP | ||||
| // (demo code) | ||||
|  | ||||
| // Message to the person tempted to delete this file when integrating Dear ImGui into their code base: | ||||
| @@ -116,10 +116,6 @@ Index of this file: | ||||
| // [SECTION] Forward Declarations, Helpers | ||||
| //----------------------------------------------------------------------------- | ||||
|  | ||||
| #if !defined(IMGUI_DISABLE_OBSOLETE_FUNCTIONS) && defined(IMGUI_DISABLE_TEST_WINDOWS) && !defined(IMGUI_DISABLE_DEMO_WINDOWS)   // Obsolete name since 1.53, TEST->DEMO | ||||
| #define IMGUI_DISABLE_DEMO_WINDOWS | ||||
| #endif | ||||
|  | ||||
| #if !defined(IMGUI_DISABLE_DEMO_WINDOWS) | ||||
|  | ||||
| // Forward Declarations | ||||
| @@ -2085,7 +2081,7 @@ static void ShowDemoWindowLayout() | ||||
|             if (ImGui::BeginTabBar("MyTabBar", tab_bar_flags)) | ||||
|             { | ||||
|                 for (int n = 0; n < IM_ARRAYSIZE(opened); n++) | ||||
|                     if (opened[n] && ImGui::BeginTabItem(names[n], &opened[n])) | ||||
|                     if (opened[n] && ImGui::BeginTabItem(names[n], &opened[n], ImGuiTabItemFlags_None)) | ||||
|                     { | ||||
|                         ImGui::Text("This is the %s tab!", names[n]); | ||||
|                         if (n & 1) | ||||
| @@ -2263,10 +2259,10 @@ static void ShowDemoWindowLayout() | ||||
|         ImGui::SameLine(140); enable_track |= ImGui::DragInt("##item", &track_item, 0.25f, 0, 99, "Item = %d"); | ||||
|  | ||||
|         bool scroll_to_off = ImGui::Button("Scroll Offset"); | ||||
|         ImGui::SameLine(140); scroll_to_off |= ImGui::DragFloat("##off", &scroll_to_off_px, 1.00f, 0, 9999, "+%.0f px"); | ||||
|         ImGui::SameLine(140); scroll_to_off |= ImGui::DragFloat("##off", &scroll_to_off_px, 1.00f, 0, FLT_MAX, "+%.0f px"); | ||||
|  | ||||
|         bool scroll_to_pos = ImGui::Button("Scroll To Pos"); | ||||
|         ImGui::SameLine(140); scroll_to_pos |= ImGui::DragFloat("##pos", &scroll_to_pos_px, 1.00f, -10, 9999, "X/Y = %.0f px"); | ||||
|         ImGui::SameLine(140); scroll_to_pos |= ImGui::DragFloat("##pos", &scroll_to_pos_px, 1.00f, -10, FLT_MAX, "X/Y = %.0f px"); | ||||
|         ImGui::PopItemWidth(); | ||||
|  | ||||
|         if (scroll_to_off || scroll_to_pos) | ||||
| @@ -2503,7 +2499,7 @@ static void ShowDemoWindowLayout() | ||||
|         ImVec2 pos = ImGui::GetCursorScreenPos(); | ||||
|         ImVec4 clip_rect(pos.x, pos.y, pos.x + size.x, pos.y + size.y); | ||||
|         ImGui::InvisibleButton("##dummy", size); | ||||
|         if (ImGui::IsItemActive() && ImGui::IsMouseDragging()) { offset.x += ImGui::GetIO().MouseDelta.x; offset.y += ImGui::GetIO().MouseDelta.y; } | ||||
|         if (ImGui::IsItemActive() && ImGui::IsMouseDragging(0)) { offset.x += ImGui::GetIO().MouseDelta.x; offset.y += ImGui::GetIO().MouseDelta.y; } | ||||
|         ImGui::GetWindowDrawList()->AddRectFilled(pos, ImVec2(pos.x + size.x, pos.y + size.y), IM_COL32(90, 90, 120, 255)); | ||||
|         ImGui::GetWindowDrawList()->AddText(ImGui::GetFont(), ImGui::GetFontSize()*2.0f, ImVec2(pos.x + offset.x, pos.y + offset.y), IM_COL32(255, 255, 255, 255), "Line 1 hello\nLine 2 clip me!", NULL, 0.0f, &clip_rect); | ||||
|         ImGui::TreePop(); | ||||
| @@ -3109,7 +3105,7 @@ static void ShowDemoWindowMisc() | ||||
|  | ||||
|         if (ImGui::TreeNode("Mouse cursors")) | ||||
|         { | ||||
|             const char* mouse_cursors_names[] = { "Arrow", "TextInput", "Move", "ResizeNS", "ResizeEW", "ResizeNESW", "ResizeNWSE", "Hand" }; | ||||
|             const char* mouse_cursors_names[] = { "Arrow", "TextInput", "ResizeAll", "ResizeNS", "ResizeEW", "ResizeNESW", "ResizeNWSE", "Hand", "NotAllowed" }; | ||||
|             IM_ASSERT(IM_ARRAYSIZE(mouse_cursors_names) == ImGuiMouseCursor_COUNT); | ||||
|  | ||||
|             ImGui::Text("Current mouse cursor = %d: %s", ImGui::GetMouseCursor(), mouse_cursors_names[ImGui::GetMouseCursor()]); | ||||
| @@ -4528,9 +4524,11 @@ static void ShowExampleAppCustomRendering(bool* p_open) | ||||
|         { | ||||
|             static float sz = 36.0f; | ||||
|             static float thickness = 3.0f; | ||||
|             static int ngon_sides = 6; | ||||
|             static ImVec4 colf = ImVec4(1.0f, 1.0f, 0.4f, 1.0f); | ||||
|             ImGui::DragFloat("Size", &sz, 0.2f, 2.0f, 72.0f, "%.0f"); | ||||
|             ImGui::DragFloat("Thickness", &thickness, 0.05f, 1.0f, 8.0f, "%.02f"); | ||||
|             ImGui::SliderInt("n-gon sides", &ngon_sides, 3, 12); | ||||
|             ImGui::ColorEdit4("Color", &colf.x); | ||||
|             const ImVec2 p = ImGui::GetCursorScreenPos(); | ||||
|             const ImU32 col = ImColor(colf); | ||||
| @@ -4543,7 +4541,7 @@ static void ShowExampleAppCustomRendering(bool* p_open) | ||||
|             { | ||||
|                 // First line uses a thickness of 1.0f, second line uses the configurable thickness | ||||
|                 float th = (n == 0) ? 1.0f : thickness; | ||||
|                 draw_list->AddCircle(ImVec2(x + sz*0.5f, y + sz*0.5f), sz*0.5f, col, 6, th);                x += sz + spacing;  // Hexagon | ||||
|                 draw_list->AddNgon(ImVec2(x + sz*0.5f, y + sz*0.5f), sz*0.5f, col, ngon_sides, th);         x += sz + spacing;  // n-gon | ||||
|                 draw_list->AddCircle(ImVec2(x + sz*0.5f, y + sz*0.5f), sz*0.5f, col, 20, th);               x += sz + spacing;  // Circle | ||||
|                 draw_list->AddRect(ImVec2(x, y), ImVec2(x + sz, y + sz), col, 0.0f,  corners_none, th);     x += sz + spacing;  // Square | ||||
|                 draw_list->AddRect(ImVec2(x, y), ImVec2(x + sz, y + sz), col, 10.0f, corners_all, th);      x += sz + spacing;  // Square with all rounded corners | ||||
| @@ -4557,7 +4555,7 @@ static void ShowExampleAppCustomRendering(bool* p_open) | ||||
|                 x = p.x + 4; | ||||
|                 y += sz + spacing; | ||||
|             } | ||||
|             draw_list->AddCircleFilled(ImVec2(x + sz*0.5f, y + sz*0.5f), sz*0.5f, col, 6);              x += sz + spacing;  // Hexagon | ||||
|             draw_list->AddNgonFilled(ImVec2(x + sz * 0.5f, y + sz * 0.5f), sz*0.5f, col, ngon_sides);   x += sz + spacing;  // n-gon | ||||
|             draw_list->AddCircleFilled(ImVec2(x + sz*0.5f, y + sz*0.5f), sz*0.5f, col, 32);             x += sz + spacing;  // Circle | ||||
|             draw_list->AddRectFilled(ImVec2(x, y), ImVec2(x + sz, y + sz), col);                        x += sz + spacing;  // Square | ||||
|             draw_list->AddRectFilled(ImVec2(x, y), ImVec2(x + sz, y + sz), col, 10.0f);                 x += sz + spacing;  // Square with all rounded corners | ||||
|   | ||||
		Reference in New Issue
	
	Block a user