ocornut
29cff2be06
Silence PVS Studio static analyzer false positives.
2024-09-28 16:54:45 +02:00
ocornut
ba14c70b02
Comments. Fixed warnings.
2024-09-27 19:28:54 +02:00
ocornut
199a44e31e
Error Handling: fixed not rewinding to recorded tree and id stack size ( #1651 )
2024-09-27 19:00:57 +02:00
ocornut
30c29d291f
Error Handling: enabled experimental recovery systems. ( #1651 , #5654 )
...
Setup a couple of features to configure them, including ways to display error tooltips instead of assserting.
2024-09-27 19:00:56 +02:00
ocornut
8776678a46
Error Handling: replaced log callback in recovery functions with calls to IM_ASSERT_USER_ERROR(). ( #1651 , #5654 )
...
This commit is not meant to be functional as-is (it will break test engine recovery). This is mostly to reduce/remove noise from upcoming commits.
2024-09-27 19:00:56 +02:00
ocornut
718a594b1e
Error Handling: rewired asserts in PopID(), PopFont(), PopItemFlag(), EndDisabled(), PopTextWrapPos(), PopFocusScope(), PopItemWidth() to use IM_ASSERT_USER_ERROR(). ( #1651 , #5654 )
2024-09-27 19:00:56 +02:00
ocornut
2360061520
Error Handling, Debug Log: added IMGUI_DEBUG_LOG_ERROR() with special handling. ( #5855 , #1651 , #5654 )
2024-09-27 19:00:56 +02:00
ocornut
26785fd873
Internals: NewFrame: move the window reset loop higher up, namely before UpdateHoveredWindowAndCaptureFlags() -> FindHoveredWindowEx().
...
This allows using FindHoveredWindowEx() from anywhere in the frame.
2024-09-27 15:06:05 +02:00
ocornut
797101a882
Windows: BeginChild(): made it possible to call SetNextWindowSize() on a child window using ImGuiChildFlags_ResizeX/ImGuiChildFlags_ResizeY. ( #1710 , #8020 )
2024-09-26 14:58:56 +02:00
ocornut
9644c51183
Error handling: rework error tooltip logic (will be reused by upcoming feature). ( #7961 , #7669 , #1651 )
...
+ Comments
2024-09-25 18:59:08 +02:00
ocornut
726aad8e08
Refactor: moved ImGuiContext contructor to imgui.cpp
2024-09-24 20:24:51 +02:00
ocornut
44a73be6ea
TestEngine: log calls don't need testing hook active.
...
Docs: tweak comments on BeginDisabled(false)/EndDisabled() pairs.
2024-09-24 20:22:53 +02:00
ocornut
bc77041b57
Error Handling: fixed an issue ErrorCheckEndWindowRecover() when aborting in a child inside a tab bar. ( #1651 )
2024-09-23 16:45:28 +02:00
ocornut
fb410463e6
Scrollbar: added io.ConfigScrollbarScrollByPage setting. ( #8002 , #7328 )
2024-09-20 18:40:32 +02:00
ocornut
4aeae5d718
Error check: fixed build when using IMGUI_DISABLE_DEBUG_TOOLS.
2024-09-20 17:27:51 +02:00
ocornut
d0750ee4e7
Error check: clarified that carriage returns are emitted by our code. Added helper default callback. Comments. ( #1651 )
...
(doesn't affect test engine hook for it as trailing \n are trimmed anyhow)
2024-09-20 17:09:33 +02:00
ocornut
faca859043
Version 1.91.3 WIP
2024-09-19 15:51:06 +02:00
ocornut
a9f72ab681
Version 1.91.2
2024-09-19 14:47:13 +02:00
ocornut
6aade6912a
Inputs: SetNextItemShortcut() with ImGuiInputFlags_Tooltip doesn't show tooltip when item is active.
2024-09-17 18:52:12 +02:00
ocornut
dad9f45e3e
Windows: fixed an issue where double-click to collapse could be triggered even while another item is active. ( #7841 , #7369 )
2024-09-17 18:27:31 +02:00
ocornut
dab63231d8
Misc: Made it accepted to call SetMouseCursor() with any out-of-bound value, as a way to allow hacking in custom cursors if desirable.
2024-09-16 11:19:05 +02:00
David Briscoe
52a6ab44b1
Doc: Fix typo. ( #7974 )
2024-09-12 19:24:37 +02:00
ocornut
dc6346b763
Fonts: fixed ellipsis "..." rendering width miscalculation bug introduced in 1.91.0. ( #7976 )
...
Amend 0f63d3e9
2024-09-12 19:22:09 +02:00
alektron
abd07f6d30
InputText: added native support for UTF-8 text editing and god rid of the wchar buffer. ( #7925 )
...
WIP (requires subsequent commits for fixes)
2024-09-11 14:46:29 +02:00
ocornut
67cd4ead65
Added io.ConfigDebugHighlightIdConflicts debug feature! ( #7961 , #7669 )
...
Also #74 , #96 , #480 , #501 , #647 , #654 , #719 , #843 , #894 , #1057 , #1173 , #1390 , #1414 , #1556 , #1768 , #2041 , #2116 , #2330 , #2475 , #2562 , #2667 , #2807 , #2885 , #3102 , #3375 , #3526 , #3964 , #4008 , #4070 , #4158 , #4172 , #4199 , #4375 , #4395 , #4471 , #4548 , #4612 , #4631 , #4657 , #4796 , #5210 , #5303 , #5360 , #5393 , #5533 , #5692 , #5707 , #5729 , #5773 , #5787 , #5884 , #6046 , #6093 , #6186 , #6223 , #6364 , #6387 , #6567 , #6692 , #6724 , #6939 , #6984 , #7246 , #7270 , #7375 , #7421 , #7434 , #7472 , #7581 , #7724 , #7926 , #7937 and probably more.. Tagging to increase visibility!
2024-09-10 15:40:37 +02:00
ocornut
a2366f9022
TextLinkOpenURL: display a verb in front the link. Update Gallery & other links. ( #7885 , #7660 )
2024-09-06 11:45:32 +02:00
ocornut
d16cb171c6
Nav: pressing any keyboard key while holding Alt disable toggling nav layer on Alt release. ( #4439 , extend #370 , #369 )
2024-09-05 20:16:37 +02:00
ocornut
193c1e2366
Version 1.91.2 WIP
2024-09-05 20:03:23 +02:00
ocornut
1dfbb100d6
Version 1.91.1
2024-09-04 16:53:43 +02:00
ocornut
f99febfd6f
Made BeginItemTooltip() and IsItemHovered() with delay flag infer an implicit ID using Pos only. ( #7945 , #1485 , #143 )
...
Perhaps a better approach would be to: store last non-zero ID + count successive zero ID and combine then.
2024-09-03 21:19:25 +02:00
ocornut
a93f7db875
Misc merge/small stuff from docking to reduce drift.
...
Among other things:
- merged cfd23957
(#7940 , #7823 ), also see ac64b6563
(#6716 ): moved above on 2023/08/14 in both branches.
- moving the RenderDimmedBackgrounds() call, from f422e782
, see 676497fe
intently undoing ac64b65
-> confusing. (#6716 )
2024-09-03 20:55:00 +02:00
ocornut
ee9e3a2ed6
Tabs: avoid queuing a refocus when tab is already focused, which would have the side-effect of e.g. closing popup on a mouse release. ( #7914 )
...
+ Debug Log: add details about closed popups.
2024-09-03 18:34:18 +02:00
tanoxyz
1d88609043
Changed call from cosf to ImCos ( #7939 )
2024-09-01 11:40:48 +02:00
ocornut
0b9adc2c79
BeginChild: (BREAKING) renamed ImGuiChildFlags_Border to ImGuiChildFlags_Borders.
...
Amend 7713c2925
+ renamed similar argument in other functions.
2024-08-23 15:28:42 +02:00
ocornut
1e939fcc32
Tooltips, Drag and Drop: made it possible to override BeginTooltip() position while inside a drag and drop source or target. ( #6973 )
2024-08-23 14:56:09 +02:00
ocornut
5de7f69cbb
(BREAKING) Commented out obsolete ImageButton(). ( #5533 , #4471 , #2464 , #1390 )
2024-08-22 20:12:23 +02:00
ocornut
214977e5fd
IO: (BREAKING) moved io.GetClipboardTextFn, io.SetClipboardTextFn to platform_io.Platform_GetClipboardTextFn, platform_io.Platform_SetClipboardTextFn.
2024-08-22 20:12:23 +02:00
ocornut
e54f240ea0
IO: (BREAKING) moved io.PlatformLocaleDecimalPoint to platform_io.Platform_LocaleDecimalPoint. ( #7389 , #6719 , #2278 )
2024-08-22 20:12:12 +02:00
ocornut
9ff60ae31d
IO: (BREAKING) moved GetIO().PlatformSetImeDataFn to GetPlatformIO(.Platform_SetImeDataFn. ( #7660 )
2024-08-22 20:11:55 +02:00
ocornut
ba2f4a2cd5
IO: (BREAKING) moved GetIO().PlatformOpenInShellFn to GetPlatformIO(.Platform_OpenInShellFn. ( #7660 )
2024-08-22 20:11:36 +02:00
ocornut
e6460722ea
IO: Added GetPlatformIO(), ImGuiPlatformIO, currently empty.
2024-08-22 18:17:42 +02:00
ocornut
bf75504d7a
Style: added PushStyleVarX(), PushStyleVarY() helpers to modify only one component of a ImVec2 var.
...
+ tweak existing function to early out on error.
2024-08-22 13:55:42 +02:00
ocornut
e471206b08
Windows: adjust default ClipRect to better match rendering of thick borders. ( #7887 , #7888 + #3312 , #7540 , #3756 , #6170 , #6365 )
2024-08-20 17:54:42 +02:00
ocornut
eb7201b902
Fonts: Made it possible to use PushFont()/PopFont() calls accross Begin() calls. ( #3224 , #3875 , #6398 , #7903 )
2024-08-20 15:37:12 +02:00
ocornut
092c88dc7b
IO: rework interleaved keys<>char trickling: only trickle for keys known to be likely to input characters. ( #7889 , #4921 , #4858 )
...
Amend fa2b318d
. Refer to regression test "inputs_io_inputqueue" amended for IMGUI_VERSION_NUM >= 19102
2024-08-19 19:02:27 +02:00
ocornut
fabceaf036
Internals: renamed IsModKey() -> IsLRModKey() and GetModForModKey() -> GetModForLRModKey() to be more explicit.
2024-08-19 18:28:56 +02:00
ocornut
6864a7f839
Window refresh policy: extend tests to any window in the begin stack. ( #7797 )
2024-08-01 22:40:09 +02:00
ocornut
531364d728
Window refresh policy: fixed child window of skiprefresh windows not displaying. ( #7797 )
...
Amend d4495446d
. (#3515 , #4763 , #7556 , #5116 , #4076 , #2749 , #2268 )
2024-08-01 22:26:12 +02:00
ocornut
dcf54782d4
Version 1.91.WIP
2024-07-31 16:34:28 +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
c2a3d5e47b
Comments, minor tweaks to ImGuiTextFilter.
2024-07-29 22:34:34 +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
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
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
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
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
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
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
0ebf49b4c1
IO: amend PlatformOpenInShellFn specs to return a bool. ( #7660 )
...
Amend 8f36798
2024-07-02 19:03:40 +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