mirror of
				https://github.com/ocornut/imgui.git
				synced 2025-11-03 17:24:24 +00:00 
			
		
		
		
	Metrics: Expose basic details of each window key/value state storage.
This commit is contained in:
		@@ -72,6 +72,7 @@ Other Changes:
 | 
				
			|||||||
- Docs: Improved and moved FAQ to docs/FAQ.md so it can be readable on the web. [@ButternCream, @ocornut]
 | 
					- Docs: Improved and moved FAQ to docs/FAQ.md so it can be readable on the web. [@ButternCream, @ocornut]
 | 
				
			||||||
- Docs: Added permanent redirect from https://www.dearimgui.org/faq to FAQ page.
 | 
					- Docs: Added permanent redirect from https://www.dearimgui.org/faq to FAQ page.
 | 
				
			||||||
- Demo: Added simple item reordering demo in Widgets -> Drag and Drop section. (#2823, #143) [@rokups]
 | 
					- Demo: Added simple item reordering demo in Widgets -> Drag and Drop section. (#2823, #143) [@rokups]
 | 
				
			||||||
 | 
					- Metrics: Expose basic details of each window key/value state storage.
 | 
				
			||||||
- Examples: DX12: Using IDXGIDebug1::ReportLiveObjects() when DX12_ENABLE_DEBUG_LAYER is enabled.
 | 
					- Examples: DX12: Using IDXGIDebug1::ReportLiveObjects() when DX12_ENABLE_DEBUG_LAYER is enabled.
 | 
				
			||||||
- Examples: Emscripten: Removed NO_FILESYSTEM from Makefile, seems to fail on some setup. (#2734) [@Funto]
 | 
					- Examples: Emscripten: Removed NO_FILESYSTEM from Makefile, seems to fail on some setup. (#2734) [@Funto]
 | 
				
			||||||
- Backends: OpenGL3: Fix building with pre-3.2 GL loaders which do not expose glDrawElementsBaseVertex(),
 | 
					- Backends: OpenGL3: Fix building with pre-3.2 GL loaders which do not expose glDrawElementsBaseVertex(),
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										14
									
								
								imgui.cpp
									
									
									
									
									
								
							
							
						
						
									
										14
									
								
								imgui.cpp
									
									
									
									
									
								
							@@ -9762,7 +9762,7 @@ void ImGui::ShowMetricsWindow(bool* p_open)
 | 
				
			|||||||
                    NodeColumns(&window->ColumnsStorage[n]);
 | 
					                    NodeColumns(&window->ColumnsStorage[n]);
 | 
				
			||||||
                ImGui::TreePop();
 | 
					                ImGui::TreePop();
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            ImGui::BulletText("Storage: %d bytes", window->StateStorage.Data.size_in_bytes());
 | 
					            NodeStorage(&window->StateStorage, "Storage");
 | 
				
			||||||
            ImGui::TreePop();
 | 
					            ImGui::TreePop();
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -9787,6 +9787,18 @@ void ImGui::ShowMetricsWindow(bool* p_open)
 | 
				
			|||||||
                ImGui::TreePop();
 | 
					                ImGui::TreePop();
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        static void NodeStorage(ImGuiStorage* storage, const char* label)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            if (!ImGui::TreeNode(label, "%s: %d entries, %d bytes", label, storage->Data.Size, storage->Data.size_in_bytes()))
 | 
				
			||||||
 | 
					                return;
 | 
				
			||||||
 | 
					            for (int n = 0; n < storage->Data.Size; n++)
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                const ImGuiStorage::ImGuiStoragePair& p = storage->Data[n];
 | 
				
			||||||
 | 
					                ImGui::BulletText("Key 0x%08X Value { i: %d }", p.key, p.val_i); // Important: we currently don't store a type, real value may not be integer.
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            ImGui::TreePop();
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    Funcs::NodeWindows(g.Windows, "Windows");
 | 
					    Funcs::NodeWindows(g.Windows, "Windows");
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user