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
ocornut
19c72cd52a
Nav: fixed absolute mouse position (with NavEnableSetMousePos config flag) when using Home/End leads to scrolling.
2021-10-27 12:28:35 +02:00
ocornut
c363b6df2b
Modals: fixed issue hovering popups inside a child inside a modal. Fixed IsWindowFocused()/IsWindowHovered() issues with childs inside popups. ( #4676 )( #4676 , #4527 )
...
Amend/fix 6b1e094f, fc4988ffb
(Sep 24)
2021-10-27 12:03:14 +02:00
ocornut
0f2898ea88
Demo: Tree selection demo use !IsItemToggledOpen() ( #1896 ) + update FAQ ( #4366 )
2021-10-25 18:38:56 +02:00
ocornut
9c78fc928a
Inputs: Mouse: Amend c8e3a01 for tracking multiple clicks, renaming. ( #3229 )
2021-10-25 14:30:20 +02:00
Chris Savoie
2318c764cf
Inputs: Mouse: Add support for tracking multiple clicks more than just double ( #3229 )
2021-10-25 14:30:17 +02:00
ocornut
e3bd9434b1
1.86 WIP + internals: tweaks table temp data code.
2021-10-14 16:58:14 +02:00
ocornut
55d35d8387
Version 1.85
2021-10-11 19:24:25 +02:00
ocornut
75c54e6384
Nav: Fixed vertical scoring offset when wrapping on Y in a decorated window.
2021-10-11 14:40:47 +02:00
ocornut
ba5c105c01
Menus: Fixed an assertion happening in some situations when closing nested menus (broken in 1.83). ( #4640 )
...
Broken since 936f5322
Weirdly chain-reaction caused by the fact following #4640 repro, the SourceWindow assignment in OpenPopupEx() picks Menu_04 before its closure. Value of SourceWindow since bda2cde6
#2517
2021-10-11 11:48:39 +02:00
ocornut
44f801186f
SetItemDefaultFocus() use ScrollToRectEx(), don't tab when Alt is held either, TabItemEx() uses ItemAdd's extra_flags, misc comments.
2021-10-08 15:24:54 +02:00
ocornut
31d033c9d8
Nav: refactor SetKeyboardFocusHere() into using Nav facility. Fix it for clipped items. ( #343 , #4079 , #2352 , #432 )
...
+ Removed references to counter used by previous implementation of SetKeyboardFocus functions (the TabStop ones will be removed after)
2021-10-06 18:42:11 +02:00
ocornut
fbe78b1a3a
Stack Tool: Docs ( #4631 ) + also prevent Metrics window from displaying twice.
2021-10-06 18:22:40 +02:00
ocornut
2de96c4bd5
Stack Tool: Added Stack Tool (ShowStackToolWindow() function and available from Demo and Metrics window). ( #4631 )
2021-10-06 17:47:27 +02:00
ocornut
164a86d3b0
Moved !IsActiveIdUsingKey(ImGuiKey_Tab) check to UpdateTabFocus(). Added asserts to IsItemHovered() and IsWindowHovered().
2021-10-05 22:06:12 +02:00
ocornut
8f495e5543
Internal: added ScrollToItem() upcoming replacement to ScrollToBringRectIntoView() + ImGuiScrollFlags (WIP) ( #3692 , #3208 , #2812 , #4242 , #2900 )
2021-09-29 17:13:45 +02:00
ocornut
fc4988ffb0
Added ImGuiFocusedFlags_NoPopupHierarchy and ImGuiHoveredFlags_NoPopupHierarchy (followup #4527 )
2021-09-24 15:39:38 +02:00
ocornut
24a77824f2
Added ClosePopupsExceptModals() helper, unused for now (aimed at user being able to close popups on app focus loss, not necessarily a suitable default)
2021-09-22 15:50:40 +02:00
ocornut
bbb95a5e06
IO: modify io.AddFocusEvent() to tolerate in/out for multi-viewports. Amend 2f40be6
. (merged from docking) ( #3532 )
2021-09-22 15:47:53 +02:00
ocornut
15132217a3
Nav: Fixed an issue with losing focus on docked windows when pressing Alt while keyboard navigation is disabled. ( #4547 , #4439 )
2021-09-21 14:17:49 +02:00
ocornut
2cffcbdc64
InputText: fix Space key with nav enabled interfering with input text boxes (fix bd6c9e99
). made it possible to activate InputText with tweak gamepad button (why not, now that we can cancel) ( #4552 , #2321 )
2021-09-17 16:30:32 +02:00
ocornut
3973de7933
Internals: removed last parameter to IsClippedEx() + fix PVS studio warnings.
2021-09-16 18:07:17 +02:00
ocornut
2d0a6a4969
Misc: moved StacSizeOnBegin out of window instance into window stack data.
2021-09-15 15:36:03 +02:00
ocornut
66cd21db88
Misc: extracted ErrorCheckEndWindowRecover() out of ErrorCheckEndFrameRecover(). ( #1651 )
2021-09-15 15:26:29 +02:00
ocornut
d366694062
Disabled: Added assert guard for mismatching BeginDisabled()/EndDisabled() blocks. ( #211 ) + Added asserts for missing PopItemFlag() calls. Added both to ErrorCheckEndFrameRecover ( #1651 )
2021-09-15 15:26:29 +02:00
ocornut
321b84f01f
Internals: refactored IsWindowHovered()/IsWindowFocused() to make their logic more similar + change underlying value of ImGuiHoveredFlags_AllowWhenBlockedByPopup + comment out docking only flags.
2021-09-08 16:44:53 +02:00
ocornut
d9b427cce0
Nav: clarified/renamed NavInputId as NavAcivateInputId, added flags shared by both.
...
(this commit should have no visible side effect but is designed to introduce the followup commit refactoring SetKeyboardFocusHere into using a Nav request)
2021-09-07 18:10:31 +02:00
ocornut
607ad8c949
Drag and Drop: Fixed using BeginDragDropSource() within a Begin()/BeginChild() that returned false. ( #4515 ) + BeginDragDropTarget()
...
Note how 79ae6d3b
adedd a SkipItems test in BeginDragDropTargetCustom() only.
Catching this similar to work needed to neatly represent the error in #4375 #4158 , #4008 , #2562
2021-09-06 20:59:16 +02:00
ocornut
ade4c15eea
Nav: Tidying up, renaming + update AnyRequest flag in NavMoveRequestSubmit().
2021-09-03 16:35:41 +02:00
ocornut
5ee40c8d34
Nav: always disable highlight if nav is disabled, fix for IMGUI_DEBUG_NAV_SCORING, minor renaming.
2021-09-02 12:05:32 +02:00
ocornut
dff15acdb5
Nav: Fixed toggling menu layer with Alt exiting menu layer with Esc not moving mouse when NavEnableSetMousePos config flag is set.
2021-09-01 16:05:03 +02:00
ocornut
3d9d3b49ae
Internals: folded ImGuiItemAddFlags into ImGuiItemFlags. ImGuiItemAddFlags_Focusable > ImGuiItemFlags_Inputable. One step in the big nav/tab/focus rework.
...
Bonus simplified Selectable() handling of its custom disabled flag. (#211 )
2021-09-01 14:46:08 +02:00
ocornut
73a5e82e04
Nav: removed parameters from NavScoreItem(), NavProcessItem(), NavApplyItemToResult(): made little sense / misleading because pulling from other current state anyway.
...
Will readd in a more thorough manner is actually needed.
2021-09-01 14:13:40 +02:00
ocornut
a735a8c084
Nav: storing NavRect in LastItemData. Fix race condition where framed items (Rect != NavRect) calling SetFocusID() would store the wrong NavRectRel until next frame
...
(haven't dugged in the possible side-effects of that race condition)
2021-09-01 12:12:51 +02:00
ocornut
ee351d3548
Nav: move code into NavMoveRequestSubmit(). NavApplyItemToResult() takes absolute rect., comments
2021-09-01 12:06:15 +02:00
ocornut
7b913db1ce
Nav: split NavMoveRequest into NavMoveSubmitted + NavMoveScoringItems to allow operation to defer a move request and provide result immediately + fix regular scoring needlesly running during init + some renaming.
2021-08-31 18:19:52 +02:00
ocornut
4aea1c5adb
IO: added io.WantCaptureMouseAllowPopupClose ( #4480 ) + comments
2021-08-30 19:11:47 +02:00
ocornut
66102880a3
Updated links to Discussions
2021-08-30 17:06:51 +02:00
ocornut
333807b483
Windows: fixed background order of overlapping childs submitted sequentially. ( #4493 )
...
Amend 07704496
2021-08-30 13:08:41 +02:00
ocornut
bb6a60b1ff
Nav: extracted sections of NavUpdate() into a NavUpdateCreateMoveRequest() function. Only clearing results when a request is activated.
2021-08-27 21:10:16 +02:00
ocornut
ccfb20095e
Nav: small refactor of forwarding, clarified that MoveDir only set when RequestActive, removed one indent level in NavUpdatePageUpPageDown().
2021-08-27 20:48:01 +02:00
ocornut
20a1edef89
Nav: made EndMenuBar() use NavMoveRequestForward() for consistency. Moved forward clearing to NavMoveRequestApplyResult(). Improved/fixed comments.
2021-08-27 17:21:10 +02:00
ocornut
84890a3074
Nav: simplify wrap requests code (may soon be useable for tabbing)
2021-08-27 12:31:11 +02:00
ocornut
4c31c98d22
Nav: extracted code out of NavUpdate() into NavUpdateCancelRequest()
2021-08-27 12:30:55 +02:00
ocornut
e23bee353c
Removed GetWindowContentRegionWidth() function
2021-08-23 16:15:16 +02:00
ocornut
0649f750b4
Version 1.85 WIP
2021-08-23 15:31:06 +02:00
ocornut
d79ca9b0b6
Fixed nested BeginDisabled()/EndDisabled() calls. ( #211 , #4452 , #4453 , #4462 ) [Legulysse]
2021-08-23 14:57:54 +02:00
ocornut
32d4f6c5d9
Fix BeginDisabled(false), again, ( #211 , #4452 , #4453 ) Version 1.84.1
...
(forced pushed since our earlier versioning didn't sort correctly in github web)
2021-08-20 23:59:46 +02:00
ocornut
f969e68c10
Fix BeginDisabled(false), ( #211 , #4452 )
2021-08-20 20:30:51 +02:00
ocornut
d2ffbd9b86
Version 1.84
...
Fix PVS Studio false positive //-V1020
Fix missing #ifndef for IMGUI_IMPL_OPENGL_LOADER_CUSTOM path
2021-08-20 18:03:55 +02:00
ocornut
df2319a854
Small optimizations to BeginDisabled() to allow frequent calls ( #211 )
...
Not intended for frequent calls but I suspect some people will do it either way...
Rough/indicative: measured 0.1 ms for 5000 calls in release, 0.5 ms in debug on my desktop windows.
2021-08-20 17:19:18 +02:00
ocornut
c543d93af1
Expose BeginDisabled()/EndDisabled() in public API. Add to demo. ( #211 )
2021-08-20 16:34:43 +02:00
ocornut
7bbf8f2ab0
Drag and Drop: fix using AcceptDragDropPayload() with ImGuiDragDropFlags_AcceptNoPreviewTooltip.
...
Window was not properly hidden in that case.
2021-08-18 15:40:22 +02:00
ocornut
cd39460925
IO: set io.KeyModsPrev in EndFrame() to tolerate backend writing to io.KeyMods without breaking. ( #4439 )
...
Amend ff428f1
2021-08-17 20:33:27 +02:00
thedmd
2f40be638f
IO, Backends: add io.AddFocusEvent(). Clear pressed keys after loosing input focus ( #3532 )
...
Amend/fix #2445 , #2696 , #3751 , #4377
2021-08-17 20:10:45 +02:00
Rokas Kupstys
86afe966d3
Metrics: Fixed a crash when inspecting the individual draw command of a foreground drawlist.
2021-08-17 16:23:26 +02:00
ocornut
ff428f1d2f
Nav: Fix not clearing NavWindowingToggleLayer properly (old code left it to true, relied on Alt release only). Removed unnecessary KeyMenu_ from NavInput. ( #4439 , #787 )
2021-08-17 12:54:51 +02:00
ocornut
8fa502ca42
Nav: Alt doesn't toggle menu layer if other modifiers are held. ( #4439 )
2021-08-17 12:23:54 +02:00
ocornut
b846969fe1
Removed unnecessary line in Begin() + commented out redirecting functions/enums names that were marked obsolete in 1.67 and 1.69 + readded commented obsoleted function.
2021-07-26 12:22:48 +02:00
Rokas Kupstys
3e4c89051d
Popups: Fix OpenPopup() being called after BeginPopup() resulting in a failure to open a popup when focus is NULL. ( #4308 )
...
Story of removed line begins in commit b80cf0a. It's purpose was to close popups when they lost focus.
Later on few other changes were introduced:
* bcc49ff - closing popups with RMB without changing window focus
* af679a1 - closing popups in FocusWindow()
These two changes covered all the cases of popup closing which made deleted line obsolete. Conveniently, now all popup closing is handled from within UpdateMouseMovingWindowEndFrame() either by calling FocusWindow() or ClosePopupsOverWindow().
2021-07-26 11:43:39 +02:00
ocornut
c881667c00
Fix - amend 1ad1530
(range-select branch need the NextItemData in NavProcessItem)
2021-07-19 21:45:44 +02:00
ocornut
90bf996e1a
Internals: widgets always read back from g.LastItemData.InFlags (so we can now modify per-item disable state more easily). ( #211 )
2021-07-19 21:26:34 +02:00
ocornut
6b8a059fc9
Internals: moved LastItem data to a shared structure (instead of one per window)
...
(should be a no-op as we are restoring things in Begin/End. Toward faciliate backup/restore of LastItemData and favor pulling from here instead of CurrentItemFlags, toward #211 )
2021-07-19 21:25:47 +02:00
ocornut
1ad153056a
Internals: ItemAdd: set LastItemXXX fields before navigation calls + comments about io.IniFilename ( #4294 )
2021-07-19 21:24:15 +02:00
ocornut
fb4bbeb033
Disabled: fixed IsItemHovered() if popped disabled state after item, or when using Selectable_Disabled. ( #211 )
2021-07-12 15:43:17 +02:00
ocornut
246ad6c03c
Disabled: items more consistently release active id if the active item got disabled. ( #211 ) (amend 2952525
)
2021-07-12 15:39:47 +02:00
ocornut
638e1a721b
Disabled: fixed IsItemHovered() returning true on disabled item when navigated to. ( #211 )
2021-07-12 15:01:02 +02:00
Rokas Kupstys
5dd1e38b7a
Disabled: disabled items set HoveredId, allowing e.g. HoveredIdTimer to function. ( #211 , #3419 ) + Menus: fix hovering a disabled menu or menu item not closing other menus.
...
Rework of https://github.com/rokups/imgui/commit/c24b470
Note that the declared intent of that commit "Prevents window from being dragged if mouse hovers a disabled item." was already fullfilled by a876ad87
.
Changes in ButtonBehavior() not needed anymore since ImGuiButtonFlags_Disabled is gone
2021-07-09 19:54:46 +02:00
ocornut
4a100f7f11
Nav: Disabled items are not candidate for default focus. ( #211 , #787 ) + simplify handling of ImGuiButtonFlags_PressedOnDragDropHold path.
2021-07-09 18:57:23 +02:00
ocornut
cc40ae2101
PushDisabled(): added bool + clarify support for stacked disabled ( #211 )
2021-07-08 19:21:59 +02:00
ocornut
30d164eb26
Backends: Win32: IME functions are disabled by default for non-Visual Studio compilers (MinGW etc.) ( #2590 , #738 , #4185 , #4301 )
...
Enable with '#define IMGUI_ENABLE_WIN32_DEFAULT_IME_FUNCTIONS' for those compilers. Undo change from 1.82.
2021-07-08 14:23:31 +02:00
ocornut
3512f2c2c2
Internals: Menus: minor tidying up + renaming in ImGuiMenuColumns + removing extraneous offset field which is always zero + using smaller types.
...
sizeof() 36 -> 20
2021-07-07 20:16:55 +02:00
ocornut
4ddb6b46c3
Drag and Drop: drop target highlight doesn't try to bypass host clipping rectangle. ( #4281 , #3272 )
...
Revert 4b94738c
2021-06-30 16:12:52 +02:00
ocornut
b5a2bd1a5b
Backends: amends to 1db1066 + merge minor bits from docking incl SetActiveIdUsingNavAndKeys().
...
No need to clear fields before deletion. DX12: renamed to match docking branch.
2021-06-29 15:25:19 +02:00
ocornut
0aeb978e61
Comments + adding spacing in headers because VS IDE parser display blocks so badly. Add helper in internal's ImGuiInputTextState. ( #4275 )
2021-06-28 11:58:37 +02:00
ocornut
95db098477
ImFontAtlas: move implicit AddFontDefault call to Build() function + remove unnecessary asserts in backend.
2021-06-25 17:27:17 +02:00
ocornut
38165f420f
Fonts: Prefer using U+FFFD character for fallback instead of '?'. Use U+FF0E dot character to construct an ellipsis if U+002E '.' is not available. ( #4269 )
2021-06-25 15:44:14 +02:00
ocornut
1965f38e9e
ImGuiWindowFlags_UnsavedDocument/ImGuiTabItmeFlags_UnsavedDocument display a dot instead of a '*'.
2021-06-24 14:30:32 +02:00
ocornut
f0c4d609a6
Default window focus scope not 0. Added ImGuiSelectableFlags_SelectOnNav with comments and caveats. ( #1861 , #4242,)
...
Focus scope default value: amend 7ee623d9
a5041c88
2ebe08be
2021-06-21 17:47:45 +02:00
ocornut
d0c6dd9baf
ImVector: added clear_delete(), clear_destruct() helpers.
2021-06-09 16:57:47 +02:00
ocornut
61f4aec868
Added PushDisabled(), PopDisabled() currently only exposed in imgui_internal.h ( #211 )
2021-06-09 15:28:59 +02:00
ocornut
94b680e830
Internals: fixed ImPool:: iteration, rename GetBufSize to GetMapSize. Amend c6c82b9f
2021-06-04 17:27:20 +02:00
ocornut
c6c82b9f1d
Internals: fixed iterating ImPool, fix after use of TableRemove() (was only used by TestEngine)
...
Merge metrics bits from 646c87359
2021-06-03 18:36:43 +02:00
ocornut
5b4bc985ad
Nav, Combo: removed unnecessary window->LastNavIds[] assignment in combo code. + minor renaming.
2021-05-28 17:27:52 +02:00
ocornut
c2bf4abfa1
Internals: Added ImTextCharToUtf8() helper. Added "out_" markers in more UTF-8 functions. Metrics: Fonts: Fixed display of EllipsisChar by feeding proper utf-8.
2021-05-25 13:37:27 +02:00
ocornut
3a941f95e9
Metrics, Demo: moved font details display to metrics code. ( #4171 )
2021-05-25 13:37:27 +02:00
ocornut
e31d13fa76
Version 1.84 WIP
2021-05-25 13:36:53 +02:00
ocornut
ad5d1a8429
Version 1.83
2021-05-24 17:39:25 +02:00
ocornut
88a24fb896
Fix build with IMGUI_DISABLE_DEMO_WINDOWS
2021-05-24 15:42:26 +02:00
ocornut
029c83c73e
Combos: Changed the combo popup to use a different id to also using a context menu with the default item id. ( #4167 )
2021-05-24 15:09:39 +02:00
ocornut
c708299ca9
Docs: Improvements to description of using colored glyphes/emojis. ( #4169 , #3369 ) + Add Fonts to Metrics. Removed IMGUI_HAS_TABLE markers.
2021-05-24 13:07:26 +02:00
ocornut
b474bff6c6
Nav: Fixed single frame CTRL+Tab from properly enabling the menu layer of target window if it doesn't have other active layers.
2021-05-21 18:39:17 +02:00
thedmd
3c72e5142b
Backends: Replace direct access to TextureId with GetTexID() call in ImDrawCmd. ( #3761 )
2021-05-19 18:39:18 +02:00
ocornut
41030cbfe2
Tweak computation of io.Framerate so it is less biased toward high-values in the first 120 frames. ( #4138 )
2021-05-16 20:37:38 +02:00
ocornut
4ce6bd8cff
Tables: sharing splitter and sort buffers between tables, reducing memory footprints. ( #3740 )
...
+ GC pass on that data.
2021-05-07 20:49:52 +02:00
ocornut
32c453ae53
Tables: sharing transient buffers between tables, reducing memory footprints. ( #3740 )
2021-05-07 20:49:52 +02:00
ocornut
393941ceea
Refactor focusable/tabbalbe item registration toward allowing to handle it prior to clipping (not yet the case) ( #343 , #4079 )
...
Now performed in ItemAdd(). It can't be trivially moved above clipping effectively because it would require us to scroll to be useful, meaning we'd be better off locking the bounding box a frame earlier. Still wip.
As-is this commit has no value for end-user, but it's a reengineering that moves us closer to the solution. + Internals: moved internal flags.
2021-04-30 22:40:02 +02:00