mirror of
				https://github.com/Drezil/imgui.git
				synced 2025-11-03 22:51:06 +01:00 
			
		
		
		
	Settings: omit outputing Collapsed=0 in .ini file. Changelog + docs tweaks
This commit is contained in:
		@@ -67,9 +67,6 @@ Breaking changes:
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
Other changes:
 | 
					Other changes:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- Nav: Tabbing always enable nav highlight when ImGuiConfigFlags_NavEnableKeyboard is set.
 | 
					 | 
				
			||||||
  Previously was inconsistent and only enabled when stepping through a non-input item.
 | 
					 | 
				
			||||||
  (#6802, #3092, #5759, #787)
 | 
					 | 
				
			||||||
- Windows:
 | 
					- Windows:
 | 
				
			||||||
  - BeginChild(): Internal name used by child windows now omits the hash/id if the child
 | 
					  - BeginChild(): Internal name used by child windows now omits the hash/id if the child
 | 
				
			||||||
    window is submitted in root of id stack of parent window. Makes debugging/metrics easier
 | 
					    window is submitted in root of id stack of parent window. Makes debugging/metrics easier
 | 
				
			||||||
@@ -80,9 +77,8 @@ Other changes:
 | 
				
			|||||||
  - Double-clicking bottom or right window border auto-resize on a singles axis.
 | 
					  - Double-clicking bottom or right window border auto-resize on a singles axis.
 | 
				
			||||||
- Separators:
 | 
					- Separators:
 | 
				
			||||||
  - Altered end-points to use more standard boundaries. (#205, #4787, #1643)
 | 
					  - Altered end-points to use more standard boundaries. (#205, #4787, #1643)
 | 
				
			||||||
    Left position is always current cursor X position.
 | 
					    Left position is always current cursor X position, right position is always work-rect
 | 
				
			||||||
    Right position is always work-rect rightmost edge.
 | 
					    rightmost edge. It effectively means that:
 | 
				
			||||||
  - Effectively means that:
 | 
					 | 
				
			||||||
    - A separator in the root of a window will end up a little more distant from edges
 | 
					    - A separator in the root of a window will end up a little more distant from edges
 | 
				
			||||||
      than previously (essentially following WindowPadding instead of clipping edges).
 | 
					      than previously (essentially following WindowPadding instead of clipping edges).
 | 
				
			||||||
    - A separator inside a table cell end up a little distance from edges instead of
 | 
					    - A separator inside a table cell end up a little distance from edges instead of
 | 
				
			||||||
@@ -100,8 +96,8 @@ Other changes:
 | 
				
			|||||||
  - Made is possible to combine ImGuiHoveredFlags_ForTooltip with a ImGuiHoveredFlags_DelayXXX
 | 
					  - Made is possible to combine ImGuiHoveredFlags_ForTooltip with a ImGuiHoveredFlags_DelayXXX
 | 
				
			||||||
    override. (#1485)
 | 
					    override. (#1485)
 | 
				
			||||||
- Drag and Drop:
 | 
					- Drag and Drop:
 | 
				
			||||||
  - Reworked drop target highlight: reduce rectangle to its visible portion, and
 | 
					  - Reworked drop target highlight: reduce rectangle to its visible portion, and then expand
 | 
				
			||||||
    then expand slightly. A full rectangle is always visible and it may protrude slightly. (#4281, #3272)
 | 
					    slightly. A full rectangle is always visible and it may protrude slightly. (#4281, #3272)
 | 
				
			||||||
  - Fixed submitting a tooltip from drop target location when using AcceptDragDropPayload()
 | 
					  - Fixed submitting a tooltip from drop target location when using AcceptDragDropPayload()
 | 
				
			||||||
    with ImGuiDragDropFlags_AcceptNoPreviewTooltip and submitting a tooltip manually.
 | 
					    with ImGuiDragDropFlags_AcceptNoPreviewTooltip and submitting a tooltip manually.
 | 
				
			||||||
- Tables:
 | 
					- Tables:
 | 
				
			||||||
@@ -126,19 +122,23 @@ Other changes:
 | 
				
			|||||||
  - MenuBar: Fixed an issue where layouting an item in the menu-bar would erroneously
 | 
					  - MenuBar: Fixed an issue where layouting an item in the menu-bar would erroneously
 | 
				
			||||||
    register contents size in a way that would affect the scrolling layer.
 | 
					    register contents size in a way that would affect the scrolling layer.
 | 
				
			||||||
    Was most often noticable when using an horizontal scrollbar. (#6789)
 | 
					    Was most often noticable when using an horizontal scrollbar. (#6789)
 | 
				
			||||||
 | 
					- InputText:
 | 
				
			||||||
 | 
					  - InputTextMultiline: Fixed a crash pressing Down on last empty line of a multiline buffer.
 | 
				
			||||||
 | 
					    (regression from 1.89.2, only happened in some states). (#6783, #6000)
 | 
				
			||||||
 | 
					  - InputTextMultiline: Fixed Tabbing cycle leading to a situation where Enter key wouldn't
 | 
				
			||||||
 | 
					    be accepted by the widget when navigation highlight is visible. (#6802, #3092, #5759, #787)
 | 
				
			||||||
 | 
					- Nav: Tabbing always enable nav highlight when ImGuiConfigFlags_NavEnableKeyboard is set.
 | 
				
			||||||
 | 
					  Previously was inconsistent and only enabled when stepping through a non-input item.
 | 
				
			||||||
 | 
					  (#6802, #3092, #5759, #787)
 | 
				
			||||||
- TreeNode: Added ImGuiTreeNodeFlags_SpanAllColumns for use in tables. (#3151, #3565, #2451, #2438)
 | 
					- TreeNode: Added ImGuiTreeNodeFlags_SpanAllColumns for use in tables. (#3151, #3565, #2451, #2438)
 | 
				
			||||||
- TabBar: Fixed position of unsaved document marker (ImGuiTabItemFlags_UnsavedDocument) which was
 | 
					- TabBar: Fixed position of unsaved document marker (ImGuiTabItemFlags_UnsavedDocument) which was
 | 
				
			||||||
  accidentally offset in 1.89.9. (#6862) [@alektron]
 | 
					  accidentally offset in 1.89.9. (#6862) [@alektron]
 | 
				
			||||||
- InputTextMultiline: Fixed a crash pressing Down on last empty line of a multiline buffer.
 | 
					 | 
				
			||||||
  (regression from 1.89.2, only happened in some states). (#6783, #6000)
 | 
					 | 
				
			||||||
- InputTextMultiline: Fixed Tabbing cycle leading to a situation where Enter key wouldn't
 | 
					 | 
				
			||||||
  be accepted by the widget when navigation highlight is visible. (#6802, #3092, #5759, #787)
 | 
					 | 
				
			||||||
- BeginGroup(): Fixed a bug pushing line lower extent too far down when called after a call
 | 
					- BeginGroup(): Fixed a bug pushing line lower extent too far down when called after a call
 | 
				
			||||||
  to SameLine() followed by manual cursor manipulation.
 | 
					  to SameLine() followed by manual cursor manipulation.
 | 
				
			||||||
- BeginCombo(): Added ImGuiComboFlags_WidthFitPreview flag. (#6881) [@mpv-enjoyer]
 | 
					- BeginCombo(): Added ImGuiComboFlags_WidthFitPreview flag. (#6881) [@mpv-enjoyer]
 | 
				
			||||||
- BeginListBox(): Fixed not consuming SetNextWindowXXX data when returning false.
 | 
					- BeginListBox(): Fixed not consuming SetNextWindowXXX data when returning false.
 | 
				
			||||||
- Fonts:
 | 
					- Fonts:
 | 
				
			||||||
  - Arument 'float size_pixels' passed to AddFontXXX() functions is now rounded to lowest integer.
 | 
					  - Argument 'float size_pixels' passed to AddFontXXX() functions is now rounded to lowest integer.
 | 
				
			||||||
    This is because our layout/font system currently doesn't fully support non-integer sizes. Until
 | 
					    This is because our layout/font system currently doesn't fully support non-integer sizes. Until
 | 
				
			||||||
    it does, this has been a common pitfall leading to more or less subtle issues. (#3164, #3309, #6800)
 | 
					    it does, this has been a common pitfall leading to more or less subtle issues. (#3164, #3309, #6800)
 | 
				
			||||||
  - Better assert during load when passing truncated font data or wrong data size. (#6822)
 | 
					  - Better assert during load when passing truncated font data or wrong data size. (#6822)
 | 
				
			||||||
@@ -146,7 +146,7 @@ Other changes:
 | 
				
			|||||||
    prior to building again. (#6825)
 | 
					    prior to building again. (#6825)
 | 
				
			||||||
  - imgui_freetype: Fixed a warning and leak in IMGUI_ENABLE_FREETYPE_LUNASVG support. (#6842, #6591)
 | 
					  - imgui_freetype: Fixed a warning and leak in IMGUI_ENABLE_FREETYPE_LUNASVG support. (#6842, #6591)
 | 
				
			||||||
- Inputs: Added IsKeyChordPressed() helper function e.g. IsKeyChordPressed(ImGuiMod_Ctrl | ImGuiKey_S).
 | 
					- Inputs: Added IsKeyChordPressed() helper function e.g. IsKeyChordPressed(ImGuiMod_Ctrl | ImGuiKey_S).
 | 
				
			||||||
  (Note that ImGuiMod_Shortcut may be used as an alias for Cmd on OSX and Ctrl on other systems).
 | 
					  (note that ImGuiMod_Shortcut may be used as an alias for Cmd on OSX and Ctrl on other systems).
 | 
				
			||||||
- Misc: Most text functions also treat "%.*s" (along with "%s") specially to avoid formatting. (#3466, #6846)
 | 
					- Misc: Most text functions also treat "%.*s" (along with "%s") specially to avoid formatting. (#3466, #6846)
 | 
				
			||||||
- IO: Add extra keys to ImGuiKey enum: ImGuiKey_F13 to ImGuiKey_F24. (#6891, #4921)
 | 
					- IO: Add extra keys to ImGuiKey enum: ImGuiKey_F13 to ImGuiKey_F24. (#6891, #4921)
 | 
				
			||||||
- IO: Add extra keys to ImGuiKey enum: ImGuiKey_AppBack, ImGuiKey_AppForward. (#4921)
 | 
					- IO: Add extra keys to ImGuiKey enum: ImGuiKey_AppBack, ImGuiKey_AppForward. (#4921)
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -27,7 +27,7 @@ Dear ImGui is designed to **enable fast iterations** and to **empower programmer
 | 
				
			|||||||
Dear ImGui is particularly suited to integration in game engines (for tooling), real-time 3D applications, fullscreen applications, embedded applications, or any applications on console platforms where operating system features are non-standard.
 | 
					Dear ImGui is particularly suited to integration in game engines (for tooling), real-time 3D applications, fullscreen applications, embedded applications, or any applications on console platforms where operating system features are non-standard.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 - Minimize state synchronization.
 | 
					 - Minimize state synchronization.
 | 
				
			||||||
 - Minimize state storage on user side.
 | 
					 - Minimize UI-related state storage on user side.
 | 
				
			||||||
 - Minimize setup and maintenance.
 | 
					 - Minimize setup and maintenance.
 | 
				
			||||||
 - Easy to use to create dynamic UI which are the reflection of a dynamic data set.
 | 
					 - Easy to use to create dynamic UI which are the reflection of a dynamic data set.
 | 
				
			||||||
 - Easy to use to create code-driven and data-driven tools.
 | 
					 - Easy to use to create code-driven and data-driven tools.
 | 
				
			||||||
@@ -133,7 +133,7 @@ Officially maintained backends/bindings (in repository):
 | 
				
			|||||||
- Many bindings are auto-generated (by good old [cimgui](https://github.com/cimgui/cimgui) or newer/experimental [dear_bindings](https://github.com/dearimgui/dear_bindings)), you can use their metadata output to generate bindings for other languages.
 | 
					- Many bindings are auto-generated (by good old [cimgui](https://github.com/cimgui/cimgui) or newer/experimental [dear_bindings](https://github.com/dearimgui/dear_bindings)), you can use their metadata output to generate bindings for other languages.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[Useful Extensions/Widgets](https://github.com/ocornut/imgui/wiki/Useful-Extensions) wiki page:
 | 
					[Useful Extensions/Widgets](https://github.com/ocornut/imgui/wiki/Useful-Extensions) wiki page:
 | 
				
			||||||
- Automation/testing, Text editors, node editors, timeline editors, plotting, software renderers, remote network access, memory editors, gizmos, etc. One of the most notable and well supported extension is [ImPlot](https://github.com/epezent/implot).
 | 
					- Automation/testing, Text editors, node editors, timeline editors, plotting, software renderers, remote network access, memory editors, gizmos, etc. Notable and well supported extensions include [ImPlot](https://github.com/epezent/implot) and [Dear ImGui Test Engine](https://github.com/ocornut/imgui_test_engine).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Also see [Wiki](https://github.com/ocornut/imgui/wiki) for more links and ideas.
 | 
					Also see [Wiki](https://github.com/ocornut/imgui/wiki) for more links and ideas.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -160,7 +160,7 @@ See: [Upcoming Changes](https://github.com/ocornut/imgui/wiki/Upcoming-Changes).
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
See: [Dear ImGui Test Engine + Test Suite](https://github.com/ocornut/imgui_test_engine) for Automation & Testing.
 | 
					See: [Dear ImGui Test Engine + Test Suite](https://github.com/ocornut/imgui_test_engine) for Automation & Testing.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Getting started? For first-time users having issues compiling/linking/running or issues loading fonts, please use [GitHub Discussions](https://github.com/ocornut/imgui/discussions). For other questions, bug reports, requests, feedback, you may post on [GitHub Issues](https://github.com/ocornut/imgui/issues). Please read and fill the New Issue template carefully.
 | 
					Getting started? For first-time users having issues compiling/linking/running or issues loading fonts, please use [GitHub Discussions](https://github.com/ocornut/imgui/discussions). For ANY other questions, bug reports, requests, feedback, please post on [GitHub Issues](https://github.com/ocornut/imgui/issues). Please read and fill the New Issue template carefully.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Private support is available for paying business customers (E-mail: _contact @ dearimgui dot com_).
 | 
					Private support is available for paying business customers (E-mail: _contact @ dearimgui dot com_).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -177,10 +177,10 @@ How to help
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
**How can I help?**
 | 
					**How can I help?**
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- See [GitHub Forum/Issues](https://github.com/ocornut/imgui/issues) and [GitHub Discussions](https://github.com/ocornut/imgui/discussions).
 | 
					- See [GitHub Forum/Issues](https://github.com/ocornut/imgui/issues).
 | 
				
			||||||
- You may help with development and submit pull requests! Please understand that by submitting a PR you are also submitting a request for the maintainer to review your code and then take over its maintenance forever. PR should be crafted both in the interest of the end-users and also to ease the maintainer into understanding and accepting it.
 | 
					- You may help with development and submit pull requests! Please understand that by submitting a PR you are also submitting a request for the maintainer to review your code and then take over its maintenance forever. PR should be crafted both in the interest of the end-users and also to ease the maintainer into understanding and accepting it.
 | 
				
			||||||
- See [Help wanted](https://github.com/ocornut/imgui/wiki/Help-Wanted) on the [Wiki](https://github.com/ocornut/imgui/wiki/) for some more ideas.
 | 
					- See [Help wanted](https://github.com/ocornut/imgui/wiki/Help-Wanted) on the [Wiki](https://github.com/ocornut/imgui/wiki/) for some more ideas.
 | 
				
			||||||
- Have your company financially support this project with invoiced sponsoring/support contracts or by buying a license for [Dear ImGui Test Engine](https://github.com/ocornut/imgui_test_engine) (please reach out: omar AT dearimgui DOT com).
 | 
					- Be a [sponsor](https://github.com/ocornut/imgui/wiki/Sponsors)! Have your company financially support this project via invoiced sponsors/maintenance or by buying a license for [Dear ImGui Test Engine](https://github.com/ocornut/imgui_test_engine) (please reach out: omar AT dearimgui DOT com).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Sponsors
 | 
					Sponsors
 | 
				
			||||||
--------
 | 
					--------
 | 
				
			||||||
@@ -201,9 +201,9 @@ Credits
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
Developed by [Omar Cornut](https://www.miracleworld.net) and every direct or indirect [contributors](https://github.com/ocornut/imgui/graphs/contributors) to the GitHub. The early version of this library was developed with the support of [Media Molecule](https://www.mediamolecule.com) and first used internally on the game [Tearaway](https://tearaway.mediamolecule.com) (PS Vita).
 | 
					Developed by [Omar Cornut](https://www.miracleworld.net) and every direct or indirect [contributors](https://github.com/ocornut/imgui/graphs/contributors) to the GitHub. The early version of this library was developed with the support of [Media Molecule](https://www.mediamolecule.com) and first used internally on the game [Tearaway](https://tearaway.mediamolecule.com) (PS Vita).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Recurring contributors (2022): Omar Cornut [@ocornut](https://github.com/ocornut), Rokas Kupstys [@rokups](https://github.com/rokups) (a good portion of work on automation system and regression tests now available in [Dear ImGui Test Engine](https://github.com/ocornut/imgui_test_engine)).
 | 
					Recurring contributors include Rokas Kupstys [@rokups](https://github.com/rokups) (2020-2022): a good portion of work on automation system and regression tests now available in [Dear ImGui Test Engine](https://github.com/ocornut/imgui_test_engine).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Sponsoring, support contracts and other B2B transactions are hosted and handled by [Disco Hello](https://www.discohello.com).
 | 
					Sponsoring, maintenance/support contracts and other B2B transactions are hosted and handled by [Disco Hello](https://www.discohello.com).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Omar: "I first discovered the IMGUI paradigm at [Q-Games](https://www.q-games.com) where Atman Binstock had dropped his own simple implementation in the codebase, which I spent quite some time improving and thinking about. It turned out that Atman was exposed to the concept directly by working with Casey. When I moved to Media Molecule I rewrote a new library trying to overcome the flaws and limitations of the first one I've worked with. It became this library and since then I have spent an unreasonable amount of time iterating and improving it."
 | 
					Omar: "I first discovered the IMGUI paradigm at [Q-Games](https://www.q-games.com) where Atman Binstock had dropped his own simple implementation in the codebase, which I spent quite some time improving and thinking about. It turned out that Atman was exposed to the concept directly by working with Casey. When I moved to Media Molecule I rewrote a new library trying to overcome the flaws and limitations of the first one I've worked with. It became this library and since then I have spent an unreasonable amount of time iterating and improving it."
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -13351,7 +13351,8 @@ static void WindowSettingsHandler_WriteAll(ImGuiContext* ctx, ImGuiSettingsHandl
 | 
				
			|||||||
        buf->appendf("[%s][%s]\n", handler->TypeName, settings_name);
 | 
					        buf->appendf("[%s][%s]\n", handler->TypeName, settings_name);
 | 
				
			||||||
        buf->appendf("Pos=%d,%d\n", settings->Pos.x, settings->Pos.y);
 | 
					        buf->appendf("Pos=%d,%d\n", settings->Pos.x, settings->Pos.y);
 | 
				
			||||||
        buf->appendf("Size=%d,%d\n", settings->Size.x, settings->Size.y);
 | 
					        buf->appendf("Size=%d,%d\n", settings->Size.x, settings->Size.y);
 | 
				
			||||||
        buf->appendf("Collapsed=%d\n", settings->Collapsed);
 | 
					        if (settings->Collapsed)
 | 
				
			||||||
 | 
					            buf->appendf("Collapsed=1\n");
 | 
				
			||||||
        buf->append("\n");
 | 
					        buf->append("\n");
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user