ocornut
88de982071
Version 1.88 WIP
2022-02-08 14:45:26 +01:00
ocornut
97b1abd6dd
Internals: rework RenderMouseCursor() signature so we can use it in docking branch more naturally.
2022-02-08 12:22:46 +01:00
ocornut
c71a50deb5
Version 1.87
2022-02-07 18:16:54 +01:00
ocornut
6f73dbea80
TestEngine: submit window data to item system.
2022-02-01 15:20:32 +01:00
Clownacy
422902dbda
Correct typos ( #4954 , #4955 ), use IM_STATIC_ASSERT now that old pre-C++11 macro has been obsoleted.
2022-01-31 11:58:33 +01:00
ocornut
49e38a5b32
Revert moving ImGuiKeyModFlags to internal.h (amendc906c65)
2022-01-28 15:53:09 +01:00
ocornut
9def2b04d7
IO: Added simple (incomplete) filter for duplicates to reduce data spam. ( #4921 , #4858 )
2022-01-27 17:46:48 +01:00
ocornut
c906c65cac
(BREAKING) Replaced AddKeyModsEvent() added by 790132a
in favor of unified key enum system. Backends: update most. ( #4921 , #4858 )
...
Sorry this is an unusual breaking but since we are WIP it is a good time to make a correction.
2022-01-27 17:46:48 +01:00
ocornut
718daa153d
Rendering: defer responsability of calling _PopUnusedDrawCmd() later so RenderDimmedBackgrounds()/RenderMouseCursor() don't need to deal with the side-effects ( #4857 , #4317 )
2022-01-27 16:59:24 +01:00
ocornut
075f4ac661
Don't merge ImDrawCmd which have had their IdxOffset changed to not be sequential. Fixed CTRL+Tab into an empty window causing artefacts on the highlight rectangle due to bad reordering on ImDrawCmd.
...
This is bit of a weird edge case adding weight to ImDrawCmd merging, if we could rework the mess in RenderDimmedBackgroundBehindWindow() we may be able to undo some of that.
2022-01-26 15:53:18 +01:00
ocornut
8555335935
Shallow alignment of ImGuiKey stuff + moving some in internals. Internals: add offset to ImBitArray<>, simpify ActiveIdUsingKeyInputMask.
2022-01-25 18:11:34 +01:00
ocornut
08f3aa8972
Popups: Fix b17b2fb
( #4936 )
2022-01-24 14:14:34 +01:00
ocornut
4caf1e9b59
Backends: GLFW: fix ImGui_ImplGlfw_TranslateUntranslatedKey() for grave accents. ( #456 , #2625 ) + fix preceeding commit.
...
Amend 100ede57
+ amend b17b2fb
2022-01-24 13:49:57 +01:00
ocornut
b17b2fb732
Popups: Fixed an issue when reopening a same popup multiple times would offset them by 1 pixel on the right. ( #4936 )
...
Passing explicit ImGuiPopupFlags_MouseButtonRight to OpenPopupOnItemClick() calls somehow document the unusual (due to legacy) default value.
2022-01-24 13:24:54 +01:00
ocornut
69b697378b
Comments, tweaks.
2022-01-21 14:50:31 +01:00
ocornut
26e59c8742
Nav: Fixed gamepad navigation in wrapping popups not wrapping all the way. ( #4365 )
2022-01-21 14:41:34 +01:00
ocornut
62d6be3747
IO: Removed ImGuiInputSource from public api for now, unnecessary. ( #4858 , #787 )
2022-01-20 17:39:25 +01:00
ocornut
f33bb99821
IO: added AddKeyAnalogEvent() and support for ImGuiKey_GamepadXXXX. ( #4858 , #787 )
2022-01-20 17:24:52 +01:00
Rokas Kupstys
19471da3fd
Popups: Fix a crash when a new window is created after a modal on the same frame. ( #4920 )
2022-01-20 15:03:56 +01:00
ocornut
7ad42ff431
IO: renamed io.ConfigInputEventQueue to io.ConfigInputTrickleEventQueue. ( #4858 )
2022-01-19 18:45:57 +01:00
ocornut
97b1ffcb3b
IO: Reorder enums, compact a little in header. Removed const from internal GetKeyData().
2022-01-19 15:42:27 +01:00
ocornut
91ae56af45
Removed support for legacy arithmetic operators (+*/) when inputing text into a slider/drag. ( #4917 , #3184 )
2022-01-19 15:10:42 +01:00
ocornut
673f5e588d
IO: moved fields to put more focus on the new functions + update misc docs/references + update main.mm in Apple+Metal example ( #4858 )
2022-01-18 17:41:35 +01:00
ocornut
90a6961638
IO: apply same flooring as UpdateMouseInputs() in dupe event processing. ( #4858 ) + provision for test engine.
2022-01-17 18:10:51 +01:00
ocornut
7374b96f5c
IO: Added input queue. ( #4858 , #2787 , #1992 , #3383 , #2525 , #1320 )
2022-01-17 17:36:55 +01:00
thedmd
b8e56dce83
IO: Added AddMousePosEvent(), AddMouseButtonEvent(), AddMouseWheelEvent() api + updated all Backends. ( #4858 ) (input queue code will be next commit)
...
Details: note that SDL, OSX and GLFW backends removed recording of MouseJustPressed[] which will be unnecessary with input queue (which is the NEXT commit). (#2787 , #1992 , #3383 , #2525 , #1320 )
2022-01-17 17:35:37 +01:00
ocornut
92c4ff1c2f
Rename ImGuiKey_LeftControl to ImGuiKey_LeftCtrl, ImGuiKey_RightControl to ImGuiKey_RightCtrl + made key order match mods order. ( #4858 )
2022-01-17 15:42:04 +01:00
ocornut
6188e94108
Examples: Vulkan: fill Subpass and MSAASamples to increase discoverability ( #4886 ) + IO docs update ( #4858 )
...
https://github.com/mosra/magnum-integration/pull/89
2022-01-14 11:51:59 +01:00
ocornut
9551635684
IO: fix SetKeyEventNativeData() not handling ImGuiKey_None the same way as AddKeyEvent(). ( #4905 , #4858 )
2022-01-13 18:42:18 +01:00
ocornut
7f8a89c25c
Backends: Win32, SDL: maintain MouseButtonsDown instead of using IsAnyMouseDown(). Internals: added GetInputSourceName().
2022-01-12 16:12:10 +01:00
ocornut
956e03009a
Backends: OSX: Build fIx. Made GetKeyName() input tolerant. Internals: added GetNavInputName().
2022-01-11 18:48:16 +01:00
ocornut
e8172fdfbc
Rename io.AddKeyModEvent() -> io.AddKeyModsEvent() and updated backends accordingly. ( #2625 , #4858 )
...
Amend 790132a
(breaking)
2022-01-10 17:00:32 +01:00
ocornut
790132a672
Added io.AddKeyModEvent() and updated backends accordingly. ( #2625 , #4858 )
2022-01-10 15:17:00 +01:00
ocornut
bf08c13e9b
Inputs: Extra Keys / AddKeyEvent(): bidirectional mapping, basic CI, simplify backends, asserts on misuses, tested backward compat. ( #2625 , #4858 , #2787 )
...
(edit: simplified backends merged into previous commits to make history clearer)
2022-01-10 15:09:56 +01:00
thedmd
3b66929301
Inputs: Extra Keys / AddKeyEvent(): Added ImGuiKey values, io.AddKeyEvent(), GetKeyName(), IMGUI_DISABLE_OBSOLETE_KEYIO. Obsoleted GetKeyIndex(), io.KeyMap[], io.KeysDown[]. ( #2625 , #4858 , #2787 )
2022-01-10 15:09:56 +01:00
ocornut
afffcd5810
Inputs: rename ImGuiKey_KeyPadEnter > ImGuiKey_KeypadEnter ( #2625 )
2022-01-06 14:25:56 +01:00
ocornut
4d023bd7fe
Fix for using IMGUI_DISABLE_OBSOLETE_FUNCTIONS
2022-01-05 14:55:17 +01:00
actboy168
29a8ee0826
Platform IME: add ImGuiPlatformImeData::WantVisible, hide IME when not used. ( #2589 )
2022-01-05 13:47:21 +01:00
ocornut
1cbfe93520
Platform IME: [windows] call ImmSetCandidateWindow() to position candidate window.
2022-01-05 13:47:21 +01:00
ocornut
2706c9d66e
Platform IME: reworked internals to simplify adding new features.
2022-01-05 13:47:20 +01:00
ocornut
3a90dc3893
Platform IME: changed io.ImeSetInputScreenPosFn() to io.SetPlatformImeDataFn() API.
...
Ref #2589 , #2598 , #3108 , #3113 , #3653 , #4642
2022-01-05 13:47:20 +01:00
ocornut
04bc0b0bb8
Fix IdxBuffer related comments. ( #4845 , #4863 )
2022-01-05 12:20:33 +01:00
ocornut
28eabcb099
Internals: refactor: mouse input functions into their own section.
2022-01-04 14:53:36 +01:00
ocornut
206b9ead8f
IO: removed unused MouseDragMaxDistanceAbs(). Using a shortcut variable in UpdateMouseInputs().
2022-01-04 13:01:30 +01:00
ocornut
b0a6cd6305
Fixed a situation where CTRL+Tab or Modal can occasionally lead to the creation of ImDrawCmd with zero triangles, ( #4857 )
...
(2nd amend)
2022-01-03 21:45:20 +01:00
ocornut
2402958aec
Commented out redirecting functions/enums names that were marked obsolete in 1.69, 1.70, 1.71, 1.72
...
- ImGui::SetNextTreeNodeOpen() -> use ImGui::SetNextItemOpen()
- ImGui::GetContentRegionAvailWidth() -> use ImGui::GetContentRegionAvail().x
- ImGui::TreeAdvanceToLabelPos() -> use ImGui::SetCursorPosX(ImGui::GetCursorPosX() + ImGui::GetTreeNodeToLabelSpacing());
- ImFontAtlas::CustomRect -> use ImFontAtlasCustomRect
- ImGuiColorEditFlags_RGB/HSV/HEX -> use ImGuiColorEditFlags_DisplayRGB/HSV/Hex
2022-01-03 16:37:33 +01:00
ocornut
dbeea7220f
Backends: Silence overzealous warnings. ( #4834 ) Add comments about SetDragDropPayload() return value. ( #4835 )
2021-12-29 12:44:12 +01:00
ocornut
89a28209e8
Version 1.87 WIP + Backends: OpenGL3: Fixed a buffer overflow in imgui_impl_opengl3_loader.h init, added in 1.86 ( #4468 , #4830 )
2021-12-26 20:02:02 +01:00
ocornut
512c54bbc0
Version 1.86
2021-12-22 15:31:13 +01:00
ocornut
612b787b0d
Menus: fixed top-level menu from not consistently using style.PopupRounding. ( #4788 )
...
+ Stack tool default size.
2021-12-21 15:05:10 +01:00
ocornut
d9bc1e44af
Backends: Marmalade: Removed obsolete Marmalade backend (imgui_impl_marmalade.cpp) + example. ( #368 , #375 )
2021-12-20 19:29:41 +01:00
ocornut
4a43dcb940
Internals: reduced side-effects of setting window->HiddenFramesForRenderOnly > 0
2021-12-15 16:05:15 +01:00
ocornut
1c4066cd9e
Internals: UpdateWindowInFocusOrderList: amend a528398
to fix docking. ( #3496 , #4797 )
2021-12-15 14:27:56 +01:00
ocornut
48f263336b
Menus: fixed closing a menu inside a popup/modal. Fixed menu inside a popup/modal not inhibiting hovering of items in the popup/modal. ( #3496 , #4797 )
...
Fixed sub-menu items inside a popups from closing the popup (debatable).
2021-12-14 16:54:23 +01:00
ocornut
a528398c77
Internals: support for varying _ChildWindow flag for menu windows. ( #3496 , #4797 )
2021-12-14 16:19:43 +01:00
ocornut
11638fdf7d
Menus: reuse more menu windows when stacked over popups.
...
This is actually mostly aimed at ensuring the _ChildWindow flag on menu window doesn't vary as this would cause issues with our current g.WindowsFocusOrder[] scheme
2021-12-13 19:35:16 +01:00
xndcn
8a9fe26866
Menus: fixed closing a menu by clicking on its menu-bar item when inside a popup. ( #3496 , #4797 )
2021-12-10 18:58:41 +01:00
ocornut
c801799218
Added an assertion for the common user mistake of using "" as an identifier at the root level of a window. ( #1414 , #2562 , #2807 , #4008 , #4158 , #4375 , #4548 , #4657 , #4796 )
...
#4158 , #4375 , #4548 , #4657 , #4796 )
2021-12-09 15:35:02 +01:00
ocornut
a8e1dde357
Fix static analyser, update readme.
2021-12-09 15:17:58 +01:00
ocornut
e03383d088
Fixes for tooltip over modals leading to incorrect modal dimming. ( #4729 )
...
Amend 23ef6c1
. Should rework tooltip to be in a consistent position in g.Windows[]
2021-12-09 11:50:38 +01:00
ocornut
270d4d0855
Nav, Docking: Fix crash on dimming docked window and DockSpaceOverViewport() with PassthruCentralNode.
...
(amend 1dc3af3
, 23ef6c1
, 657073a
)
# Conflicts:
# imgui.cpp
2021-12-08 17:07:07 +01:00
Rokas Kupstys
b38af0f522
Popups: Fix popups being closed by newly appearing windows. ( #4317 )
...
* Popups/modals now remain open when new windows are created from within popup/modal begin stack.
* Modals are not closed when new window appears behind active modal.
Tested by "window_popup_interruptions"
2021-12-07 15:52:13 +01:00
ocornut
657073a650
Nav, Docking: fix dimming crash with accessing zero-cmd ImDrawList (amend 1dc3af3
, 23ef6c1
)
...
# Conflicts:
# imgui.cpp
2021-12-06 19:16:14 +01:00
ocornut
20e040c858
Clipper, Tables: remove table specific code path should now be ok (added assert).
2021-12-06 17:17:43 +01:00
ocornut
926addbfe2
Clipper: fixed invalid state when number of frozen table row is smaller than ItemCount.
...
+ Bonus rather unorthodox coding style.
2021-12-06 17:17:43 +01:00
ocornut
027a7ba3eb
Clipper: use line size instead of cursor comparaison when range are large. ( #3609 , #3962 + https://github.com/ocornut/imgui_club/issues/20 )
2021-12-06 17:17:43 +01:00
ocornut
a76bc52da5
Window, Clipper: store initial precision loss and apply in clipper. ( #3609 , #3962 + https://github.com/ocornut/imgui_club/issues/20 )
2021-12-06 16:19:47 +01:00
ocornut
6e141a9cae
Internals: made ScrollbarEx() use ImS64 to facilitate use with larger ranges (not fully tested) + clipper tweaks ( #3609 , #3962 + https://github.com/ocornut/imgui_club/issues/20 )
...
This does NOT fix all problems with large ranges and floating point precision, it merely attenuate them.
2021-12-06 12:09:38 +01:00
ocornut
23ef6c149e
Reworked modal/ctrl+tab dimming system to be entirely processed at end of the frame (backported 1dc3af3
from docking)
2021-12-03 19:21:39 +01:00
ocornut
da3a36eefd
Backport from docking branch: minor stuff.
...
Fixed software mouse cursor being rendered multiple times if Render() is called more than once.
2021-12-03 19:11:58 +01:00
ocornut
78c6435dbb
Inputs: (breaking wip) removed IsMouseTripleClicked() added recently (during 1.86 WIP), replaced with GetMouseClickedCount(). ( #3229 )
2021-12-03 12:38:58 +01:00
ocornut
5b1a70aa2d
Fixed RenderRectFilledWithHole() (used by docking) + added dummy EndFrameDrawDimmedBackgrounds() stub in master.
...
The round corner flag change in 033dfd9d
forgot to default to _None.
2021-12-01 15:26:34 +01:00
ocornut
f087a5b856
Metrics: Added a node showing windows in submission order and showing the Begin() stack.
2021-11-30 16:04:19 +01:00
ocornut
c5db276521
InputText, Nav: fixed tabbing through InputTextMultiline(). ( #4761 , #3092 )
...
Messy... Broken by 66f0fb9
. Added ImGuiItemFlags_NoTabStop to EndGroup() ahead of time (not strictly needed here).
2021-11-30 15:17:18 +01:00
ocornut
9d704d99d3
Internals: wrapped ImQsort() in an inline function + added a define guard.
2021-11-30 12:59:00 +01:00
ocornut
764f9e606d
Fixed crash on right-click without modal, introduced by previous commit a3667f46
, ( #4729 )
2021-11-17 12:45:33 +01:00
ocornut
a3667f462a
Fixed tooltip in own viewport over modal from being incorrectly dimmed. ( #4729 )
...
Normally we would aim to ensure that g.Windows[] gets maintained to reflect display layer but it is presently non trivial.
2021-11-16 16:13:04 +01:00
ocornut
d80a9123b7
Internals: move chunks of IsItemHovered() so upcoming commit can be less noisy. This commit should be a no-op (check by comparing without white-space changes)
2021-11-10 20:18:51 +01:00
ocornut
2c29e391dd
Drag and Drop: BeginDragDropSource() with ImGuiDragDropFlags_SourceAllowNullID doesn't lose tooltip when scrolling. ( #143 )
...
Reduced amount of self critical commentary since it'll appear like a hack for users but it isn't more a hack than many other things.
2021-11-10 19:17:01 +01:00
ocornut
f8a806ad9f
Tooltips, Internal: (Breaking) swapped parameter order to accomodate for future tooltip api rework.
2021-11-10 17:53:58 +01:00
ocornut
cad790d43b
Nav: fixed backwrap tabbing wrap on sibling child windows with _NavFlattened flag. ( #4449 )
...
Amend 1a7526dc
2021-11-10 12:44:43 +01:00
ocornut
e790fc0e79
Nav: prevent child from clipping items when using _NavFlattened and parent has a pending nav request. ( #787 )
2021-11-10 12:00:50 +01:00
ocornut
a9ea1ae854
Nav: fixing assert using Tab in a window without any tabbable element ( #4449 )
...
Amend 1a7526dc
2021-11-10 11:42:39 +01:00
ocornut
eb02dcf87f
Nav: enable move/resize window with keyboard in Ctrl+Tabbing windowing menu even without _NavEnableKeyboard. ( #4023 , #787 ).
2021-11-08 18:42:07 +01:00
ocornut
8ce23b3ccd
Nav: Ctrl+tabbing to cycle through windows is now enabled regardless of _NavEnableKeyboard. ( #4023 , #767 )
2021-11-08 17:41:36 +01:00
ocornut
bce1ba400f
Clipper: add ForceDisplayRangeByIndices ( #3841 , #3578 )
...
This partially reverts commit 6a7e2c74fb
.
2021-11-08 17:20:30 +01:00
ocornut
1a7526dcd4
Nav, Tabbing: refactor tabbing system to support clipped items, scrolling, using nav queries. ( #4449 )
...
Not using counter/modulo anymore and special provisions to handle tab wrapping with ImGuiListClipper. Wrapping may be done better as a next-frame forwarded request.
Also one extra step toward #3949 #3985
2021-11-04 20:48:12 +01:00
ocornut
f01a6d3e8f
InputText, Nav: fixed repeated calls to SetKeyboardFocusHere() preventing to use InputText(). ( #4682 )
...
+ Stack Tool: favor inspecting HoveredID over ActiveID as the later is more likely to be locked.
2021-11-04 20:02:42 +01:00
ocornut
32779c5b64
Clipper: hotfix (amend 93cccd2
, was broken) ( #3841 , #1725 )
2021-11-04 15:17:08 +01:00
ocornut
64daeddf6f
Removed CalcListClipping() function. ( #3841 )
2021-11-04 14:14:16 +01:00
ocornut
6a7e2c74fb
Clipper: remove ForceDisplayRangeByIndices/ForceDisplayRangeByPositions functions until we find a need for them, since #3841 is now solved automatically.
2021-11-04 14:05:14 +01:00
ocornut
93cccd27f6
Clipper: bunch of rework. ( #3841 , #1725 )
...
- Focused/NavId now always included in display range.
- Any number of steps (while preserving zero-alloc policy).
- Non contiguous ranges for nav processing
- Moved new fields internally (+ moved StepNo away from sight so it doesn't get missused).
- Generally tweaks/refactors.
2021-11-04 14:05:14 +01:00
GamingMinds-DanielC
cd1b5f7883
Clipper: enhanced ImGuiListClipper ( #3841 )
2021-11-04 13:56:37 +01:00
ocornut
b409df34db
Clipper: Fixed content height declaration slightly mismatching the one of when not using a clipper.
2021-11-03 17:00:40 +01:00
ocornut
14466a6d19
Nav: Page/Home/End doesn't immediately restore highlight (before results comes) + pressing Esc to exit a child window re-enable the Nav highlight if it was disabled by mouse.
...
Also fix a move request fail restoring highlight from not moving mouse cursor.
Add NavRestoreHighlightAfterMove() helper a little bit of extra sanity.
2021-11-02 17:04:35 +01:00
ocornut
978598b174
Nav: pressing PageUp/PageDown/Home/End when in Menu layer automatically moves back to Main layer. + fixed resizing window from borders setting navigation to Menu layer.
2021-11-02 17:04:34 +01:00
ocornut
d1eb7b5757
ScrollToItem: amend fully visible tests to take account of spacing used (fix nav in one axis scrolling back and forth between axises when space is tight by just < ItemSpacing*2) ( #3692 , #2812 , #4242 , #2900 )
...
Amend 8f495e55
2021-11-02 16:17:12 +01:00
ocornut
a67f7dce31
Nav: relative rectangle positions are now stored relative to CursorStartPos to be independent of scrolling. Will facilitate rework of clipper ( #3841 )
...
+ Extracted code into NavUpdateCreateWrappingRequest()
+ Fix for PVS in NavUpdate() assigning g.NavMousePosDirty twice.
2021-10-27 14:18:03 +02:00
ocornut
8d361c47fb
Nav: rework NavEnableSetMousePos application so scrolling is applied more consistently in NavCalcPreferredRefPos() + moved at end of NavUpdate() after the last SetScroll have been done.
2021-10-27 12:55:46 +02:00
ocornut
8361ed1f54
Nav: wrap abs<>rel rectangle conversions before we attempt to switch the reference point from window->Pos to window->DC.CursorStartPos. This commit should have no effect.
...
Current point makes rectangle invalid right after a scroll, for interactive actions it's rarely a problem but e.g. clipper will want to use g.NavID rect rel while scrolling. (#3841 )
2021-10-27 12:28:45 +02:00