Child Windows
Use child windows to begin into a selfcontained independent scrolling/clipping regions within a host window. Child windows can embed their own child.
Before 1.90 (November 2023), the "ImGuiChildFlags child_flags = 0" parameter was "bool border = false".
This API is backward compatible with old code, as we guarantee that ImGuiChildFlags_Borders == true.
Consider updating your old code:
BeginChild("Name", size, false) > Begin("Name", size, 0); or Begin("Name", size, ImGuiChildFlags_None);
BeginChild("Name", size, true) > Begin("Name", size, ImGuiChildFlags_Borders);
Manual sizing (each axis can use a different setting e.g. ImVec2(0.0f, 400.0f)):
== 0.0f: use remaining parent window size for this axis.
> 0.0f: use specified size for this axis.
<
0.0f: right/bottomalign to specified distance from available content boundaries.
Specifying ImGuiChildFlags_AutoResizeX or ImGuiChildFlags_AutoResizeY makes the sizing automatic based on child contents.
Combining both ImGuiChildFlags_AutoResizeX _and_ ImGuiChildFlags_AutoResizeY defeats purpose of a scrolling region and is NOT recommended.
BeginChild() returns false to indicate the window is collapsed or fully clipped, so you may early out and omit submitting
anything to the window. Always call a matching EndChild() for each BeginChild() call, regardless of its return value.
[Important: due to legacy reason, Begin/End and BeginChild/EndChild are inconsistent with all other functions
such as BeginMenu/EndMenu, BeginPopup/EndPopup, etc. where the EndXXX call should only be called if the corresponding
BeginXXX function returned true. Begin and BeginChild are the only odd ones out. Will be fixed in a future update.]
Child Windows Use child windows to begin into a selfcontained independent scrolling/clipping regions within a host window. Child windows can embed their own child. Before 1.90 (November 2023), the "ImGuiChildFlags child_flags = 0" parameter was "bool border = false". This API is backward compatible with old code, as we guarantee that ImGuiChildFlags_Borders == true. Consider updating your old code: BeginChild("Name", size, false) > Begin("Name", size, 0); or Begin("Name", size, ImGuiChildFlags_None); BeginChild("Name", size, true) > Begin("Name", size, ImGuiChildFlags_Borders); Manual sizing (each axis can use a different setting e.g. ImVec2(0.0f, 400.0f)): == 0.0f: use remaining parent window size for this axis. > 0.0f: use specified size for this axis.
< 0.0f: right/bottomalign to specified distance from available content boundaries. Specifying ImGuiChildFlags_AutoResizeX or ImGuiChildFlags_AutoResizeY makes the sizing automatic based on child contents. Combining both ImGuiChildFlags_AutoResizeX _and_ ImGuiChildFlags_AutoResizeY defeats purpose of a scrolling region and is NOT recommended. BeginChild() returns false to indicate the window is collapsed or fully clipped, so you may early out and omit submitting anything to the window. Always call a matching EndChild() for each BeginChild() call, regardless of its return value. [Important: due to legacy reason, Begin/End and BeginChild/EndChild are inconsistent with all other functions such as BeginMenu/EndMenu, BeginPopup/EndPopup, etc. where the EndXXX call should only be called if the corresponding BeginXXX function returned true. Begin and BeginChild are the only odd ones out. Will be fixed in a future update.]