1
0
mirror of https://github.com/ocornut/imgui.git synced 2024-12-15 01:01:21 +01:00
Commit Graph

5801 Commits

Author SHA1 Message Date
ocornut
dcf54782d4 Version 1.91.WIP 2024-07-31 16:34:28 +02:00
ocornut
139e99ca37 Merge branch 'master' into docking
# Conflicts:
#	imgui.cpp
#	imgui_demo.cpp
2024-07-30 16:57:42 +02:00
ocornut
8199457a7d Version 1.91.0 2024-07-30 16:56:31 +02:00
ocornut
ec9a4ef487 Clipper: accept that no item have been submitted if in indeterminate Begin(INT_MAX) mode. (#1311, #3823) 2024-07-30 12:22:29 +02:00
ocornut
1b44e40444 Demo: re-use tree data. Fix property editor vertical alignment. Tweak recent memory allocation monitor. 2024-07-30 11:58:30 +02:00
ocornut
6df1a06fc3 Merge branch 'master' into docking 2024-07-29 23:18:54 +02:00
ocornut
c2a3d5e47b Comments, minor tweaks to ImGuiTextFilter. 2024-07-29 22:34:34 +02:00
ocornut
5c9825c16d Viewports: update fallback monitor to primary monitor if there's one.
Amend 4b9bc490.
+ metrics: display fallback monitor.
2024-07-29 12:28:42 +02:00
ocornut
d42fa46dc6 Misc micro-optimizations related to hot-path of dealing with a large clipped tree.
Halved times by two in MSVC Debug x64.
2024-07-26 15:28:08 +02:00
ocornut
692bee5f22 Added GetID(int) variant for consistency. (#7111) 2024-07-26 15:28:06 +02:00
ocornut
b3ba6b3095 Added io.ConfigNavSwapGamepadButtons to swap Activate/Cancel (A<>B) buttons, to match the typical "Nintendo/Japanese consoles" button layout when using Gamepad navigation. (#787, #5723) 2024-07-26 14:07:29 +02:00
ocornut
3552df562e Merge branch 'master' into docking
# Conflicts:
#	imgui.cpp
#	imgui.h
2024-07-25 16:41:56 +02:00
ocornut
b20f62b162 Obsoleted GetContentRegionMax(). 2024-07-25 16:20:44 +02:00
ocornut
4227402b2f Internals: removed GetContentRegionMaxAbs() which was only meaningfully used in place of GetContentRegionAvail(). 2024-07-25 16:10:18 +02:00
ocornut
055b2e80fb Moved everyone's best friend GetContentRegionAvail() to a more prominent position. 2024-07-25 16:09:46 +02:00
ocornut
aad86b8756 Obsoleted GetWindowContentRegionMin() and GetWindowContentRegionMax().
You should never need those functions. You can do everything with GetCursorScreenPos() and GetContentRegionAvail().
2024-07-25 15:53:55 +02:00
ocornut
55f54fa512 Internals: comment out obsolete g.ActiveIdUsingNavInputMask obsoleted two years ago. (#4921, #4858, #787, #1599, #323)
Use SetKeyOwner(ImGuiKey_Escape, g.ActiveId); instead. Amend 8b8a61bd
2024-07-25 15:11:08 +02:00
ocornut
e3da939b86 Groups, Tables: fixed EndGroup() failing to correctly capture current table occupied size. (#7543)
See "layout_group_endtable" test.
2024-07-24 18:41:51 +02:00
ocornut
b67b375ae6 Debug Log: fixed incorrect checkbox layout when partially clipped., doesn't parse 64-bits hex value as ImGuiID lookups. 2024-07-24 16:04:10 +02:00
ocornut
4d8c56c813 Internals, TreeNode: indent all render block into its own scope (aim is to add a is_visible test there later) 2024-07-24 14:03:59 +02:00
ocornut
3fab2bb7be Merge branch 'master' into docking
# Conflicts:
#	backends/imgui_impl_sdl3.cpp
#	imgui.cpp
2024-07-22 19:41:39 +02:00
ocornut
c3dca77a19 Demo: rework Property Editor. 2024-07-22 14:49:16 +02:00
Thomas Stehle
da36336321 TabBar, Style: added style option for the size of the Tab-Bar Overline (#7804)
Amend 21bda2e.
2024-07-22 10:58:16 +02:00
ocornut
02cc7d451c Merge branch 'master' into docking
# Conflicts:
#	imgui_demo.cpp
2024-07-19 18:49:25 +02:00
ocornut
f9cda1fa24 Inputs: added SetItemKeyOwner(ImGuiKey key) in public API. (#456, #2637, #2620, #2891, #3370, #3724, #4828, #5108, #5242, #5641) 2024-07-19 18:39:07 +02:00
ocornut
fd77815f9f Merge branch 'master' into docking
# Conflicts:
#	imgui.cpp
#	imgui_demo.cpp
2024-07-18 18:22:26 +02:00
ocornut
7814518049 MultiSelect: ImGuiSelectionBasicStorage: optimized for smaller insertion amounts in larger sets + fix caling batch select with same value. 2024-07-18 18:19:22 +02:00
ocornut
2697cfe354 MultiSelect: Box-Select: uses SetActiveIdUsingAllKeyboardKeys() to avoid nav interference, much like most drag operations. 2024-07-18 18:19:22 +02:00
ocornut
c07864f64a MultiSelect: ImGuiSelectionBasicStorage: move function bodies to cpp file.
+ make ImGuiStorage::BuildSortByKey() less affected by msvc debug mode.
2024-07-18 18:19:21 +02:00
ocornut
e7a734f78d MultiSelect: added ImGuiMultiSelectFlags_NoAutoSelect, ImGuiMultiSelectFlags_NoAutoClear features + added Checkbox Demo
Refer to "widgets_multiselect_checkboxes" in imgui_test_suite.
2024-07-18 18:19:19 +02:00
ocornut
f3d77d8e71 MultiSelect: Box-Select: Further refactor to extra mode code away from multi-select function into box-select funcitons. 2024-07-18 18:19:18 +02:00
ocornut
5d9de14493 MultiSelect: Box-Select: Refactor: Renames.
Split into two commits to facilite looking into previous one if needed.
2024-07-18 18:19:18 +02:00
ocornut
75bac1aac6 MultiSelect: Box-Select: Refactor into its own structure, designed for single-instance but closer to being reusable outside Multi-Select.
Kept same member names.
2024-07-18 18:19:18 +02:00
ocornut
15391762dd MultiSelect: Box-Select: Added ImGuiMultiSelectFlags_BoxSelect2d support. Enabled in Asset Browser. Selectable() supports it. 2024-07-18 18:19:18 +02:00
ocornut
1ac469b50f MultiSelect: Box-Select: Fixed holes when using with clipper (in 1D list.)
Clipper accounts for Selectable() layout oddity as BoxSelect is sensitive to it.
Also tweaked scroll triggering region inward.
Rename ImGuiMultiSelectFlags_NoBoxSelectScroll to ImGuiMultiSelectFlags_BoxSelectNoScroll.
Fixed use with ImGuiMultiSelectFlags_SinglaSelect.
2024-07-18 18:19:18 +02:00
ocornut
0af6fbb51d MultiSelect: added support for nested/stacked BeginMultiSelect().
Mimicking table logic, reusing amortized buffers.
2024-07-18 18:19:17 +02:00
ocornut
5941edd9f7 MultiSelect: added support for recovery in ErrorCheckEndWindowRecover(). 2024-07-18 18:19:17 +02:00
ocornut
a6adfb2b49 MultiSelect: added missing call on Shutdown(). Better reuse selection buffer. 2024-07-18 18:19:16 +02:00
ocornut
c3998b70cc MultiSelect: clarified purpose and use of IsItemToggledSelection(). Added assert. Moved to multi-selection section of imgui.h. 2024-07-18 18:19:16 +02:00
ocornut
af83a3eea4 MultiSelect: clear selection when leaving a scope with a nav directional request.
May need to clarify how to depends on actions being performed (e.g. click doesn't).
May become optional?
2024-07-18 18:19:15 +02:00
ocornut
9223ffc255 MultiSelect: (Breaking) BeginMultiSelect() doesn't need two last params maintained by users. Moving some storage from user to core. Proper deletion demo. 2024-07-18 18:19:14 +02:00
ocornut
11bcae1ebd MultiSelect: refactor before introducing persistant state pool and to facilitate adding recursion + debug log calls.
This is mostly the noisy/shallow stuff committed here, to get this out of the way.
2024-07-18 18:19:13 +02:00
omar
9c7183dd04 MultiSelect: Transition to use FocusScope bits merged in master.
Preserve ability to shift+arrow into an item that is part of FocusScope but doesn't carry a selection without breaking selection.
2024-07-18 18:19:12 +02:00
ocornut
8947c35fa1 MultiSelect: Removed SelectableSpacing as I'm not sure it is of use for now (history insert) 2024-07-18 18:19:11 +02:00
omar
554db6bc0f MultiSelect: WIP range-select (#1861) (rebased six millions times) 2024-07-18 18:19:11 +02:00
ocornut
0e485a2109 Merge branch 'master' into docking
# Conflicts:
#	backends/imgui_impl_sdl3.cpp
#	imgui.cpp
#	imgui_widgets.cpp
2024-07-18 17:56:27 +02:00
ocornut
8bab3eab6a Clipper: added SeekCursorForItem() function, for use when using ImGuiListClipper::Begin(INT_MAX). (#1311)
Tagging #3609 just in case we made a mistake introducing a regression (but tests are passing and have been extended).
2024-07-17 18:16:06 +02:00
ocornut
74a1854db9 Nav, Demo: comments. 2024-07-17 17:03:22 +02:00
ocornut
0e4dcfa552 Obsoleted PushTabStop()/PopTabStop() in favor of using new PushItemFlag()/PopItemFlag() with ImGuiItemFlags_NoTabStop. 2024-07-15 18:57:46 +02:00
ocornut
3de75138d1 (Breaking) Renamed ImGuiSelectableFlags_DontClosePopups to ImGuiSelectableFlags_NoAutoClosePopups. (#1379, #1468, #2200, #4936, #5216, #7302, #7573) 2024-07-15 18:46:34 +02:00
ocornut
0de88a928d Added ImGuiItemFlags_AutoClosePopups as a replacement for internal's ImGuiItemFlags_SelectableDontClosePopup. (#1379, #1468, #2200, #4936, #5216, #7302, #7573) 2024-07-15 18:46:34 +02:00
ocornut
b4ca869c40 (Breaking) Obsoleted PushButtonRepeat()/PopButtonRepeat() in favor of using new PushItemFlag()/PopItemFlag() with ImGuiItemFlags_ButtonRepeat. 2024-07-15 18:38:18 +02:00
ocornut
5ea96c15cd Merge branch 'master' into docking
# Conflicts:
#	backends/imgui_impl_glfw.cpp
#	backends/imgui_impl_win32.cpp
2024-07-15 11:21:18 +02:00
Cyao
126569ad5b
Fix definition check (#7793) 2024-07-14 12:26:59 +02:00
cfillion
1ec1f7a3de Fixed Unix version of PlatformOpenInShellFn_DefaultImpl. (#7772, #7660)
+ Enable on non-iPhone macOS builds
2024-07-07 21:49:12 +02:00
ocornut
2d0baaabe6 TreeNode: rename/rework ImGuiNavTreeNodeData system to be usable by more features. (#2920, #1131, #7553)
Reworked to it is easier during TreeNode code to request extra data to be stored.
2024-07-03 18:59:26 +02:00
ocornut
0a73c6ec3f Misc tweaks, comments. 2024-07-03 18:02:59 +02:00
ocornut
527b2c45af Merge branch 'master' into docking
# Conflicts:
#	backends/imgui_impl_glfw.cpp
#	backends/imgui_impl_sdl2.cpp
2024-07-02 19:05:36 +02:00
ocornut
0ebf49b4c1 IO: amend PlatformOpenInShellFn specs to return a bool. (#7660)
Amend 8f36798
2024-07-02 19:03:40 +02:00
ocornut
3f61da7e8b Merge branch 'master' into docking
# Conflicts:
#	backends/imgui_impl_osx.mm
#	backends/imgui_impl_sdl2.cpp
#	backends/imgui_impl_sdl3.cpp
#	backends/imgui_impl_sdl3.h
#	imgui.cpp
#	imgui.h
#	imgui_internal.h
2024-07-02 17:48:38 +02:00
ocornut
05a4f28059 Internals: added FontScale storage (amend 0f63d3e). 2024-07-02 17:45:12 +02:00
ocornut
5496050f5f Added TextLink(), TextLinkOpenURL() hyperlink widgets. (#7660) 2024-07-02 17:21:44 +02:00
ocornut
0f63d3e916 Internals: added FontScale storage. 2024-07-02 17:21:10 +02:00
ocornut
dadf9cd039 IO: disable default io.PlatformOpenInShellFn() implementation on iPhone, as compiler errors that system() is not available on iOS. 2024-07-02 16:23:46 +02:00
ocornut
43925b9fa4 Build fix for non Windows platforms. 2024-07-02 16:10:54 +02:00
ocornut
ddd4c9d6b9 Commented out obsolete ImGuiModFlags and ImGuiModFlags_XXX values (renamed to ImGuiKeyChord and ImGuiMod_XXX in 1.89). (#4921, #456) 2024-07-02 16:03:18 +02:00
ocornut
fb799bba7f (Breaking) IO, IME: renamed platform IME hook io.SetPlatformImeDataFn() -> io.PlatformSetImeDataFn() and added explicit context. 2024-07-02 15:48:32 +02:00
ocornut
8f36798035 IO: added io.PlatformOpenInShellFn handler to open a link/folder/file in OS shell, added IMGUI_DISABLE_DEFAULT_SHELL_FUNCTIONS. (#7660) 2024-07-02 15:36:08 +02:00
ocornut
7e0b3b9caf Debug Log: Added "Configure Outputs.." button. (#5855) 2024-07-02 12:10:33 +02:00
ocornut
a62794359a Debug Tools: Added IMGUI_DEBUG_LOG(), ImGui::DebugLog() in public API. (#5855) 2024-07-02 12:00:55 +02:00
ocornut
84cc72f372 Version 1.91.0 WIP 2024-07-01 19:02:42 +02:00
ocornut
3369cbd277 Merge branch 'master' into docking
# Conflicts:
#	backends/imgui_impl_sdl3.cpp
2024-07-01 17:10:12 +02:00
ocornut
cb16be3a3f Version 1.90.9 2024-07-01 17:03:21 +02:00
ocornut
c554c402d3 IO: do not claim io.WantCaptureMouse=true on the mouse release frame of a button which was pressed over void. (#1392) 2024-07-01 16:13:38 +02:00
ocornut
dd5c30d2d7 Disabled: Reworked 1.90.8 behavior of Begin() not inheriting current BeginDisabled() state. Only tooltip are clearing that state. (#211, #7640) 2024-07-01 14:32:11 +02:00
ocornut
3fec562da1 Merged GetBackgroundDrawList()/GetForegroundDrawList() and GetBackgroundDrawList(ImGuiViewport* viewport)/GetForegroundDrawList(ImGuiViewport* viewport) api entry points. 2024-06-28 16:16:51 +02:00
ocornut
138d9d0c21 Merge branch 'master' into docking
# Conflicts:
#	backends/imgui_impl_opengl2.cpp
#	backends/imgui_impl_opengl3.cpp
2024-06-28 16:03:49 +02:00
ocornut
0582f7678a Nav: store NavJustMovedToIsTabbing + shuffle a few nav related fields.
(for usage by multi-select)
2024-06-28 11:35:09 +02:00
ocornut
77d582fa37 Windows: BeginChild(): fixed a glitch when during a resize of a child window which is tightly close to the boundaries of its parent. (#7706) 2024-06-27 18:04:24 +02:00
ocornut
fbb903e158 Inputs: fixed using Shortcut() or SetNextItemShortcut() within a disabled block bypassing the disabled state. (#7726) 2024-06-27 16:37:33 +02:00
ocornut
a028c2df2a Windows, Menus: Fixed an issue where the size of sub-menu in their own viewport would be erroneously clamped to the size of main viewport. (#7730)
Amend #7287, #7063
2024-06-27 16:05:25 +02:00
ocornut
dbffb702f8 ImGuiStorage: tweak impl for BuildSortByKey(). 2024-06-26 18:57:14 +02:00
ocornut
10a5a857f5 Merge branch 'master' into docking
# Conflicts:
#	backends/imgui_impl_glfw.cpp
#	backends/imgui_impl_osx.mm
#	backends/imgui_impl_sdl2.cpp
#	backends/imgui_impl_sdl3.cpp
#	backends/imgui_impl_win32.cpp
#	imgui.h
2024-06-26 14:54:01 +02:00
ocornut
eb1cc4b8b4 Metrics/Debugger: Browsing a Storage perform hover lookup on identifier. 2024-06-26 12:17:22 +02:00
ocornut
7237d3e5c3 Merge branch 'master' into docking
# Conflicts:
#	imgui.cpp
#	imgui_demo.cpp
#	imgui_internal.h
2024-06-21 16:18:22 -07:00
cfillion
755bf2b8c2 (Breaking) Move ImGuiWindowFlags_NavFlattened to ImGuiChildFlags_NavFlattened. (#7687) 2024-06-21 16:00:57 -07:00
ocornut
2c8cc58fd1 Internals: storing HoveredWindowBeforeClear for use by multi-context compositor drag and drop propagation.
# Conflicts:
#	imgui.cpp
#	imgui_internal.h
2024-06-21 14:46:07 -07:00
ocornut
7f20a4b041 Nav: CTRL+Tab overlay display context name if any. 2024-06-21 10:17:55 -07:00
ocornut
e3971079cf IO: added ImGuiConfigFlags_NoKeyboard for consistency and convenience. (#4921)
# Conflicts:
#	imgui.h
#	imgui_demo.cpp
2024-06-21 10:17:44 -07:00
ocornut
8067d05f74 IO: added ClearInputMouse(). made ClearInputKeys() not clear mouse data. (#4921)
Amend 6aa408c6a
2024-06-21 10:16:54 -07:00
ocornut
66ed89b0ca Docking: mark window payload as not cross-context. 2024-06-20 17:48:54 -07:00
ocornut
e863f89d39 Merge branch 'master' into docking
# Conflicts:
#	imgui.cpp
2024-06-20 17:47:22 -07:00
ocornut
21581cf70c Fixed build warning. 2024-06-20 17:45:09 -07:00
ocornut
77d9f80754 Drag and Drop: Added ImGuiDragDropFlags_PayloadNoCrossContext and ImGuiDragDropFlags_PayloadNoCrossProcess flags. 2024-06-20 11:37:10 -07:00
ocornut
8c318dc770 Drag and Drop: (Breaking) renamed ImGuiDragDropFlags_SourceAutoExpirePayload to ImGuiDragDropFlags_PayloadAutoExpire. (#1725, #143) 2024-06-20 11:36:45 -07:00
ocornut
50709454b3 Drag and Drop: BeginDragDropSource() with ImGuiDragDropFlags_SourceExtern assume a mouse button being pressed. (#143) 2024-06-19 19:08:20 -07:00
ocornut
413c056359 Drag and Drop: comments, debug log entries. 2024-06-19 18:01:31 -07:00
ocornut
37c243bb35 Internals: added ImGuiContext::ContextName optionally used by debug log and to facilitate debugging. 2024-06-19 17:55:43 -07:00
ocornut
8c517fee35 Drag and Drop: Fixes an issue when elapsing payload would be based on last payload frame instead of last drag source frame. 2024-06-19 14:42:27 -07:00
ocornut
32a037c030 Drag and Drop: BeginDragDropSource() with ImGuiDragDropFlags_SourceExtern. (#143)
Amend 0c6e260f7
2024-06-19 13:37:10 -07:00