mirror of
				https://github.com/Drezil/imgui.git
				synced 2025-10-30 20:51:06 +01:00 
			
		
		
		
	Added ShowAboutWindow(), About Window now showing various config/build information.
This commit is contained in:
		
							
								
								
									
										129
									
								
								imgui_demo.cpp
									
									
									
									
									
								
							
							
						
						
									
										129
									
								
								imgui_demo.cpp
									
									
									
									
									
								
							| @@ -27,6 +27,7 @@ Index of this file: | ||||
|  | ||||
| // [SECTION] Forward Declarations, Helpers | ||||
| // [SECTION] Demo Window / ShowDemoWindow() | ||||
| // [SECTION] About Window / ShowAboutWindow() | ||||
| // [SECTION] Style Editor / ShowStyleEditor() | ||||
| // [SECTION] Example App: Main Menu Bar / ShowExampleAppMainMenuBar() | ||||
| // [SECTION] Example App: Debug Console / ShowExampleAppConsole() | ||||
| @@ -198,15 +199,7 @@ void ImGui::ShowDemoWindow(bool* p_open) | ||||
|  | ||||
|     if (show_app_metrics)             { ImGui::ShowMetricsWindow(&show_app_metrics); } | ||||
|     if (show_app_style_editor)        { ImGui::Begin("Style Editor", &show_app_style_editor); ImGui::ShowStyleEditor(); ImGui::End(); } | ||||
|     if (show_app_about) | ||||
|     { | ||||
|         ImGui::Begin("About Dear ImGui", &show_app_about, ImGuiWindowFlags_AlwaysAutoResize); | ||||
|         ImGui::Text("Dear ImGui, %s", ImGui::GetVersion()); | ||||
|         ImGui::Separator(); | ||||
|         ImGui::Text("By Omar Cornut and all dear imgui contributors."); | ||||
|         ImGui::Text("Dear ImGui is licensed under the MIT License, see LICENSE for more information."); | ||||
|         ImGui::End(); | ||||
|     } | ||||
|     if (show_app_about)               { ShowAboutWindow(&show_app_about); } | ||||
|  | ||||
|     // Demonstrate the various window flags. Typically you would just use the default! | ||||
|     static bool no_titlebar = false; | ||||
| @@ -2456,6 +2449,123 @@ static void ShowDemoWindowMisc() | ||||
|     } | ||||
| } | ||||
|  | ||||
| //----------------------------------------------------------------------------- | ||||
| // [SECTION] About Window / ShowAboutWindow() | ||||
| // Access from ImGui Demo -> Help -> About | ||||
| //----------------------------------------------------------------------------- | ||||
|  | ||||
| void ImGui::ShowAboutWindow(bool* p_open) | ||||
| { | ||||
|     ImGui::Begin("About Dear ImGui", p_open, ImGuiWindowFlags_AlwaysAutoResize); | ||||
|     ImGui::Text("Dear ImGui, %s", ImGui::GetVersion()); | ||||
|     ImGui::Separator(); | ||||
|     ImGui::Text("By Omar Cornut and all dear imgui contributors."); | ||||
|     ImGui::Text("Dear ImGui is licensed under the MIT License, see LICENSE for more information."); | ||||
|  | ||||
|     static bool show_config_info = false; | ||||
|     ImGui::Checkbox("Config/Build Information", &show_config_info); | ||||
|     if (show_config_info) | ||||
|     { | ||||
|         ImGuiIO& io = ImGui::GetIO(); | ||||
|         ImGuiStyle& style = ImGui::GetStyle(); | ||||
|  | ||||
|         bool copy_to_clipboard = ImGui::Button("Copy to clipboard"); | ||||
|         ImGui::BeginChildFrame(ImGui::GetID("cfginfos"), ImVec2(0, ImGui::GetTextLineHeightWithSpacing() * 18), ImGuiWindowFlags_NoMove); | ||||
|         if (copy_to_clipboard) | ||||
|             ImGui::LogToClipboard(); | ||||
|  | ||||
|         ImGui::Text("Dear ImGui %s (%d)", IMGUI_VERSION, IMGUI_VERSION_NUM); | ||||
|         ImGui::Separator(); | ||||
|         ImGui::Text("sizeof(size_t): %d, sizeof(ImDrawIdx): %d, sizeof(ImDrawVert): %d", (int)sizeof(size_t), (int)sizeof(ImDrawIdx), (int)sizeof(ImDrawVert)); | ||||
|         ImGui::Text("define: __cplusplus=%d", (int)__cplusplus); | ||||
| #ifdef IMGUI_DISABLE_OBSOLETE_FUNCTIONS | ||||
|         ImGui::Text("define: IMGUI_DISABLE_OBSOLETE_FUNCTIONS"); | ||||
| #endif | ||||
| #ifdef IMGUI_DISABLE_WIN32_DEFAULT_CLIPBOARD_FUNCTIONS | ||||
|         ImGui::Text("define: IMGUI_DISABLE_WIN32_DEFAULT_CLIPBOARD_FUNCTIONS"); | ||||
| #endif | ||||
| #ifdef IMGUI_DISABLE_WIN32_DEFAULT_IME_FUNCTIONS | ||||
|         ImGui::Text("define: IMGUI_DISABLE_WIN32_DEFAULT_IME_FUNCTIONS"); | ||||
| #endif | ||||
| #ifdef IMGUI_DISABLE_WIN32_FUNCTIONS | ||||
|         ImGui::Text("define: IMGUI_DISABLE_WIN32_FUNCTIONS"); | ||||
| #endif | ||||
| #ifdef IMGUI_DISABLE_FORMAT_STRING_FUNCTIONS | ||||
|         ImGui::Text("define: IMGUI_DISABLE_FORMAT_STRING_FUNCTIONS"); | ||||
| #endif | ||||
| #ifdef IMGUI_DISABLE_MATH_FUNCTIONS | ||||
|         ImGui::Text("define: IMGUI_DISABLE_MATH_FUNCTIONS"); | ||||
| #endif | ||||
| #ifdef IMGUI_DISABLE_DEFAULT_ALLOCATORS | ||||
|         ImGui::Text("define: IMGUI_DISABLE_DEFAULT_ALLOCATORS"); | ||||
| #endif | ||||
| #ifdef IMGUI_USE_BGRA_PACKED_COLOR | ||||
|         ImGui::Text("define: IMGUI_USE_BGRA_PACKED_COLOR"); | ||||
| #endif | ||||
| #ifdef _WIN32 | ||||
|         ImGui::Text("define: _WIN32"); | ||||
| #endif | ||||
| #ifdef _WIN64 | ||||
|         ImGui::Text("define: _WIN64"); | ||||
| #endif | ||||
| #ifdef __linux__ | ||||
|         ImGui::Text("define: __linux__"); | ||||
| #endif | ||||
| #ifdef __APPLE__ | ||||
|         ImGui::Text("define: __APPLE__"); | ||||
| #endif | ||||
| #ifdef _MSC_VER | ||||
|         ImGui::Text("define: _MSC_VER=%d", _MSC_VER); | ||||
| #endif | ||||
| #ifdef __MINGW32__ | ||||
|         ImGui::Text("define: __MINGW32__"); | ||||
| #endif | ||||
| #ifdef __MINGW64__ | ||||
|         ImGui::Text("define: __MINGW64__"); | ||||
| #endif | ||||
| #ifdef __GNUC__ | ||||
|         ImGui::Text("define: __GNUC__=%d", (int)__GNUC__); | ||||
| #endif | ||||
| #ifdef __clang_version__ | ||||
|         ImGui::Text("define: __clang_version__=%s", __clang_version__); | ||||
| #endif | ||||
|         ImGui::Separator(); | ||||
|         ImGui::Text("io.ConfigFlags: 0x%08X", io.ConfigFlags); | ||||
|         if (io.ConfigFlags & ImGuiConfigFlags_NavEnableKeyboard)    ImGui::Text(" NavEnableKeyboard"); | ||||
|         if (io.ConfigFlags & ImGuiConfigFlags_NavEnableGamepad)     ImGui::Text(" NavEnableGamepad"); | ||||
|         if (io.ConfigFlags & ImGuiConfigFlags_NavEnableSetMousePos) ImGui::Text(" NavEnableSetMousePos"); | ||||
|         if (io.ConfigFlags & ImGuiConfigFlags_NavNoCaptureKeyboard) ImGui::Text(" NavNoCaptureKeyboard"); | ||||
|         if (io.ConfigFlags & ImGuiConfigFlags_NoMouse)              ImGui::Text(" NoMouse"); | ||||
|         if (io.ConfigFlags & ImGuiConfigFlags_NoMouseCursorChange)  ImGui::Text(" NoMouseCursorChange"); | ||||
|         if (io.ConfigFlags & ImGuiConfigFlags_IsSRGB)               ImGui::Text(" IsSRGB"); | ||||
|         if (io.ConfigFlags & ImGuiConfigFlags_IsTouchScreen)        ImGui::Text(" IsTouchScreen"); | ||||
|         if (io.MouseDrawCursor)                                     ImGui::Text(" MouseDrawCursor"); | ||||
|         if (io.ConfigMacOSXBehaviors)                               ImGui::Text(" ConfigMacOSXBehaviors"); | ||||
|         if (io.ConfigInputTextCursorBlink)                          ImGui::Text(" ConfigInputTextCursorBlink"); | ||||
|         if (io.ConfigResizeWindowsFromEdges)                        ImGui::Text(" ConfigResizeWindowsFromEdges"); | ||||
|         ImGui::Text("io.BackendFlags: 0x%08X", io.BackendFlags); | ||||
|         if (io.BackendFlags & ImGuiBackendFlags_HasGamepad)         ImGui::Text(" HasGamepad"); | ||||
|         if (io.BackendFlags & ImGuiBackendFlags_HasMouseCursors)    ImGui::Text(" HasMouseCursors"); | ||||
|         if (io.BackendFlags & ImGuiBackendFlags_HasSetMousePos)     ImGui::Text(" HasSetMousePos"); | ||||
|         ImGui::Separator(); | ||||
|         ImGui::Text("io.Fonts: %d fonts, Flags: 0x%08X, TexSize: %d,%d", io.Fonts->Fonts.Size, io.Fonts->Flags, io.Fonts->TexWidth, io.Fonts->TexHeight); | ||||
|         ImGui::Text("io.DisplaySize: %.2f,%.2f", io.DisplaySize.x, io.DisplaySize.y); | ||||
|         ImGui::Separator(); | ||||
|         ImGui::Text("style.WindowPadding: %.2f,%.2f", style.WindowPadding.x, style.WindowPadding.y); | ||||
|         ImGui::Text("style.WindowBorderSize: %.2f", style.WindowBorderSize); | ||||
|         ImGui::Text("style.FramePadding: %.2f,%.2f", style.FramePadding.x, style.FramePadding.y); | ||||
|         ImGui::Text("style.FrameRounding: %.2f", style.FrameRounding); | ||||
|         ImGui::Text("style.FrameBorderSize: %.2f", style.FrameBorderSize); | ||||
|         ImGui::Text("style.ItemSpacing: %.2f,%.2f", style.ItemSpacing.x, style.ItemSpacing.y); | ||||
|         ImGui::Text("style.ItemInnerSpacing: %.2f,%.2f", style.ItemInnerSpacing.x, style.ItemInnerSpacing.y); | ||||
|  | ||||
|         if (copy_to_clipboard) | ||||
|             ImGui::LogFinish(); | ||||
|         ImGui::EndChildFrame(); | ||||
|     } | ||||
|     ImGui::End(); | ||||
| } | ||||
|  | ||||
| //----------------------------------------------------------------------------- | ||||
| // [SECTION] Style Editor / ShowStyleEditor() | ||||
| //----------------------------------------------------------------------------- | ||||
| @@ -3650,6 +3760,7 @@ static void ShowExampleAppCustomRendering(bool* p_open) | ||||
| // End of Demo code | ||||
| #else | ||||
|  | ||||
| void ImGui::ShowAboutWindow(bool*) {} | ||||
| void ImGui::ShowDemoWindow(bool*) {} | ||||
| void ImGui::ShowUserGuide() {} | ||||
| void ImGui::ShowStyleEditor(ImGuiStyle*) {} | ||||
|   | ||||
		Reference in New Issue
	
	Block a user