ocornut
4448d975d1
Inputs: added wip/internal Input Owner system. ( #456 , #2637 , #2620 , #2891 , #3370 , #4828 , #5108 , #5242 , #5641 )
...
- Added SetKeyOwner(), SetItemKeyOwner(), TestKeyOwner().
- Added new IsKeyXXX IsMouseXXX functions with ImGuID owner_id and flags.
- Obsoleted SetItemUsingMouseWheel(). (#2891 )
- Removed IsKeyPresseedEx() which was a recent internal addition 2022-07-08 deemed to be temporary exactly for this.
- Added ImGuiButtonFlags_NoSetKeyOwner, ImGuiButtonFlags_NoTestKeyOwner
- Added ImGuiSelectableFlags_NoSetKeyOwner.
- Added ImGuiInputFlags_LockThisFrame, ImGuiInputFlags_LockUntilRelease for for SetKeyOwner(), SetItemKeyOwner().
- Added ImGuiInputFlags_CondXXX values for SetItemKeyOwner().
2022-11-08 18:47:36 +01:00
ocornut
44d98bfd6d
Fix build with IMGUI_DISABLE_DEBUG_TOOLS
2022-11-04 16:35:57 +01:00
ocornut
529cba19b0
Debug Tools: Added DebugLocateItem()/DebugLocateItemOnHover() to visually locate items when hovering a 0xXXXXXXXX value. ( #5855 , #2673 , #4631 )
2022-11-04 16:06:34 +01:00
ocornut
7109f32f96
Internals: tidying up and stripping more of focus scope code.
2022-11-04 12:19:23 +01:00
ocornut
9f66a3a9ed
Internals: rework FocusScope system, current scope doesn't need to be in window + child doesn't inherit.
...
Intended as part of work for input routing + blind menu processing shortcuts. Some of this commit will be stripped by next commit.
Intent was to sort windows along with focus scope to build a hierarchy, but for our needs we'd need a persistant one, so scrapping the idea. Not squashing this with next commit to keep a bit of history for future references.
2022-11-04 12:19:20 +01:00
ocornut
1eac0024c0
InputText: copy and select all shortcuts don't need repeat (tho it was harmless0
2022-11-03 18:33:43 +01:00
ocornut
90e9465fa5
Window: Fixed position not being clamped while auto-resizing ( #5843 )
2022-11-02 12:36:41 +01:00
ocornut
6e9dfe1de1
Window: Auto-fit size takes account of work rectangle (menu bars eating from viewport). ( #5843 )
2022-11-02 12:36:22 +01:00
ocornut
22bcfca700
IO: Clear AppFocusLost in EndFrame() in order to allow backend or application code to poll and react to it
...
+ Amend a241dc7 with the same clearing of MouseDownDuration[] as keyboard ones.
2022-10-28 20:01:20 +02:00
ocornut
a241dc7990
IO: Fixed AddFocusEvent(false) to also clear MouseDown[] state. ( #4921 )
2022-10-27 20:17:19 +02:00
ocornut
a61bbdc239
Commented out redirecting OpenPopupContextItem() which was briefly the name of OpenPopupOnItemClick() from 1.77 to 1.79.
2022-10-26 22:22:53 +02:00
ocornut
baea25e657
Drag and Drop: extracted a RenderDragDropTargetRect() function ( #1603 )
2022-10-25 15:54:22 +02:00
ocornut
431fc6a7f6
Internals: using ItemAdd() consistently for internal items: windows & tables resize grips/borders, ScrollbarEx().
...
This put an extra flag check in ItemAdd() but essentially reduce inconsistency with windows decorations not using this. Useful for debugging.
It however buries the info/blurs the line about what it means to not use ItemAdd() since they are now doing it much less.
2022-10-24 22:54:29 +02:00
ocornut
178aee4b1c
Debug Tools: Debug Log: add and use ImGuiTextLineIndex.
...
This is needed for next commit where we want to parse hovered Debug Log line.
2022-10-24 21:23:59 +02:00
ocornut
578df14f27
CI: Remove left-over discord stuff.
2022-10-24 12:02:06 +02:00
ocornut
f6bd7c8e53
Debug Tools: Item Picker: remove IMGUI_DEBUG_TOOL_ITEM_PICKER_EX since it doesn't work on non-ItemHoverable() items anyway. ( #2673 )
...
Call stack difference not meaningful.
2022-10-21 18:32:40 +02:00
ocornut
bc918404fe
Internals: using ImToUpper() since std one does too many things.
...
As a bonus side-effect may remove reliance on ctype.h (will see if CI complains)
2022-10-21 16:13:52 +02:00
ocornut
9a35bfea39
Internals: added temporary ImGuiItemStatusFlags_Visible (used internally - please do not use).
...
Used by BeginMenu() as I'm experimenting with blind menus honoring shortcuts.
Extra comments about KeyMap and ImGuiKeys
2022-10-21 14:57:10 +02:00
ocornut
e3fa56ae05
BeginMenu(): Menus: Fixed a one-frame issue where SetNextWindowXXX data are not consumed by a BeginMenu().
...
+ Shallow tweaks to reduce diff of future branches. Removing early return also facilitate some changes.
2022-10-19 14:12:04 +02:00
ocornut
5ac94ad898
Window: Fixed an issue where uncollapsed a window would show a scrollbar for a frame.
...
Amend / fix regression from 6e8e2c0
2022-10-18 16:43:38 +02:00
ocornut
ab6e48b833
Backends: GLFW: Perform a dummy glfwGetError() read to cancel missing mouse cursors errors. ( #5785 )
2022-10-18 12:21:31 +02:00
ocornut
08752b372e
Menus, Popups: Experimental fix for issue where clicking on an open BeginMenu() item called from a window which is neither a popup neither a menu used to incorrectly close and reopen the menu. ( #5775 )
...
This works by moving the ClosePopupsOverWindow() in FocusWindow() in the if() block which luckily solves our problem.
In our test suite I couldn't find situation where this had side-effect others than BeginMenu() using the 'menuset_is_open' trick.
It's difficult to tell if other side-effects are possible: a window being already focused should mean it doesn't have popups overit.
Effectively this means that clicking e.g. on the BeginMenu() item to close a menu in a menu-bar now relies on BeginMenu() logic for the closure rather than FocusWindow() triggerd by button behavior.
2022-10-14 18:47:00 +02:00
ocornut
81176737f8
Menus: Fixed using IsItemHovered()/IsItemClicked() on BeginMenu(). ( #5775 )
2022-10-14 17:39:04 +02:00
ocornut
3920b1c764
Removed commented out old flags from when Tables was a branch.
...
ImGuiTableFlags_ColumnsWidthFixed, ImGuiTableFlags_ColumnsWidthStretch,
ImGuiTableFlags_SizingPolicyFixed, ImGuiTableFlags_SizingPolicyStretch
ImGuiTableColumnFlags_WidthAuto
2022-10-14 16:36:41 +02:00
ocornut
b15347cb7d
Tables: activating an ID (e.g. clicking button inside) column doesn't prevent columns output flags from having ImGuiTableColumnFlags_IsHovered set. ( #2957 )
2022-10-13 15:15:42 +02:00
ocornut
3e8d198133
Removed runtime patching of obsolete/invalid "%f"/"%.0f" types of format strings for DragInt()/SliderInt().
2022-10-12 23:09:09 +02:00
ocornut
c54230d14e
Backends: Using nullptr instead of NULL. ( #5760 , #4537 ) + fix additional warnings.
2022-10-11 12:35:41 +02:00
ocornut
8a44c31c95
Scrolling: Further reduce unrelease mouse-wheel locked window timer + misc refactor ( #2604 , #3795 , #4559 )
...
The refactor are designed to minimize the diff for changes needed for #3795
2022-10-06 20:17:28 +02:00
ocornut
dfa1bb0ac7
Backends: OSX: Fixed mouse inputs on flipped views. ( #5756 )
2022-10-06 14:28:14 +02:00
ocornut
85a368b58d
Fixed ImGuiWindowFlags_UnsavedDocument clipping label in docked windows with no close button. ( #5745 )
...
+ TabBar: starts displaying the unsaved document marker with a frame delay to match how close button is processed, otherwise the transition would be noticeable.
2022-10-04 18:03:56 +02:00
ocornut
c7d3d22ae1
Scrolling: Mitigated issue where multi-axis mouse-wheel inputs (usually from touch pad events) are incorrectly locking scrolling in a parent window. ( #4559 , #3795 , #2604 )
2022-10-04 15:41:57 +02:00
ocornut
80a870a3e5
Scrolling: Tweak mouse-wheel locked window timer so it is shorter but also gets reset whenever scrolling again ( #2604 ) + small refactor
...
Somehow interesting for (#3795 , #4559 ). sorry this will break PR for 3795 but we got the info.
2022-10-04 15:34:17 +02:00
ocornut
282b2b5afb
Backends: Vulkan: Fix building with VK_NO_PROTOTYPES. ( #914 , #5738 ).
...
Amend a588f00
2022-10-04 12:30:45 +02:00
ocornut
a588f00f7b
Backends: Vulkan: Added experimental ImGui_ImplVulkan_RemoveTexture() for api symetry. ( #914 , #5738 ).
2022-10-04 12:02:48 +02:00
ocornut
f2a522d70d
ImDrawList: Not using alloca() anymore, lift single polygon size limits. ( #5704 , #1811 )
2022-09-30 15:58:55 +02:00
ocornut
cc5058e5d7
IO: Filter duplicate input events during the AddXXX() calls. ( #5599 , #4921 )
2022-09-29 22:01:11 +02:00
ocornut
fac8295d6e
IO: remove ImGuiInputEvent::IgnoredAsSame (revert part of 839c3100), will filter earlier in next commit. ( #5599 )
...
Making it a separate commit as this leads to much indentation change.
2022-09-29 22:00:38 +02:00
ocornut
9e7f460c09
Fixed GetKeyName() for ImGuiMod_XXX values, made invalid MousePos display in log nicer. ( #4921 , #456 )
...
Amend fd408c9
2022-09-29 22:00:35 +02:00
ocornut
0749453355
Menus, Nav: Fixed not being able to close a menu with Left arrow when parent is not a popup. ( #5730 )
2022-09-29 19:51:54 +02:00
ocornut
9f6aae3bf2
Nav: Fixed race condition pressing Esc during popup opening frame causing crash.
2022-09-29 19:48:27 +02:00
ocornut
bd2355a047
Menus, Nav: Fixed using left/right navigation when appending to an existing menu (multiple BeginMenu() call with same names). ( #1207 )
2022-09-29 19:25:26 +02:00
ocornut
3532ed1621
Menus, Nav: Fixed keyboard/gamepad navigation occasionally erroneously landing on menu-item in parent when the parent is not a popup. ( #5730 )
...
Replace BeginMenu/MenuItem swapping g.NavWindow with a more adequate ImGuiItemFlags_NoWindowHoverableCheck.
Expecting more subtle issues to stem from this.
Note that NoWindowHoverableCheck is not supported by IsItemHovered() but then IsItemHovered() on BeginMenu() never worked: fix should be easy in BeginMenu() + add test is IsItemHovered(), will do later
2022-09-29 18:44:19 +02:00
ocornut
d5d705069d
Various comments
...
As it turns out, functions like IsItemHovered() won't work on an open BeginMenu() because LastItemData is overriden by BeginPopup(). Probably an easy fix.
2022-09-29 18:44:19 +02:00
ocornut
d17627b9c6
InputText: leave state->Flags uncleared for the purpose of backends emitting an on-screen keyboard for passwords. ( #5724 )
2022-09-28 17:38:41 +02:00
ocornut
0a7054c7e4
Backends: Win32: Convert WM_CHAR values with MultiByteToWideChar() when window class was registered as MBCS (not Unicode). ( #5725 , #1807 , #471 , #2815 , #1060 )
2022-09-28 17:04:42 +02:00
ocornut
a229a7f39f
Examples: Win32: Always use RegisterClassW() to ensure windows are Unicode. ( #5725 )
2022-09-28 16:57:18 +02:00
ocornut
e0330c1696
Fonts, Text: Fixed wrapped-text not doing a fast-forward on lines above the clipping region. ( #5720 )
...
which would result in an abnormal number of vertices created.
2022-09-28 14:58:41 +02:00
ocornut
4d4889bf1b
Refactor CalcWordWrapPositionA() to take on the responsability of minimum character display. Add CalcWordWrapNextLineStartA(), simplify caller code.
...
Should be no-op but incrementing IMGUI_VERSION_NUM just in case.
Preparing for #5720
2022-09-28 14:57:15 +02:00
ocornut
5c4426c5b8
Demo: Fixed Log & Console from losing scrolling position with Auto-Scroll when child is clipped. ( #5721 )
2022-09-28 12:22:44 +02:00
ocornut
12c0246890
Removed support for 1.42-era IMGUI_DISABLE_INCLUDE_IMCONFIG_H / IMGUI_INCLUDE_IMCONFIG_H. ( #255 )
2022-09-28 12:08:21 +02:00
ocornut
a725db17b7
Comments for flags discoverability + add to debug log ( #3795 , #4559 )
2022-09-27 20:08:40 +02:00
ocornut
325299f942
Backends: OpenGL: Add ability to #define IMGUI_IMPL_OPENGL_DEBUG. ( #4468 , #4825 , #4832 , #5127 , #5655 , #5709 )
2022-09-27 14:38:40 +02:00
ocornut
56c3eaed20
ImDrawList: asserting on incorrect value for CurveTessellationTol ( #5713 )
2022-09-27 14:24:21 +02:00
ocornut
04316bd223
ColorEdit3: fixed id collision leading to an assertion. ( #5707 )
2022-09-26 16:32:09 +02:00
ocornut
c261dac02f
Demo: moved ShowUserGuide() lower in the file, to make main demo entry point more visible + fix using IMGUI_DEBUG_LOG() macros in if/else.
2022-09-26 14:56:36 +02:00
ocornut
51bbc70652
Backends: SDL: Disable SDL 2.0.22 new "auto capture" which prevents drag and drop across windows, and don't capture mouse when drag and dropping. ( #5710 )
2022-09-26 14:49:02 +02:00
ocornut
7a9045dd77
Backends: WGPU: removed Emscripten version check (currently failing on CI, ensure why, and tbh its redundant/unnecessary with changes of wgpu api nowadays)
2022-09-26 11:55:07 +02:00
ocornut
83a0030c0a
Added ImGuiMod_Shortcut which is ImGuiMod_Super on Mac and ImGuiMod_Ctrl otherwise. ( #456 )
2022-09-26 10:43:26 +02:00
ocornut
fd408c9790
Renamed and merged keyboard modifiers key enums and flags into a same set:. ImGuiKey_ModXXX -> ImGuiMod_XXX and ImGuiModFlags_XXX -> ImGuiMod_XXX. ( #4921 , #456 )
...
Changed signature of GetKeyChordName() to use ImGuiKeyChord.
Additionally SetActiveIdUsingAllKeyboardKeys() doesn't set ImGuiKey_ModXXX but we never need/use those and the system will be changed in upcoming commits.
2022-09-26 10:43:26 +02:00
ocornut
f359dca0dc
Misc input related changes to facilitate upcoming merges.
2022-09-22 19:00:30 +02:00
ocornut
85f327d8d3
InputText: added ImGuiInputTextFlags_EscapeClearsAll ( #5688 )
2022-09-21 16:23:44 +02:00
ocornut
60ab8a94a7
InputText: fixed minor one-frame selection glitch when reverting with Escape + disable cursor rendering on revert frame. ( #3008 )
...
Amend bdbb2b21 , 83efdcec
2022-09-20 15:46:32 +02:00
ocornut
4b522e145c
Experiment: ImGuiKey is now a typed enum, allowing ImGuiKey_XXX symbols to be named in debuggers. ( #4921 , #4537 )
...
May affect binding generators.
2022-09-20 12:42:29 +02:00
ocornut
5c8041b4d7
Update gif in README + font names in examples
2022-09-19 17:45:05 +02:00
ocornut
2736af6b61
Minor optimization of ImFontAtlasBuildMultiplyRectAlpha8() + README tweaks.
2022-09-19 16:59:46 +02:00
ocornut
1dd964f87d
Popups & Modals: Fix (amended) somehow undocumented Popup+Child behavior (useful for e.g. #718 , #4461 and probably other things)
...
(broken by 1c4066cd )
2022-09-16 23:27:16 +02:00
ocornut
440f257688
Popups & Modals: fixed nested Begin() being erroneously input-inhibited. (useful for e.g. #718 , #4461 and probably other things)
2022-09-16 22:08:11 +02:00
ocornut
472f8013bd
Moved version number higher up in imgui.h to increase visibility
...
- This allow using version number in imconfig
- This technically makes the #ifdef IMGUI_VERSION check valid in case of using IMGUI_DISABLE
- This makes available IMGUI_VERSION/IMGUI_VERSION_NUM with IMGUI_DISABLE - bit of a harmless leak
2022-09-16 22:07:33 +02:00
ocornut
44e3ba115a
Demo: moved "Mouse Cursors" section. moved "Filtering" section.
2022-09-14 20:18:23 +02:00
ocornut
1816c5241b
Examples: updated VS projects with .natvis file under imgui/
2022-09-14 14:17:47 +02:00
ocornut
091445a4a9
Examples: added all SDL examples to VS solution.
2022-09-13 10:46:30 +02:00
ocornut
513c1ba996
Removed the bizarre legacy default argument for 'TreePush(const void* ptr = NULL)' ( #1057 )
...
Followup to e605f2179
2022-09-12 16:00:19 +02:00
ocornut
cb48c81a44
Tabs: Fix initial tab state. Amend 3e6f948( ( #5572 )
...
Somehow this only triggers a failing test in docking branch.
2022-09-09 20:47:27 +02:00
ocornut
52d9ee0dc2
Tabs: Fixed ShrinkWidths() redistribution of remainder leading to infinite bug (second fix). ( #5652 , #5262 )
...
Amend b137f31
2022-09-09 20:01:59 +02:00
ocornut
3e6f948851
Tabs: Enforcing minimum size of 1.0f, fixed asserting on zero-tab widths. ( #5572 )
...
Also fixed SetNextItemWidth(0.0f) not being consistent with tabs. (#5262 )
2022-09-07 12:42:42 +02:00
ocornut
b137f31b8c
Tabs: Fixed ShrinkWidths() redistribution of remainder leading to infinite bug + over redistribution. ( #5652 )
...
Amend c4b91017
2022-09-07 12:22:49 +02:00
ocornut
2171375f93
InputText: clarified that callbacks cannot modify buffer when using the ReadOnly flag.
2022-09-06 14:33:02 +02:00
ocornut
fe62927bd8
Backends: OpenGL: Update comments. ( #4445 , #5642 , #4649 )
2022-09-05 15:58:31 +02:00
ocornut
9e1ccf8fab
Commented out redirecting functions/enums names that were marked obsolete in 1.77 and 1.78 (June 2020): ( #3361 )
...
- DragScalar(), DragScalarN(), DragFloat(), DragFloat2(), DragFloat3(), DragFloat4() with signature ending with (..., float power = 1.0f)
- SliderScalar(), SliderScalarN(), SliderFloat(), SliderFloat2(), SliderFloat3(), SliderFloat4() with signatures ending with (..., float power = 1.0f)
- BeginPopupContextWindow(const char*, ImGuiMouseButton, bool)
2022-09-05 14:38:00 +02:00
ocornut
edcd5b113e
Obsoleted using SetCursorPos()/SetCursorScreenPos() to extend parent window/cell boundaries. ( #5548 )
...
This incorrect pattern has been mentioned or suggested in: #4510 , #3355 , #1760 , #1490 , #4152 , #150
2022-09-02 16:37:35 +02:00
ocornut
9445776d61
Nav: Fixed an issue opening a menu with Right key from a non-menu window.
2022-09-01 20:42:10 +02:00
ocornut
03fc9a0b17
Menus: Fixed gaps in closing logic. ( #5614 )
...
The _MenuBar test introduced in c2cb2a69 doesn't appear to be meaningful.
2022-09-01 20:42:07 +02:00
ocornut
a502ceb075
Added commented out older obsolete names (1.42 to 1.52)
2022-09-01 12:22:39 +02:00
ocornut
2569c64740
Demo: Improved "Constrained-resizing window" example, more clearly showcase aspect-ratio. ( #5627 , #5618 )
2022-09-01 11:13:39 +02:00
ocornut
7f25143972
Better error reporting for PopStyleColor()/PopStyleVar() + easier to recover. ( #1651 )
2022-09-01 10:54:00 +02:00
ocornut
747c9a7adf
IsKeyPressed(), IsMouseClicked(), GetKeyPressedAmount(): add a (normally unnecessary) test for ->Down next to ->DownDuration tests, facilitating the use of key eating mechanism.
...
Consider removing when we add support for input ownership.
2022-08-31 19:15:13 +02:00
ocornut
e13913ed57
IsItemHovered: Added ImGuiHoveredFlags_DelayNormal, ImGuiHoveredFlags_DelayShort, ImGuiHoveredFlags_NoSharedDelay. ( #1485 )
...
IsItemHovered() can't have a non-zero default, but higher-level tooltip helpers may enable a different default later.
2022-08-24 21:32:13 +02:00
ocornut
b3b3a07133
Nav: Fixed regression in e99c4fc preventing CTR+Tab to work without NavEnableKeyboard ( #5504 , #4023 );
2022-08-24 14:45:11 +02:00
ocornut
72096bf698
Clipper: simplify code and remove cases where true is returned with empty display range as an extra step.
2022-08-23 15:40:07 +02:00
ocornut
07b9999de9
Debug Log: added 'Clipper' events logging.
2022-08-23 15:40:07 +02:00
ocornut
4eb9066997
Clipper: extract code into a ImGuiListClipper_StepInternal() to facilitate debugging. Moved clipper End() call to outer layer, stopped heretic use of comma operator.
...
Removed obsolete comments in clipper Begin()
2022-08-23 15:40:06 +02:00
ocornut
d357e8504b
TestEngine: revert part of 5b0510c as IMGUI_TEST_ENGINE_ITEM_ADD() woul see an erreneous hierarchy.
...
+ Fix typo (#5600 )
2022-08-22 14:36:32 +02:00
ocornut
cdebd70e15
Fix PVS-Studio static analyzer warning for "buffer underflow"
...
Amend 4e8e177c
2022-08-20 23:08:19 +02:00
ocornut
5b0510c5b7
TestEngine: facilitate aiming at InputScalar() using wildcards + removed unnecessary IDStack.size hack (require TestEngine latest)
2022-08-20 22:55:51 +02:00
ocornut
ef6ba0d846
Misc: allowing override of IM_TABSIZE ( #5593 )
2022-08-20 19:54:57 +02:00
ocornut
268565079c
InputText: numerical fields automatically accept full-width characters (U+FF01..U+FF5E) by converting them to half-width (U+0021..U+007E).
2022-08-08 17:06:11 +02:00
ocornut
a396233cb6
Platform IME: Windows: Revert 133bbafa and 29a8ee08 as regression until new results comes. ( #2589 , #5535 , #5264 , #4972 )
2022-08-08 12:42:57 +02:00
ocornut
839c31006b
Debug Log: Added IO events logging.
2022-08-08 11:58:57 +02:00
ocornut
133bbafa3c
Platform IME: Windows: Fixed a call to ImmAssociateContextEx() leading to freeze on some setups. ( #2589 , #5535 , #5264 , #4972 )
...
+ misc comments
2022-08-08 11:31:48 +02:00
ocornut
0a4ddd7246
Fix being unable to mouse wheel while dragging a payload (fix 1480bc5, #4921 , #2891 )
2022-08-03 22:02:00 +02:00