ocornut
06e4f4e370
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_sdlrenderer.cpp
# backends/imgui_impl_sdlrenderer.h
# imgui.cpp
# imgui.h
2021-12-03 19:24:42 +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
1dc3af381a
Nav, Docking: reworked modal/ctrl+tab dimming system to be entirely processed at end of the frame, which will simplify things for an upcoming commit.
...
(Will backport some of this back to master now.)
2021-12-03 19:18:57 +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
c122c0ef89
Docking: Amend b16f738
fixed dimming of docked window + removed thin highlight around windows (never worked on docked window, not viewports friendly, hard to move to EndFrame) ( #2700 , #2539 , #2522 )
2021-12-03 16:15:06 +01:00
ocornut
b16f738d04
Docking: docked windows honor ImGuiCol_WindowBg. Host window in charge of rendering seams. ( #2700 , #2539 + Docked windows honor display their border properly. ( #2522 )
...
Plus: better support for transparent one in nodes
Side effects: DockContextBindNodeToWindow doesn't alter node->IsVisible.
Side effects: ImDrawList:: _ResetForNewFrame() needs to merge, sane (in case of
(Amended, force-pushed)
2021-12-03 14:46:34 +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
bf80204e63
Docking: internals: extracted rounding corner calculation into reusable CalcRoundingFlagsForRectInRect() function.
2021-12-02 20:22:03 +01:00
ocornut
8733ca49b0
Docking: Fixed single-frame node pos/size inconsistencies when window stop or start being submitted.
...
Fix 718e15c7d
while preserving its intended property. Tested by "docking_window_appearing_layout". (#2109 )
2021-12-02 18:46:42 +01:00
ocornut
6afcfe3442
Docking: Fixed incorrectly rounded tab bars for dock node that are not at the top of their dock tree.
2021-12-01 18:27:05 +01:00
ocornut
848d21b6b5
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_sdlrenderer.cpp
# backends/imgui_impl_sdlrenderer.h
# imgui.cpp
# imgui_widgets.cpp
2021-12-01 15:37:40 +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
1ab3007752
Viewports: Fixed CTRL+TAB highlight outline on docked windows not always fitting in host viewport + moved EndFrameDrawDimmedBackgrounds() call + removed duplicate code in Begin() already in EndFrameDrawDimmedBackgrounds()
2021-12-01 14:42:58 +01:00
Mikko Sivulainen
5f5ba8eb11
Docking: Fix typo (had no side effect) ( #4778 )
...
Co-authored-by: Mikko Sivulainen <mikko.sivulainen@supercell.com>
2021-12-01 11:10:37 +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
719d931304
Docking: Fixed a bug undocking windows docked into a non-visible or _KeepAliveOnly dockspace. ( #4757 )
2021-11-24 17:49:21 +01:00
ocornut
ea83d040e6
Viewports: fix missing default per-window value for ParentViewportId due to zero-cleared in-window instance ( #4756 )
...
Broken by 2080d12b
2021-11-24 16:47:13 +01:00
ocornut
7f38773b73
Fixed crash on right-click without modal, introduced by previous commit a3667f46
, ( #4729 )
2021-11-17 12:46:30 +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
b50b22d787
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:14:21 +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
2080d12bd9
Viewports: Made it possible to explicitly assign ImGuiWindowClass::ParentViewportId to 0. ( #3152 , #2871 )
2021-11-16 01:10:10 +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
dc8c3618e8
Merge branch 'master' into docking
...
# Conflicts:
# imgui_demo.cpp
2021-11-10 15:26:03 +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
b17dffffb3
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
2021-11-04 20:52:54 +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
c1d2793580
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
2021-11-04 15:26:01 +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
0b4edf4e94
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_vulkan.cpp
# imgui.cpp
2021-11-03 11:51:37 +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