ocornut
b17dffffb3
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
3 years ago
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
3 years ago
ocornut
c1d2793580
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
3 years ago
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.
3 years ago
ocornut
0b4edf4e94
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_vulkan.cpp
# imgui.cpp
3 years ago
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.
3 years ago
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 )
3 years ago
ocornut
9b59455184
Merge branch 'master' into docking
...
# Conflicts:
# imgui.h
3 years ago
ocornut
e3bd9434b1
1.86 WIP + internals: tweaks table temp data code.
3 years ago
Rokas Kupstys
be03b8ff93
Misc: Fix build with MinGW when using IMGUI_API.
3 years ago
ocornut
1b215ecb01
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# imgui.cpp
3 years ago
ocornut
55d35d8387
Version 1.85
3 years ago
ocornut
44f801186f
SetItemDefaultFocus() use ScrollToRectEx(), don't tab when Alt is held either, TabItemEx() uses ItemAdd's extra_flags, misc comments.
3 years ago
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)
3 years ago
ocornut
1780579403
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
3 years ago
ocornut
2de96c4bd5
Stack Tool: Added Stack Tool (ShowStackToolWindow() function and available from Demo and Metrics window). ( #4631 )
3 years ago
ocornut
8f495e5543
Internal: added ScrollToItem() upcoming replacement to ScrollToBringRectIntoView() + ImGuiScrollFlags (WIP) ( #3692 , #3208 , #2812 , #4242 , #2900 )
3 years ago
ocornut
835a5344b0
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_win32.cpp
# imgui.cpp
# imgui.h
# imgui_demo.cpp
# imgui_internal.h
3 years ago
ocornut
65ad63de84
Added ImGuiFocusedFlags_NoPopupHierarchy and ImGuiHoveredFlags_NoPopupHierarchy (followup #4527 )
...
IsWindowFocused: fix flag usage (amend 6b1e094c
) was technically harmless because of light typing.
3 years ago
ocornut
fc4988ffb0
Added ImGuiFocusedFlags_NoPopupHierarchy and ImGuiHoveredFlags_NoPopupHierarchy (followup #4527 )
3 years ago
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)
3 years ago
Rokas Kupstys
30546bc0e7
ColorEdit: Fix multiple issues. ( #4014 )
...
* Change g.ColorEditLastColor type to ImU32 and store RGB color value.
- Fixes inability to change hue when saturation is 0. (#4014 )
- Fixes edgecases where lossy color conversion prevent restoration of hue/saturation.
- Fixes hue value jitter when modifying color using SV square.
* Fix hue resetting to 0 when it is set to 255 by explicitly restoring hue if it is 0 and previous value was 1.
* Further reduce hue jitter by restoring hue when color is modified using SV square.
3 years ago
ocornut
3973de7933
Internals: removed last parameter to IsClippedEx() + fix PVS studio warnings.
3 years ago
ocornut
2d0a6a4969
Misc: moved StacSizeOnBegin out of window instance into window stack data.
3 years ago
ocornut
66cd21db88
Misc: extracted ErrorCheckEndWindowRecover() out of ErrorCheckEndFrameRecover(). ( #1651 )
3 years ago
ocornut
d366694062
Disabled: Added assert guard for mismatching BeginDisabled()/EndDisabled() blocks. ( #211 ) + Added asserts for missing PopItemFlag() calls. Added both to ErrorCheckEndFrameRecover ( #1651 )
3 years ago
ocornut
e7cc534367
Docking: Improved resizing system so that non-central zone are better at keeping their fixed size.
3 years ago
ocornut
29828d0469
Docking: floating node with a central node hides properly when nothing is docked + rename.
3 years ago
ocornut
6b1e094cfb
Fixed _ChildWindows from leaking docking hierarchy. Added ImGuiFocusedFlags_DockHierarchy and ImGuiHoveredFlags_DockHierarchy.
3 years ago
ocornut
fa9fc05ac6
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
3 years ago
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)
3 years ago
ocornut
ade4c15eea
Nav: Tidying up, renaming + update AnyRequest flag in NavMoveRequestSubmit().
3 years ago
ocornut
5ee40c8d34
Nav: always disable highlight if nav is disabled, fix for IMGUI_DEBUG_NAV_SCORING, minor renaming.
3 years ago
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 )
3 years ago
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.
3 years ago
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)
3 years ago
ocornut
ee351d3548
Nav: move code into NavMoveRequestSubmit(). NavApplyItemToResult() takes absolute rect., comments
3 years ago
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.
3 years ago
ocornut
dedb381c51
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_opengl3.cpp
# examples/imgui_examples.sln
# imgui.cpp
# imgui.h
3 years ago
ocornut
7c4ffe490d
Menus: added internal's BeginMenuEx() matching MenuItemEx() with icon parameter. (amend f8fae022
)
3 years ago
ocornut
ccfb20095e
Nav: small refactor of forwarding, clarified that MoveDir only set when RequestActive, removed one indent level in NavUpdatePageUpPageDown().
3 years ago
ocornut
4351febe9f
Nav: moved enums/struct declarations in imgui_internal.h
3 years ago
ocornut
20a1edef89
Nav: made EndMenuBar() use NavMoveRequestForward() for consistency. Moved forward clearing to NavMoveRequestApplyResult(). Improved/fixed comments.
3 years ago
ocornut
84890a3074
Nav: simplify wrap requests code (may soon be useable for tabbing)
3 years ago
ocornut
51d841dcf3
Fix warnings and remove IM_RETURN ( #4470 )
...
Amend f24abbc4
3 years ago
ocornut
0649f750b4
Version 1.85 WIP
3 years ago
ocornut
5a7d18a441
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
3 years ago
ocornut
d2ffbd9b86
Version 1.84
...
Fix PVS Studio false positive //-V1020
Fix missing #ifndef for IMGUI_IMPL_OPENGL_LOADER_CUSTOM path
3 years ago
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.
3 years ago
ocornut
c543d93af1
Expose BeginDisabled()/EndDisabled() in public API. Add to demo. ( #211 )
3 years ago
ocornut
0b06c4b2b0
Merge branch 'master' into docking (will need further for io.AddFocusEvent)
...
# Conflicts:
# backends/imgui_impl_glfw.cpp
# backends/imgui_impl_opengl3.cpp
# backends/imgui_impl_sdl.cpp
# backends/imgui_impl_win32.cpp
# imgui.cpp
3 years ago
ocornut
f24abbc47d
Fix various warnings ( #4442 )
3 years ago
ocornut
f9b5168fb3
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_glfw.cpp
# backends/imgui_impl_sdl.cpp
# backends/imgui_impl_win32.cpp
# imgui.cpp
3 years ago
ocornut
3d4d1b8553
Allow imgui_internal.h to be included before imgui.h
...
(practically speaking it allows me to use StructLayout without hassle)
4 years ago
ocornut
e362c5af48
Internals: ColorEdit: renamed some internal masks to match our common coding style.
...
ImGuiColorEditFlags__DisplayMask > ImGuiColorEditFlags_DisplayMask_, ImGuiColorEditFlags__OptionsDefault > ImGuiColorEditFlags_DefaultOptions_, ImGuiColorEditFlags__DataTypeMask > ImGuiColorEditFlags_DataTypeMask_ etc.
4 years ago
ocornut
7bfc379a23
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui_internal.h
4 years ago
ocornut
90bf996e1a
Internals: widgets always read back from g.LastItemData.InFlags (so we can now modify per-item disable state more easily). ( #211 )
4 years ago
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 )
4 years ago
David Maas
3d5dc0d939
Added missing IMGUI_API to GetViewportPlatformMonitor. ( #4309 )
4 years ago
ocornut
fb4bbeb033
Disabled: fixed IsItemHovered() if popped disabled state after item, or when using Selectable_Disabled. ( #211 )
4 years ago
ocornut
a11f36811f
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_dx10.cpp
# backends/imgui_impl_dx11.cpp
# backends/imgui_impl_dx12.cpp
# backends/imgui_impl_dx9.cpp
# backends/imgui_impl_glfw.cpp
# backends/imgui_impl_opengl3.cpp
# backends/imgui_impl_sdl.cpp
# backends/imgui_impl_vulkan.cpp
# backends/imgui_impl_win32.cpp
# imgui.cpp
# imgui_internal.h
4 years ago
ocornut
ba1c8464ef
Internals: Removed ImGuiButtonFlags_Disabled (which had inconsistent behavior) in favor of ImGuiItemFlags_Disabled. Selectable()'s ImGuiSelectableFlags_Disabled now uses the later. ( #211 )
4 years ago
ocornut
cc40ae2101
PushDisabled(): added bool + clarify support for stacked disabled ( #211 )
4 years ago
ocornut
f8fae02270
Menus: rework to allow for an icon column (not yet exposed, but usable via internals) + fix menus being affected by style.SelectableTextAlign ( #126 )
4 years ago
ocornut
696d3e056e
Internals: Menus: Naming offset field + fix spacing/offset computation to handle more offsets.
4 years ago
ocornut
3512f2c2c2
Internals: Menus: minor tidying up + renaming in ImGuiMenuColumns + removing extraneous offset field which is always zero + using smaller types.
...
sizeof() 36 -> 20
4 years ago
ocornut
9e8e5ac363
Docking: Added ImGuiDockNodeFlags_NoDockingOverEmpty. Breaking definition of ImGuiDockNodeFlags_NoDockingOverOther which now means "non empty node". ( #3492 , #2648 , #4292 )
4 years ago
ocornut
6136b3844b
Docking: Reworked node flags saving/inheritance... ( #4292 , #3834 , #3633 , #3521 , #3492 , #3335 , #2999 , #2648 )
...
..so that flags enforced by docked windows via the DockNodeFlagsOverrideSet mechanism are are not left in empty dockspace nodes once the windows gets undocked.
4 years ago
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.
4 years ago
ocornut
682447306d
Merge branch 'features/backends_context' into docking
...
# Conflicts:
# backends/imgui_impl_dx10.cpp
# backends/imgui_impl_dx11.cpp
# backends/imgui_impl_dx12.cpp
# backends/imgui_impl_dx9.cpp
# backends/imgui_impl_glfw.cpp
# backends/imgui_impl_opengl2.cpp
# backends/imgui_impl_opengl3.cpp
# backends/imgui_impl_sdl.cpp
# backends/imgui_impl_vulkan.cpp
# backends/imgui_impl_win32.cpp
# examples/example_apple_opengl2/main.mm
4 years ago
ocornut
0aeb978e61
Comments + adding spacing in headers because VS IDE parser display blocks so badly. Add helper in internal's ImGuiInputTextState. ( #4275 )
4 years ago
ocornut
ac35b4bba2
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_opengl3.cpp
# imgui.cpp
# imgui.h
# imgui_demo.cpp
4 years ago
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
4 years ago
ocornut
98876b4dc2
Added IMGUI_DISABLE_SSE ( #4250 , #4091 )
4 years ago
ocornut
7c44d067e8
Tables: Fix invalid data in TableGetSortSpecs() when SpecsDirty flag is unset. ( #4233 )
...
Amend 4ce6bd8cf
, but with usage of ImPool<> bug existed even before 4ce6bd8c
. Would only materialize if user called (ableGetSortSpecs and used data without checking SpecsDirty.
4 years ago
ocornut
dc676236f0
Minor optimization, removing do/while(0) patterns in some cases as they translate to runtime
...
(e.g. translate to xor + test + jne in VS x84, unnecessary)
4 years ago
ocornut
0cca0d1617
Internals/experimental: BeginComboPreview(), EndComboPreview(). ( #4168 , #1658 )
...
(amended)
4 years ago
ocornut
db0338a1f2
Nav, Drag and Drop, Docking: fixed two issues leading nav result to conflict with moving a window. ( #4211 , #3025 )
4 years ago
ocornut
865b2ca6f9
Added PushDisabled(), PopDisabled() currently only exposed in imgui_internal.h ( #211 )
4 years ago
ocornut
61f4aec868
Added PushDisabled(), PopDisabled() currently only exposed in imgui_internal.h ( #211 )
4 years ago
ocornut
a44d4da87c
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_win32.cpp
4 years ago
ocornut
6ee398ac2b
Tables: Added ImGuiTableColumnFlags_Disabled acting a master disable over (hidden from user/context menu). ( #3935 , #3740 )
4 years ago
ocornut
2887a6e07d
Tables: made TableUpdateBorders() use IsVisibleX flag. comments.
4 years ago
ocornut
16abfa5eb6
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui_internal.h
# imgui_widgets.cpp
4 years ago
ocornut
94b680e830
Internals: fixed ImPool:: iteration, rename GetBufSize to GetMapSize. Amend c6c82b9f
4 years ago
ocornut
c6c82b9f1d
Internals: fixed iterating ImPool, fix after use of TableRemove() (was only used by TestEngine)
...
Merge metrics bits from 646c87359
4 years ago
ocornut
91704b773e
Docking: Fix IsWindowAppearing() and ImGuiCond_Appearing on docked windows. ( #4177 , #3982 , #1497 , #1061 )
4 years ago
ocornut
060b6ee7d1
Internals: Combo: Extracted into a BeginComboPopup() function. ( #4168 )
...
Renamed frame_bb > bb locally.
4 years ago
ocornut
5b4bc985ad
Nav, Combo: removed unnecessary window->LastNavIds[] assignment in combo code. + minor renaming.
4 years ago
ocornut
79e18896fe
TabBar: Fixed using more than 32 KB-worth of tab names. ( #4176 )
4 years ago
ocornut
1ad1429c6d
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_opengl3.cpp
# docs/CHANGELOG.txt
4 years ago
ocornut
04fd5072fb
Fix warnings with VS2019 in C++20 mode ( #4173 )
4 years ago
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.
4 years ago
ocornut
3a941f95e9
Metrics, Demo: moved font details display to metrics code. ( #4171 )
4 years ago
ocornut
e31d13fa76
Version 1.84 WIP
4 years ago
ocornut
1b435ae3e0
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
4 years ago
ocornut
ad5d1a8429
Version 1.83
4 years ago
ocornut
c708299ca9
Docs: Improvements to description of using colored glyphes/emojis. ( #4169 , #3369 ) + Add Fonts to Metrics. Removed IMGUI_HAS_TABLE markers.
4 years ago
ocornut
86c2b609ef
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_dx10.cpp
# backends/imgui_impl_dx11.cpp
# backends/imgui_impl_dx12.cpp
# backends/imgui_impl_dx9.cpp
# backends/imgui_impl_glfw.cpp
# backends/imgui_impl_opengl2.cpp
# backends/imgui_impl_opengl3.cpp
# imgui.cpp
4 years ago
ocornut
26a1bbfe1e
InputText: Fixed CTRL+Arrow or OSX double-click leaking the presence of spaces when ImGuiInputTextFlags_Password is used. ( #4155 , #4156 ) [@michael-swan]
4 years ago