ocornut
1c29a8ed18
Debug Log: auto-disable ImGuiDebugLogFlags_EventClipper to reduce spam.
2023-03-06 18:09:49 +01:00
ocornut
f5c5a710aa
Docking: exposed DockNodeWindowMenuHandler_Default() in imgui_internal.h to facilitate reuse.
2023-03-06 17:08:09 +01:00
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