ocornut
4078abe14c
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_opengl3.cpp
# backends/imgui_impl_sdl2.cpp
# backends/imgui_impl_sdl3.cpp
# imgui.cpp
# imgui.h
2023-03-06 17:03:55 +01:00
ocornut
702626dd8a
Docking: storing window menu handler in a function pointer to allow customizing menu (undocumented)
2023-03-06 16:59:57 +01:00
ocornut
bfce7750b1
Simpified code in GetKeyData() and used ImGuiKey_KeysData_OFFSET for consistency. Rework demo, Comments. Moved ImGuiKey_KeysData_OFFSET to internal.h ( #4921 , #6191 )
2023-02-24 13:05:32 +01:00
ocornut
e9743d85dd
Drag and Drop: Clear state on EndDragDropTarget() with delivery + fixed handling of overlapping targets when smaller one is submitted before and can accept the same data type. ( #6183 , #5817 )
2023-02-21 21:23:54 +01:00
Giuseppe Barbieri
2ee77aa6be
Missing closing parenthesis in debug popup log ( #6177 )
2023-02-20 14:43:40 +01:00
ocornut
a1b8457cb5
Moved the optional "courtesy maths operators" (#define IMGUI_DEFINE_MATH_OPERATORS) implementation from imgui_internal.h in imgui.h. ( #6164 , #6137 , #5966 , #2832 )
2023-02-15 19:23:12 +01:00
ocornut
e25e4526cd
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_win32.cpp
# docs/CHANGELOG.txt
2023-02-15 18:18:47 +01:00
ocornut
204cb4d226
Version 1.89.4 WIP
2023-02-15 15:35:56 +01:00
ocornut
192196711a
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
2023-02-14 16:01:11 +01:00
ocornut
458a109031
Version 1.89.3
2023-02-14 16:00:18 +01:00
ocornut
345184330b
Internals: Settings: amend ClearWindowSettings() for Docking.
2023-02-10 18:28:45 +01:00
ocornut
ea4565368e
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_sdl2.cpp
# backends/imgui_impl_sdl2.h
# backends/imgui_impl_sdl3.cpp
# backends/imgui_impl_sdl3.h
# imgui.cpp
2023-02-10 17:05:06 +01:00
ocornut
f0ac68ad35
Internal: Settings: amend 0b86513
revert to use FindWindowSettingsByID().
...
Namely for docking system.
2023-02-10 17:01:14 +01:00
ocornut
082b20e46b
Internals: Settings: added ClearWindowSettings(). Extract part of CreateNewWindow() into InitOrLoadWindowSettings().
...
Designed to that if the window reappear in the session it won't take an additional slot.
2023-02-10 16:46:31 +01:00
ocornut
b2ebd03b16
Internals: Settings: moved Windows setting to their sub-section.
2023-02-10 16:06:39 +01:00
ocornut
0b865136e3
Internals: Settings: Added FindWindowSettingsByName() (replacing old version by ID) FindWindowSettingsByWindow() + remove unnecessary FindOrCreateWindowSettings().
...
In 1 code path we do a redundant hash but this happens only once per window per session so we are ok.
2023-02-10 16:06:29 +01:00
ocornut
99c0bd65df
Added SeparatorText() widget. ( #1643 )
2023-02-10 12:16:41 +01:00
ocornut
fac19e1883
Backends: SDL2:+SDL3 Implement SetPlatformImeDataFn (amends). ( #6071 , #1953 ) + fix SDL3 setting PlatformHandleRaw. ( #6146 )
2023-02-07 19:29:44 +01:00
ocornut
e4233c6fb6
Merge branch 'master' into docking (doesn't include viewports-related changes for new SDL3 backend)
...
# Conflicts:
# backends/imgui_impl_dx10.cpp
# backends/imgui_impl_dx10.h
# backends/imgui_impl_dx11.cpp
# backends/imgui_impl_dx11.h
# backends/imgui_impl_dx12.cpp
# backends/imgui_impl_dx12.h
# backends/imgui_impl_dx9.cpp
# backends/imgui_impl_dx9.h
# backends/imgui_impl_glfw.cpp
# backends/imgui_impl_metal.h
# backends/imgui_impl_metal.mm
# backends/imgui_impl_opengl3.cpp
# backends/imgui_impl_opengl3.h
# backends/imgui_impl_osx.h
# backends/imgui_impl_osx.mm
# backends/imgui_impl_sdl2.cpp
# backends/imgui_impl_sdlrenderer.cpp
# backends/imgui_impl_sdlrenderer.h
# backends/imgui_impl_vulkan.cpp
# backends/imgui_impl_vulkan.h
# backends/imgui_impl_win32.cpp
# docs/CHANGELOG.txt
# imgui.cpp
# imgui_widgets.cpp
2023-02-07 16:23:49 +01:00
ocornut
e816bc6723
Merge misc changes from docking branch to reduce small drift.
...
In particular:
- imgui.cpp : move UpdateInputEvents() higher in NewFrame() to match docking + update RenderMouseCursor() to match.
- imgui_draw.cpp: ImDrawList::_ResetForNewFrame() change from c807192ab
- Backends: SDL2. Add MouseWindowID + change SDL_CaptureMouse() test to match docking branch. Not strictly necessary but aimed at reducing drift because we go on and fork this file.
+ moved responsability of checking valid names to TabBarGetTabName() to simplify both branches.
2023-02-07 13:22:23 +01:00
ocornut
1b27ac982f
Backends+Examples: SDL2: renamed imgui_impl_sdl.cpp/.h to imgui_impl_sdl2.cpp/.h. ( #6146 )
...
+ CI: Update Windows CI to update SDL 2.26.3 instead of 2.0.10
2023-02-07 12:04:38 +01:00
ocornut
c807192abc
Tables: amend f799a29
with a better solution + fix potential overflow ( #6140 )
2023-02-03 22:50:58 +01:00
ocornut
d6ea56dfd9
Tables: amend f799a29
with a better solution + fix potential overflow ( #6140 )
2023-02-03 22:50:43 +01:00
ocornut
887abe9578
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_glfw.cpp
# backends/imgui_impl_osx.mm
# backends/imgui_impl_sdl.cpp
# backends/imgui_impl_win32.cpp
# imgui.cpp
# imgui.h
# imgui_internal.h
# imgui_widgets.cpp
2023-02-01 22:18:57 +01:00
ocornut
3617a96372
Backends, Inputs: Made horizontal scroll wheel and horizontal scroll direction consistent accross backends/os. ( #4019 , #6096 , #1463 )
...
Documented assumptions.
2023-02-01 21:29:08 +01:00
nahkhiir
2efebe3315
ShowFontAtlas, Demo: optionally use style text color for tint. ( #6129 )
2023-01-31 18:12:42 +01:00
ocornut
27f2dd56d6
Internals: move "%s" skip-formatting logic to ImFormatStringToTempBuffer() function, meaning Text() and all the *V() functions can also benefit from it. ( #3466 )
...
Amend 645a6e0
and 23a785a
.
2023-01-27 15:24:23 +01:00
ocornut
5741cbae45
Internals: ImFileOpen: fixed misleading use of ImWchar (would allocate more when ImWchar=ImWchar32) + update version for previous changes namely tab bar ones.
2023-01-25 20:34:48 +01:00
ocornut
07490618ae
Misc: Tolerate zero delta-time under Emscripten. ( #6114 , #3644 )
2023-01-25 14:13:12 +01:00
ocornut
3d8885cbbd
TabBar: Internals: add GetCurrentTabBar(), TabBarFindTabByOrder(), TabBarGetCurrentTab(), TabBarGetTabOrder(), TabBarGetTabName(), TabBarQueueFocus() + clear LastTabItemIdx on EndTabBar(). ( #5853 , #5997 )
...
ImGuiTabBar::GetTabOrder() -> TabBarGetTabOrder().
ImGuiTabBar::GetTabName() -> TabBarGetTabName()
2023-01-24 19:41:20 +01:00
ocornut
739a79b1e9
ImDrawList: Added missing early-out in AddPolyline() and AddConvexPolyFilled() when color alpha is zero. Window: Avoid rendering shapes for hidden resize grips.
2023-01-24 17:30:50 +01:00
ocornut
88dfd85e92
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
2023-01-21 00:49:06 +01:00
ocornut
ccf94e2e6e
Strip seemingly unecessary tests, as UTF-8 decoder can not return null since 9cca1b2e9
2023-01-12 12:46:06 +01:00
ocornut
55b8ce9b23
Reword ImTextCharFromUtf8() to avoid a warning + marked UTF-8 functions with IM_MSVC_RUNTIME_CHECKS_OFF. ( #5987 )
...
First change confirmed same code-gen.
2023-01-11 17:10:53 +01:00
ocornut
1297a2be52
Text: Tweaked rendering of three-dots "..." ellipsis variant. Baking more data. ( #2775 , #4269 )
...
Ideally we're bake a single glyph but it's currently difficult to setup in our font building process.
2023-01-11 16:37:47 +01:00
ocornut
8801f02949
Text: Fix clipping of single-character "..." ellipsis when font is scaled. ( #2775
2023-01-11 15:56:33 +01:00
ocornut
482ac70a0b
Version 1.89.3 WIP
2023-01-11 15:52:30 +01:00
ocornut
d822c65317
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_glfw.cpp
# docs/CHANGELOG.txt
2023-01-05 15:58:49 +01:00
ocornut
d7c8516a4b
Version 1.89.2
2023-01-05 15:49:29 +01:00
ocornut
fc3815bfe5
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_sdl.cpp
# backends/imgui_impl_vulkan.cpp
2023-01-03 21:06:09 +01:00
ocornut
824baa6a4d
Docking: fixed DockSpace() with ImGuiDockNodeFlags_KeepAliveOnly marking current window as written to,. ( #6037 )
2023-01-03 14:22:07 +01:00
ocornut
6939676372
Docking: fixed DockBuilderCopyDockSpace() crashing when windows not in the remapping list are docked on the left or top side of a split. ( #6035 )
2023-01-02 17:54:50 +01:00
Neil Bickford
f1ddf63027
ScrollToRectEx: Fix bug where scrolling horizontally to an always-centered element that is not visible but could be would take the item's Y coordinate into account.
...
Neither behavior were used in the codebase for this axis.
Amend 27c58c39
(#5902 , #2812 , #4242 , #2900 )
Signed-off-by: Neil Bickford <nbickford@nvidia.com>
2022-12-20 06:39:25 +01:00
ocornut
c191faf0ba
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui.h
# imgui_internal.h
# imgui_widgets.cpp
2022-12-08 21:19:01 +01:00
ocornut
59b63defe5
Misc shallow merge/sync from docking designed to faciliate cross-merging between docking and string_view.
2022-12-08 21:14:39 +01:00
ocornut
0949acb6e6
Shortcut: added Shortcut() function and ImGuiInputFlags in public API + Demo. ( #456 , #2637 )
2022-12-08 18:54:41 +01:00
ocornut
1dae7df26f
Misc: added GetItemID() in public API.
2022-12-08 18:45:04 +01:00
ocornut
d3025cde37
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
2022-12-06 22:13:12 +01:00
ocornut
fd0b3734d3
Tables, Nav, Scrolling: fixed scrolling functions and focus tracking with frozen rows and columns. ( #5143 , #4868 , #3692 )
2022-12-06 21:07:50 +01:00
ocornut
16cee3d009
Internals: tidying up and standardizing outer decoration size storage. (toward #5143 , #4868 , #3692 , #3518 )
...
This is not strictly required presently, but will be consistent with adding inner decoration sizes in next commit, as well as generally being sane.
Locking TitleBarHeight() / MenuBarHeight() values per-window probably have side-effects in ill-defined situation related to changing font size per window.
2022-12-06 21:07:47 +01:00
ocornut
820b1e651a
Internals: reduced duplicate code in CalcNextScrollFromScrollTargetAndClamp() by looping through axiees.
2022-12-06 18:35:12 +01:00
ocornut
24b873a740
Internals: renaming inside ScrollToRectEx() + fixed misplaced changelog entry.
2022-12-06 18:22:59 +01:00
ocornut
5eda547e6f
Merge branch 'master' into docking
2022-12-06 15:10:09 +01:00
ocornut
ed54e14f1b
Refactor: moved UpdateAliasKey(), GetMergedModsFromKeys(), UpdateKeyboardInputs(), UpdateMouseInputs() to INPUTS section.
2022-12-06 12:21:18 +01:00
ocornut
f83da768b6
Refactor: moved LockWheelingWindow(), FindBestWheelingWindow(), UpdateMouseWheel() to INPUTS section
2022-12-06 12:21:18 +01:00
ocornut
f9ab2a0e9f
Refactor: moved UpdateKeyRoutingTable() to INPUTS section. renamed GetKeyVector2d() -> GetKeyMagnitude2d()
2022-12-06 12:21:17 +01:00
ocornut
38a0d7ceb5
Refactor: added INPUTS section index, moved IsMouseHoveringRect() to INPUTS section.
2022-12-06 12:21:17 +01:00
ocornut
b5883c1cfb
Refactor: moved bits into Initialization section.
2022-12-06 12:21:17 +01:00
ocornut
3ea0fad204
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# imgui.cpp
# imgui.h
2022-12-01 20:22:27 +01:00
ocornut
45736443be
Debug Tools: Metrics: added "Inputs" section, moved from Demo for consistency.
2022-11-30 20:14:52 +01:00
ocornut
87caf27ac4
Inputs, Scrolling: better selection of scrolling window when hovering nested windows and backend/OS is emitting dual-axis wheeling inputs. ( #3795 , #4559 )
2022-11-30 17:49:59 +01:00
ocornut
bf4c2e00c0
Docs: retroactively update 1.89 changelog/docs to clarify that strong typing ImGuiKey was technically a breaking change for users of legacy indices. ( #4921 )
...
Amend 4b522e145
2022-11-29 21:36:59 +01:00
ocornut
cc3a2200a9
Internals: invert logic of mods key<>bool translation to facilitate other experiments and put emphasis on new API. ( #5923 , #4921 )
...
Should be no-op, this is mostly to make it easier to store state for ImGuiMod_Shortcut.
2022-11-29 19:07:50 +01:00
ocornut
1a497c2499
Inputs, IO: reworked ImGuiMod_Shortcut to redirect to Ctrl/Super at runtime instead of compile-time. ( #5923 , #456 )
2022-11-29 19:07:50 +01:00
Teselka
969af7c773
Internal: Disable debug logs macro if IMGUI_DISABLE_DEBUG_TOOLS is defined. ( #5901 )
...
+ needed to rework clipper code to avoid "The 'then' statement is equivalent to the 'else' statement." PVS Studio warning.
2022-11-28 15:44:10 +01:00
ocornut
bd96f6eac4
Text: Fixed layouting of wrapped-text block when the last source line is above the clipping region. Regression added in 1.89. ( #5720 , #5919 )
...
+ Update version marker
2022-11-28 14:59:13 +01:00
ocornut
fad8afd62a
Docking: amend to allow localizing docking specific user facing string. ( #5895 )
2022-11-24 21:29:41 +01:00
ocornut
595a428baa
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_glfw.cpp
# docs/CHANGELOG.txt
# imgui.cpp
# imgui_internal.h
2022-11-24 21:27:15 +01:00
ocornut
a8df192df0
Version 1.89.1
2022-11-24 21:24:33 +01:00
ocornut
27c58c3946
Scrolling, Focus, Combo: fixed SetKeyboardFocusHere()/SetItemDefaultFocus()/ScrollToRectEx() during an appearing form not centering item. ( #5902 , #2812 , #4242 , #2900 )
...
Amend 44f801186
and 8f495e554
2022-11-24 20:57:41 +01:00
ocornut
d2f9c5dfb7
Viewports: moving PlatformWindowCreated field to public structure. ( #5882 )
2022-11-24 16:39:45 +01:00
ocornut
856c6314ec
Drag and Drop: fixed GetDragDropPayload() returning a non-NULL value before payload is submitted. ( #5910 , #143 )
...
+ Added test "widgets_dragdrop_new_payloads" in Test Suite.
2022-11-23 17:58:14 +01:00
ocornut
ffe0abbfc2
Internals: added basic localization system ( #5895 )
2022-11-23 16:05:16 +01:00
ocornut
c3d9f8ee7e
Layout: fixed End()/EndChild() incorrectly asserting if users manipulates cursor position inside a collapsed/culled window and IMGUI_DISABLE_OBSOLETE_FUNCTIONS is enabled. ( #5548 , #5911 )
2022-11-23 15:18:59 +01:00
ocornut
9964740a47
Viewport: Fixed collapsed windows setting ImGuiViewportFlags_NoRendererClear without making title bar color opaque.
...
(thanks christopher knorr!)
2022-11-18 19:34:24 +01:00
ocornut
38cfe22b8b
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
2022-11-16 17:57:05 +01:00
ocornut
7bee9a8f96
Inputs: fixed moving a window or drag and dropping from preventing input-owner-unaware code from accessing keys. ( #5888 , #4921 , #456 )
...
Amend 4448d97
. This is more consistent with input owner design.
2022-11-16 17:53:35 +01:00
ocornut
d60985df7f
Inputs: fix moving a window or drag and dropping from capture mods. ( #5888 , #4921 , #456 )
...
Amend change of SetActiveIdUsingAllKeyboardKeys() in 4448d97
which seemingly accidentally reverted the change intended by fd408c97
2022-11-16 17:41:24 +01:00
ocornut
83cee9e091
InputText: replaced some uses of SetKeyOwner() + IsKeyPressed() with Shortcut()
...
Which makes it easier to hook/disable those keys from outside if needed.
2022-11-16 17:09:14 +01:00
ocornut
94e850fd6f
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
2022-11-15 15:40:54 +01:00
ocornut
81160fee56
Version 1.89
...
+ fix warning from a582d92
2022-11-15 15:20:36 +01:00
ocornut
a582d92c31
Inputs: modulate wheel lock timer for small amount of wheeling. Slightly lower timer. ( #3795 )
2022-11-15 14:19:29 +01:00
ocornut
cda26635cd
Inputs: refacotr/extract CalcRoutingScore() out of SetShortcutRouting(), easier to follow with early returns.
...
+ clarified comments about GetMouseCursor() #5739
2022-11-09 16:35:50 +01:00
ocornut
a571933f8b
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_opengl3.cpp
2022-11-09 15:59:26 +01:00
ocornut
f0ad810553
Inputs: tweak comments, typos.
2022-11-08 22:41:45 +01:00
ocornut
4d5da74c79
Merge branch 'master' into docking
2022-11-08 20:44:04 +01:00
ocornut
637ddfce09
Inputs, Nav: made it possible to remap CTRL+Tab ( #4828 , #3255 , #5641 )
2022-11-08 20:38:49 +01:00
ocornut
6c9c4879d9
Inputs: made Shortcut() routing id defaults to current FocusScope ID. ( #456 , #2637 , #3724 )
...
One idea being that this value can be easily locked (for blind menus) or manipulated (for queries from outside).
2022-11-08 20:37:58 +01:00
ocornut
d576724bfd
Inputs: made ImGuiInputFlags_RouteFocused the default for Shortcut(). ( #456 , #2637 , #3724 )
2022-11-08 20:37:58 +01:00
ocornut
4d6a9ef93f
Inputs: added routing priorities. ( #456 , #2637 , #3724 )
...
- and ImGuiInputFlags_RouteUnlessBgFocused
- will be useful for blind menu handlers.
2022-11-08 20:37:58 +01:00
ocornut
7ff2d3353c
Inputs: added wip/experiment routing system: Shortcut(), RoutingFocused policy, SetShortcutRouting(). ( #456 , #2637 , #3724 )
...
- InputText() uses Shortcut().
2022-11-08 20:37:58 +01:00
ocornut
c59ebb2d71
Inputs: added basic Shortcut() function - no routing yet. ( #456 )
2022-11-08 20:37:58 +01:00
ocornut
8c95c084cb
Inputs: changed specs of SetKeyOwner() to alter OwnerCurr immediately.
...
Note the removed comments (hence not squashing)
Amend 4448d97
(#456 , #2637 , #2620 , #2891 , #3370,, #4828 , #5108 , #5242 , #5641 )
2022-11-08 20:37:58 +01:00
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
5728f2e15f
Fix build with IMGUI_DISABLE_DEBUG_TOOLS
2022-11-04 16:47:04 +01:00
ocornut
44d98bfd6d
Fix build with IMGUI_DISABLE_DEBUG_TOOLS
2022-11-04 16:35:57 +01:00
ocornut
849c8052b7
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_osx.mm
# backends/imgui_impl_win32.cpp
# imgui.cpp
# imgui_internal.h
2022-11-04 16:26:15 +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
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
cfillion
ced92d9c52
Inputs, Viewports: fix UpdateViewportsNewFrame() running before UpdateInputEvents(), leading to MouseViewport lagging by a frame on transitions. ( #5837 , #4921 )
...
Will merge the swap in master.
2022-10-31 12:08:23 +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
375ae5dce4
Merge branch 'master' into docking (incl glfw use of GLFW_VERSION_COMBINED)
...
Note switched from GLFW_VERSION_REVISION * 10 to GLFW_VERSION_REVISION * 1
2022-10-24 22:58:25 +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
50c4234aca
Docking: Further fixes for highlight of nested nodes. ( #5702 )
...
Amend fb0b9c71
, 8f43487
, 9764adc
, 24dfebf
Added more regression tests e.g "docking_focus_nodes_nested"
2022-10-24 20:34:03 +02:00
ocornut
5370b46c4e
Docking: Made spacing between dock nodes not a dropping gap.
2022-10-24 20:25:42 +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
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
f87e891f18
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
2022-10-14 18:50:40 +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
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
edf522b58a
Merge branch 'master' into docking + amends change to nullptr ( #5760 )
...
# 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_osx.mm
# backends/imgui_impl_sdl.cpp
# backends/imgui_impl_vulkan.cpp
# backends/imgui_impl_win32.cpp
# imgui_internal.h
2022-10-11 15:59:23 +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
cb04326b46
Fixed ImGuiWindowFlags_UnsavedDocument clipping label in docked windows with no close button. [changes for docking] ( #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:08:29 +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
fb0b9c7160
Docking: Fixed missing highlight when using dock node host window borders. ( #5702 )
...
Amend 8f434874
, 9764adc7b
, 24dfebf45
2022-10-03 14:55:22 +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
69beaa1d0b
Viewports: Fix AddMouseViewportEvent() to honor AppAcceptingEvents, filter duplicate, add to debug log.
2022-09-29 22:03:21 +02:00
ocornut
d91211f9f2
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_opengl3.cpp
# backends/imgui_impl_win32.cpp
2022-09-29 22:02:23 +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
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
a725db17b7
Comments for flags discoverability + add to debug log ( #3795 , #4559 )
2022-09-27 20:08:40 +02:00
ocornut
8f434874c0
Docking: Fixed incorrect focus highlight on docking node when focusing a menu. ( #5702 )
2022-09-26 15:56:54 +02:00
ocornut
1dc7d0e633
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_glfw.cpp
# backends/imgui_impl_osx.mm
# backends/imgui_impl_sdl.cpp
# backends/imgui_impl_win32.cpp
# imgui.cpp
2022-09-26 11:08:49 +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
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
3af9ac320d
Merge branch 'master' into docking
...
# Conflicts:
# examples/imgui_examples.sln
# imgui.cpp
# imgui.h
# imgui_demo.cpp
2022-09-17 00:25:42 +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
tocic
2b1d8e3eaf
Fix more typos in sources and docs ( #5681 )
2022-09-14 20:36:45 +02:00
tocic
6c3c9cea7f
Fix typos in source comments ( #5675 )
2022-09-13 11:09:34 +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
64b88da21b
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# imgui.cpp
# imgui.h
2022-09-09 20:48:57 +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
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
aceab9a877
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
# Conflicts:
# imgui.cpp
2022-09-02 16:38:40 +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
bc2002ab92
Merge branch 'master' into docking
2022-09-01 20:54:37 +02:00
Rokas Kupstys
b3ea01d86f
Menus: Fix sub-menu inhibition stopping working in some cases. (Amend WIP) ( #2517 , #5614 , noticed in #5546 )
...
Amend bda2cde6
Fixes the case where following menu hover sequence results in incorrect RestoreNavWindow (previously SourceWindow) pointing to opened sub-menu:
1. Hover "Menu -> Options" - Open ##Menu_01 window
2. Hover "Menu -> Colors" - SourceWindow incorrectly points to ##Menu_01 window
2022-09-01 17:02:46 +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
71a0701920
Nav: Fixed regression in e99c4fc
preventing CTR+Tab to work without NavEnableKeyboard ( #5504 , #4023 );
2022-08-24 15:49:03 +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
db798fd5be
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_metal.mm
# imgui.cpp
# imgui_internal.h
2022-08-23 18:41:24 +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
b78738ff23
Internals: Docking: rename HoveredDockNode to DebugHoveredDockNode to clarify that it isn't usable for much other than debugging.
2022-08-22 19:18: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
5b0510c5b7
TestEngine: facilitate aiming at InputScalar() using wildcards + removed unnecessary IDStack.size hack (require TestEngine latest)
2022-08-20 22:55:51 +02:00
Rokas Kupstys
8cbd391f09
Docking: Add source dock node parameter DockContextCalcDropPosForDocking() to facilitate test engine (un)docking nodes before they are split out to their own window.
...
Metrics: Display dock_node->Windows in node metrics.
2022-08-08 15:33:19 +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
Rokas Kupstys
ff1567e240
Docking: Simplify logic of moving tabs between nodes. Amends 0abe7d. ( #5515 )
...
The idea is that in the absence of a tab bar, as new one gets created new tabs will be sorted based on window->DockOrder so this may work but we're not 100% sure.
2022-08-05 12:39:47 +02:00
Vlad Serebrennikov
c911901b5e
Fix ImGuiIO docs and default values ( #5540 )
2022-08-03 22:46:31 +02:00
ocornut
e9f50fb87c
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
2022-08-03 22:04:03 +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
ocornut
4a2ae06ca4
Changed signature of ImageButton() function: Added 'const char* str_id' parameter + removed 'int frame_padding = -1' parameter. ( #5533 , #4471 , #2464 , #1390 ).
...
Also removed frame_padding parameter from ImageButtonEx(), amend e0ec69d8
.
2022-08-03 21:04:33 +02:00
Rokas Kupstys
f573ebf31a
Docking+Viewports: Fix undocking window node causing parent viewport to become unresponsive. ( #5503 )
...
Amend 67be485e
, Somehow ties to 58f5092c
+ 0eb45a05
(#4310 )
Unsure of exact chain of event but this caused a parent link msimatch between the time of the MouseMoving test in AddUpdateViewport() setting _NoInputs on the wrong parent., and the release clearing _NoInputs on the rght one.
2022-08-03 18:07:08 +02:00
ocornut
b12e056c21
Docking: Fixed amending into an existing tab bar from rendering invisible items. ( #5515 , amend b16f738d
#2700 , #2539 )
...
Commit b16f738d
left us with a "current" channel 0 which seems inadequate. Undoing that, assuming default is always 1, code filling bg color does a switch. Only DockContextEndFrame() leave it at 0 and it's not particularly necessary.
2022-08-03 17:00:59 +02:00
ocornut
0abe7d1cc5
Docking: Fixed splitting/docking into a node that has buttons amended into tab bar. Windows were not moved correctly. ( #5515 )
2022-08-03 16:11:39 +02:00
ocornut
e21f462f6f
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
2022-08-03 15:29:04 +02:00
ocornut
28a123ca47
Internals: Docking: make DockContextFindNodeByID() more visible (instead of DockBuilderGetNode)
...
+ using defines for channel changes.
2022-08-03 15:22:19 +02:00
Rokas Kupstys
0e95cf0dec
Fix appending to windows causing a child window to be inserted to g.WindowsFocusOrder which eventually causes a crash. ( #5515 , #3496 , #4797 )
...
Amend a528398
2022-08-03 14:44:05 +02:00
ocornut
e99c4fc668
Nav: fixes keyboard/gamepad nav actions running without the corresponding config flags ( #5504 ). Fixes 8b8a61b
. #4921 , #4858 , #787 , #1599 , #323 )
...
NavUpdate() can now clears ImGuiInputSource_None.
2022-07-25 17:19:45 +02:00
ocornut
2d38bc99b3
Internals: renamed recently added ImGuiInputReadFlags to ImGuiInputFlags. (Amend 8b8a61b
)
2022-07-22 17:05:34 +02:00
Rokas Kupstys
cb8ead1f71
Docking: Fix docked window contents not rendering when switching with CTRL+Tab.
...
(regression from 8eb8689
).
2022-07-18 15:25:46 -07:00
ocornut
77637fd936
Docking, Nav: Fixed using gamepad/keyboard navigation not being able enter menu layer ( #5463 , #4792 )
...
Fix 37958ca
2022-07-12 10:51:14 +02:00
ocornut
1480bc5d4e
Added ImGuiKey_MouseXXX aliases. ( #4921 ) Reworked SetItemUsingMouseWheel() to use this for ActiveId. ( #2891 )
...
The rework of SetItemUsingMouseWheel() is half-complete since there's a HoveredIdUsingMouseWheel component. This will however be totally cleaned when we transtion to InputOwner system.
2022-07-08 18:32:25 +02:00
ocornut
105bb3ef8a
Legacy: clear g.ActiveIdUsingNavInputMask when active id is clear + Internals: added helpers GetKeyChordName(), ImGuiModFlags_All.
...
Amend 8b8a61b
2022-07-08 17:51:46 +02:00
ocornut
21fc57f2cf
Merge branch 'master' into docking
2022-07-08 16:09:30 +02:00
ocornut
8b8a61bdf9
Removed io.NavInputs[] and ImGuiNavInput enum. Kept inline redirection code. ( #4921 , #4858 , #787 , #1599 , #323 )
2022-07-08 16:02:07 +02:00
ocornut
a7a25ee19d
Tools: Item Picker: Mouse button can be changed by holding Ctrl+Shift. ( #2673 )
2022-07-07 14:18:08 +02:00
ocornut
4711b9b05a
Add trailing commas to enum (to simplify the diff/patch of further additions) ( #4537 )
...
Possible since we are now C++11 + fix warning in GetNavInputAmount().
2022-07-06 20:39:39 +02:00
ocornut
90ef327882
Reordered keys representing directions to follow a consistent L/R/U/D order everywhere. ( #2625 , #4921 , #3724 )
...
Amended to avoid static analysis false positive.
2022-07-06 17:48:01 +02:00
ocornut
f9ccdba352
Nav: Fix regression 93f02ee
+ Internals: Remove ImGuiNavReadMode_Pressed, ImGuiNavReadMode_Released.
...
Toward using keys.
2022-07-06 17:03:50 +02:00
ocornut
93f02ee0c6
Nav: Fixed moving window with gamepad or keyboard when running at very high framerate + removed ImGuiNavDirSourceFlags_RawKeyboard.
2022-07-06 16:46:57 +02:00
ocornut
5d0deebba4
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
2022-06-30 20:17:48 +02:00
ocornut
24dfe6db8a
Version 1.89 WIP
2022-06-27 16:55:55 +02:00
ocornut
9cd9c2eff9
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# imgui.cpp
# imgui_widgets.cpp
2022-06-21 18:28:33 +02:00
ocornut
9aae45eb4a
Version 1.88
...
(fix "Show Debug Log" checkbox in Metrics window)
2022-06-21 18:11:50 +02:00
ocornut
d3fd2630b7
Sliders: An initial click within the knob/grab doesn't shift its position. ( #1946 , #5328 ) + Adjust default GrabMinSize.
2022-06-20 18:13:10 +02:00
ocornut
9764adc7bb
Docking: Amend 24dfebf
. Fixed incorrect focus highlight on docking node with nested hierarchies.
2022-06-17 17:11:23 +02:00
Rokas Kupstys
37a07858a9
Nav: Fixed inability to cancel nav in modal popups. ( #5400 )
2022-06-17 14:58:26 +02:00
ocornut
506717390f
Docking, Modal: Fixed a crash when opening popup from a parent which is being docked on the same frame. ( #5401 )
...
Ideally we should untangle the purpose of parent_window_in_stack / ParentWindowInBeginStack better.
2022-06-16 18:43:33 +02:00
ocornut
07efd7cc20
Renamed IMGUI_DISABLE_METRICS_WINDOW to IMGUI_DISABLE_DEBUG_TOOLS.
2022-06-15 16:02:55 +02:00
ocornut
e135cdbc24
Merge branch 'master' into docking + update for IMGUI_DEBUG_LOG calls.
...
# Conflicts:
# backends/imgui_impl_dx12.cpp
# imgui.cpp
# imgui_internal.h
2022-06-15 15:39:23 +02:00
ocornut
08572189f0
MovingWindow auto-cancelled if active id is stolen (instead of ill-defined bahavior + assert in docking).
...
Followup to 27343ef
2022-06-15 15:25:21 +02:00
ocornut
27343efb0b
Nav, Focus: Changed SetKeyboardFocusHere() to not behave if a drag or window moving is in progress + move KeepAliveID() call from Scrollbar() to ScrollbarEx()
2022-06-15 15:25:07 +02:00
ocornut
ddcff10343
Settings: Fixed some SetNextWindowPos/SetNextWindowSize API calls not marking settings as dirty.
2022-06-15 14:30:20 +02:00
ocornut
dd28500835
Debug: Add more log. Reworked IMGUI_DEBUG_PRINT IMGUI_DEBUG_PRINTF. Added internal IsDragDropActive() helper.
...
DebugLog() output to TTY by default.
Amend 1d6e34f
.
2022-06-15 11:31:19 +02:00
ocornut
24dfebf455
Docking: Fixed incorrect focus highlight on docking node when focusing empty central node or a child window which was manually injected into a dockspace window.
2022-06-13 20:19:33 +02:00
ocornut
2ed9e21eba
Nav, Internals: wrap changes to g.NavWindow into a helper function to help track/log changes.
...
Amend 076d8fc
. Eventually we should REALLY clean up the SetNavWindow SetNavID SetFocusID FocusWindow fiasco.
2022-06-13 19:05:55 +02:00
ocornut
1d6e34f3f9
Debug: Added ShowDebugLogWindow().
...
Internal: renamed old IMGUI_DEBUG_LOG() to IMGUI_DEBUG_PRINT().
Amended once.
2022-06-13 19:05:55 +02:00
ocornut
e900ca355e
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_metal.mm
# imgui.cpp
# imgui.h
2022-06-10 19:29:17 +02:00
ocornut
076d8fc868
Nav: Fixed issues with nav request being transferred to another window when calling SetKeyboardFocusHere() and simultaneous changing window focus. ( #4449 )
2022-06-10 19:25:53 +02:00
Rokas Kupstys
0b1bcfcc20
Menus: Separate menu sets by nav layer. ( #3496 , #4797 ) + Demo: Remove incorrect and useless suggestion to use PushID().
...
Fixes a common case where opening menu in one nav layer and hovering a menu in another nav layer would open that menu without a click.
2022-06-08 17:17:54 +02:00
ocornut
23a785aeb3
Internals: wrapped used of g.TempBuffer into ImFormatStringToTempBuffer/ImFormatStringToTempBufferV helpers.
...
This leaves us room for growing the buffer if needed, and gives us a resizable buffer available for other work.
2022-06-07 19:20:03 +02:00
ocornut
64d6c30562
InputText: Fixed an undo-state corruption issue when editing buffer before reactivating item. ( #4947 ) + Metrics: Added "InputText" section.
2022-06-07 15:34:21 +02:00
Andrej Redeky
4789c7e485
Misc: Fix custom assertion macro failing to compile imgui.cpp ( #5378 )
2022-06-05 13:34:10 +02:00
ocornut
65c4c0a490
IO: Added SetAppAcceptingEvents() function ( #4921 , #4858 )
2022-06-02 16:56:00 +02:00
ocornut
7b5a8e4f2b
Merge branch 'master' into docking (wanted for #4468 , #3381 , #2981 , #4825 , #4832 , #5127 )
...
# Conflicts:
# backends/imgui_impl_opengl3.cpp
2022-05-30 15:26:12 +02:00
Quantum
e23c5edd5f
Settings: Fixed out-of-bounds read when .ini file on disk is empty. ( #5351 )
2022-05-29 21:58:39 +02:00
ocornut
7bf07d2526
Renamed CaptureMouseFromApp() and CaptureKeyboardFromApp() to SetNextFrameWantCaptureMouse() and SetNextFrameWantCaptureKeyboard(). Added demo. ( #5304 , #4831 , #4480 , #533 )
2022-05-23 11:22:46 +02:00
ocornut
cb56b0b238
Removed leftover KeepAliveID() call in GetIDWithSeed() variant. ( #5181 ) + doc tweaks.
2022-05-23 10:51:01 +02:00
Rokas Kupstys
250333d895
Docking: Fix unhiding tab bar regression. ( #5325 , #5181 )
...
Broken by 90386780
2022-05-19 16:59:39 +02:00
Rokas Kupstys
36055213c5
Docking: Fixed moving window being interrupted when undocing a window with "io.ConfigDockingAlwaysTabBar = true". ( #5324 )
...
Regression introduced in 6b7766817
2022-05-19 16:54:54 +02:00
ocornut
e346059eef
IO: Fixed input queue trickling of mouse wheel events. ( #4921 , #4821 )
2022-05-18 14:16:02 +02:00
ocornut
6b5a2426d7
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_metal.mm
# backends/imgui_impl_opengl3.cpp
# imgui.cpp
2022-05-17 11:59:32 +02:00
ocornut
9779cc2fe2
Internals: shallow changes to simplify diff of upcoming commits. Should have no side-effect.
2022-05-06 14:20:01 +02:00
ocornut
55f8989392
Docs update, binaries link + Backend: Allegro: fix warning ( #5281 )
2022-05-04 15:16:05 +02:00
ocornut
6d27fecce1
Debug: added DebugTextEncoding() to help diagnose between text encoding issues and font loading issues. Simplified code + extracted DebugNodeFontGlyph().
...
Helper to diagnose issues such as #4866 , #3558 , #3436 , #2233 , #1880 , #1780 , #905 , #832 , #762 , #726 , #609 , #565 , #307 )
2022-05-03 19:23:54 +02:00
Adrien LPN
e668890837
Debug: added encoding viewer in Metrics.
...
(reworked by omar from original/old commit)
2022-05-03 19:07:31 +02:00
ocornut
414165d23f
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_glfw.cpp
# imgui.cpp
2022-05-03 14:40:17 +02:00
stuartcarnie
e66fc22057
Backends: OSX: Removed ImGui_ImplOSX_HandleEvent() from backend API. Move event tracking (desktop only) to OSX backend. ( #4821 )
...
Fix using NSKeyUp (#5268 ).
2022-05-03 14:35:08 +02:00
ocornut
314c7bd12f
Internals: renamed ImGuiInputReadMode to ImGuiNavReadMode (internals) to avoid ambiguity with upcoming flags. + minor tweak
2022-04-28 17:29:47 +02:00
Dima Koltun
ec48681455
Windows: Fixed first-time windows appearing in negative coordinates. ( #5215 , #3414 )
...
Regression added in 6af92b05b
2022-04-22 20:26:40 +02:00
Dima Koltun
b5b704d376
Windows: Fixed first-time windows appearing in negative coordinates. ( #5215 , #3414 )
...
Regression added in 6af92b05b
2022-04-22 20:24:44 +02:00
ocornut
8dd5425182
Merge branch 'master' into docking
...
# Conflicts:
# docs/TODO.txt
2022-04-22 19:15:37 +02:00
ocornut
5b29d14783
Layout: Fixed mixing up SameLine() and SetCursorPos() together. SameLine() is a stateful.
...
+ minor unrelatedcomments.
2022-04-22 17:48:06 +02:00
ocornut
eda7792b15
Internals: swapped blocks in TextEx() to make it easier to step through common cases. Tweak demo.
2022-04-14 18:36:27 +02:00
ocornut
28b2089ee4
Internals: moved ItemSize() variant to inline + comment. + Tidying up todo list ( #5191 )
2022-04-13 21:48:21 +02:00
ocornut
088487a3d4
Nav: Fixed nav movement in a scope with only one disabled item from focusing the disabled item. ( #5189 )
2022-04-13 12:34:13 +02:00
ocornut
fc203c7d76
Minor fix to sastisfy PVS-Studio warning. (amend, 3nd attempt: this is a false positive from PVS studio)
2022-04-12 15:29:56 +02:00
ocornut
6d15a506fa
Internals: removed GetIDNoKeepAlive() now that it is the same as GetID(). ( #5181 )
...
Amend 9038678
2022-04-12 14:49:21 +02:00
ocornut
90386780e3
Misc: Fixed calling GetID("label") _before_ a widget emitting this item inside a group (such as InputInt()) from causing an assertion when closing the group. ( #5181 ).
2022-04-12 14:44:57 +02:00
ocornut
f7f30476d5
Added comments about requirement for bilinear filtering. ( #5156 , #3245 ) + Backends: SDL_Renderer: Explicitely call SDL_SetTextureScaleMode(). ( #4927 )
2022-04-07 14:28:08 +02:00
ocornut
505f19e3b0
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui.h
# imgui_internal.h
2022-04-05 17:55:53 +02:00
ocornut
2c03aac6d3
Renamed ImGuiKeyModFlags to ImGuiModFlags (Breaking but technically never advertised type)
2022-04-05 15:45:00 +02:00
ocornut
f5c5926fb9
Internals: remove obsolete variants of RenderArrow(), RenderBullet(), ImHash() + misc comments.
2022-03-29 15:43:47 +02:00
ocornut
1ba2905017
Update README, quote, mission statement
2022-03-25 15:40:29 +01:00
ocornut
3587ee492b
Viewports: store Viewport field in ImGuiWindow to facilitate using code accross branches + fix PVS warnings.
2022-03-25 15:40:20 +01:00
ocornut
16ddc1698d
Fixed creating multiple-context (regression in 28ba54a
). ( #5135 )
2022-03-24 11:01:46 +01:00
ocornut
377b864bb4
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_dx12.cpp
# backends/imgui_impl_glfw.cpp
# backends/imgui_impl_sdl.cpp
# imgui_internal.h
# imgui_widgets.cpp
2022-03-23 17:21:34 +01:00
ocornut
28ba54a32a
Internals: add AddSettingsHandler(), RemoveSettingsHandler().
2022-03-14 10:23:30 +07:00
ocornut
fd06ed833b
Misc: tweaks + fix warnings on backends withtout -wno-memaccess ( #4995 , #5104 )
2022-03-13 17:57:32 +07:00
jakubtomsu
3deb92c2c5
Add IMGUI_STB_SPRINTF_FILENAME to support custom stb_printf.h include path ( #5068 , #2954 )
2022-03-13 12:52:30 +07:00
ocornut
0f14933577
Tables: Fixed incorrect border height used for logic when resizing one of several synchronized instance of a same table ID, when instances have a different height. ( #3955 , #3565 )
2022-03-01 18:47:03 +01:00
ocornut
8639a2f9f8
Viewports: Fixed translating a host viewport from briefly altering the size of AlwaysAutoResize windows. ( #5057 )
2022-02-25 16:41:40 +01:00
ocornut
64519c6875
Docking: Fixed floating docked nodes not being clamped into viewport workrect to stay reachable when g.ConfigWindowsMoveFromTitleBarOnly is set and multi-viewports are disabled. ( #5044 )
2022-02-22 16:21:10 +01:00
ocornut
7b0d58c5e5
Merge branch 'master' into docking
2022-02-22 14:57:17 +01:00
ocornut
fa2b318dd6
IO: Fixed input queue trickling of interleaved keys/chars events when InputText() is not active. ( #4921 , #4858 )
2022-02-22 14:36:27 +01:00
ocornut
5659db5529
IO: Fixed backward-compatibility accesses to io.KeysDown[]. ( #4921 , #4858 )
...
+ Snuck in unrelated comments and removed the "fill once" comment (#5043 )
2022-02-21 21:31:01 +01:00
ocornut
dca527be1b
Clipper: Assert on extraneous calls to Step(). ( #4822 ) + Demo tweak.
2022-02-18 18:40:43 +01:00
ocornut
9948535118
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# imgui.cpp
# imgui.h
# imgui_draw.cpp
2022-02-17 18:47:43 +01:00
ocornut
29d462ebce
Set HoveredID even when g.NavDisableMouseHover is set by gamepad/keyboard navigation. This will facilitate the use of future InputOwner API based on HoveredID/ActiveID.
...
Note that this widen the small gap between polling g.HoveredID and using IsItemHovered() the later does various filtering.
Added IsItemHovered(ImGuiHoveredFlags_NoNavOverride) to disable that specific state redirect/filter.
Side-effect: fix EndGroup() use of combining HoveredId values when gamepad/keyboard nav is active. Unlikely to have user-visible side effect since IsItemHovered() would have filtered out anyway.
Side-effect: fix IsAnyItemHovered() when gamepad/keyboard is active (but this wasn't the primary intent of this change).
Side-effect: fix using SetItemUsingMouseWheel() while hovering an item and gamepad/keyboard is active. (#2891 )
2022-02-17 18:39:03 +01:00
ocornut
421e73e6db
Fix an assert in metrics.
2022-02-17 15:36:00 +01:00
ocornut
d9e60d29e1
Clipper: Fixed a regresssion when not calling End() + calling End() twice as well. ( #4822 )
2022-02-17 11:09:06 +01:00
ocornut
2dfa71fad5
Inputs: Fixed IsMouseClicked() repeat mode rate being half of keyboard repeat rate. Using KeyModAlt. Removed KeyModsPrev.
2022-02-16 20:08:58 +01:00
ocornut
5854da10e6
Declare other structures as constexpr ( #4995 ) + rename ImGuiInputEventType_Char to ImGuiInputEventType_Text for consistency with event structure.
2022-02-11 12:29:55 +01:00
ocornut
1e14cc5cae
Viewports: Fixed main viewport size not matching ImDrawData::DisplaySize for one frame during resize when multi-viewports are disabled. ( #4900 )
2022-02-10 18:50:28 +01:00
ocornut
aa79d0cd2f
Stack Tool: Added option to copy item path to clipboard. ( #4631 )
2022-02-08 16:36:54 +01:00
ocornut
88de982071
Version 1.88 WIP
2022-02-08 14:45:26 +01:00
ocornut
aa86800092
Internals: rework RenderMouseCursor() signature so we can use it in docking branch more naturally. (Merged from master+ rework for docking)
...
# Conflicts:
# imgui.cpp
# imgui_draw.cpp
2022-02-08 12:29:44 +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
1ee252772a
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
2022-02-07 18:20:10 +01:00
ocornut
c71a50deb5
Version 1.87
2022-02-07 18:16:54 +01:00
ocornut
31762a8173
Docking: fixed potential crash if a passthrough dock node is submitted without a child intermediate (currently not possible via API)
2022-02-03 12:04:11 +01:00
ocornut
5017602752
Backends: SDL: Amend 08350e5
, multi-viewports mouse tracking works under Linux. ( #4960 ) + Reword tests to help static analysis.
2022-02-03 11:52:03 +01:00
ocornut
37958ca1b5
Docking: Fixed CTRL+TAB back into a docked window not selecting menu layer when no item are on main layer.
...
Could merge on master.
2022-02-03 00:19:31 +01:00
ocornut
8eb8689391
Docking: Tabs use their own identifier (in order to make window->ID refer to whole window in test engine). Also prevents Tab ID from clashing with "" which was common.
2022-02-02 23:23:13 +01:00
ocornut
c1ab3c406f
Docking: Fixed size constraints not working on single window holding on a dock id (still doesn't work on docked windows).
2022-02-02 23:10:14 +01:00
ocornut
d378e4088f
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui.h
# imgui_draw.cpp
2022-02-01 15:46:42 +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
27004aca70
Revert moving ImGuiKeyModFlags to internal.h (amendc906c65)
...
# Conflicts:
# imgui.cpp
2022-01-28 15:53:41 +01:00
ocornut
49e38a5b32
Revert moving ImGuiKeyModFlags to internal.h (amendc906c65)
2022-01-28 15:53:09 +01:00
ocornut
d5f0d45ae4
Merge branch 'master' into docking + remove two _PopUnusedDrawCmd() from docking branch, following 718daa1
...
# Conflicts:
# backends/imgui_impl_glfw.cpp
# backends/imgui_impl_sdl.cpp
# backends/imgui_impl_win32.cpp
# imgui.cpp
# imgui_internal.h
2022-01-27 17:50:31 +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
f1a073186c
Docking: Fixed a CTRL+TAB crash when aiming at an empty docked window. ( #4792 )
2022-01-25 17:28:43 +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
3e0d6ec895
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_glfw.cpp
# backends/imgui_impl_sdl.cpp
# backends/imgui_impl_vulkan.cpp
# backends/imgui_impl_vulkan.h
# backends/imgui_impl_win32.cpp
# imgui.cpp
# imgui.h
# imgui_demo.cpp
# imgui_internal.h
2022-01-21 12:39:15 +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