ocornut
5ecef2f321
Merge branch 'master' into docking
...
# Conflicts:
# examples/example_win32_directx10/main.cpp
# examples/example_win32_directx11/main.cpp
# examples/example_win32_directx12/main.cpp
# imgui.cpp
2024-05-23 17:25:02 +02:00
ocornut
d5a600e9c6
Shortcuts, SetShortcutRouting: added ImGuiInputFlags_RouteFromRootWindow. Made it possible for SetShortcutRouting() to query for another location.
2024-05-23 17:22:44 +02:00
ocornut
a689fa262a
SetShortcutRouting: require explicit routing. ( #456 )
2024-05-23 17:09:48 +02:00
ocornut
c06e6340cd
Shortcuts: added ImGuiInputFlags_Tooltip. ( #456 )
2024-05-23 16:58:14 +02:00
ocornut
77e4171894
Shortcuts: added flags to SetNextItemShortcut(). ( #456 )
2024-05-23 16:57:19 +02:00
ocornut
fc512a2474
Inputs: Added Shortcut(), SetNextItemShortcut(). Added ImGuiInputFlags, ImGuiInputFlags_RouteXXXX. ( #456 , #2637 )
2024-05-23 16:57:03 +02:00
ocornut
85513de247
Internals, Inputs: *Breaking* Swapped parameter order of owner-aware versions of IsKeyPressed(), IsKeyChordPressed(), IsMouseClicked(). ( #456 )
...
For several reasons those changes makes sense. They are being made because making some of those API public.
Only past users of imgui_internal.h with the extra parameters will be affected.
Added asserts for valid flags in various functions to detect _some_ misuses, BUT NOT ALL.
Amend 4448d975
(#456 , #2637 , #2620 , #2891 , #3370 , #4828 , #5108 , #5242 , #5641 )
2024-05-23 16:57:03 +02:00
ocornut
900b29055c
Internals, Inputs: *Breaking* Swapped parameter order of Shortcut(). ( #456 )
...
Amend 4448d975
(#456 , #2637 , #2620 , #2891 , #3370 , #4828 , #5108 , #5242 , #5641 )
2024-05-23 16:57:03 +02:00
ocornut
55748cdbe1
Internals, Inputs: *Breaking* Renamed ImGuiKeyOwner_None to ImGuiKeyOwner_NoOwner: avoid confusion with non zero value, makes IsKeyPressed() calls using ImGuiKeyOwner_NoOwner more explicit.
...
Amend 4448d975
(#456 , #2637 , #2620 , #2891 , #3370 , #4828 , #5108 , #5242 , #5641 )
2024-05-23 16:57:03 +02:00
ocornut
6d1a6f1c74
Internals, Inputs: Comments, alignment.
2024-05-22 12:17:33 +02:00
ocornut
36ffdd69d3
Merge remote-tracking branch 'origin/master' into docking
2024-05-21 19:01:06 +02:00
ocornut
aa725ca79d
Inputs: moving ImGuiInputFlags_RouteAlways into ImGuiInputFlags_RouteTypeMask_
2024-05-21 12:28:47 +02:00
ocornut
cd48059dc5
Tables: comments about skipping access to table data in coarse clipping path.
2024-05-21 12:07:50 +02:00
ocornut
ae8218a3ea
Inputs, Shortcut: fixes some edge cases for GetKeyChordName(), clarify that it is aimed at display. ( #456 )
...
Rename IsNamedKeyOrModKey() to IsNamedKeyOrMod() for consistency.
Fixed GetKeyName(ImGuiKey_None) from returning "N/A" or "None" depending on IMGUI_DISABLE_OBSOLETE_KEYIO.
See "inputs_keychord_name" in imgui_test_suite.
2024-05-17 17:07:50 +02:00
ocornut
b4f564c1ed
Internals: Shortcuts: *Breaking* : rename ImGuiInputFlags_RouteGlobalLow -> ImGuiInputFlags_RouteGlobal, ImGuiInputFlags_RouteGlobal -> ImGuiInputFlags_RouteGlobalOverFocused, ImGuiInputFlags_RouteGlobalHigh -> ImGuiInputFlags_RouteGlobalHighest ( #456 )
2024-05-17 14:18:22 +02:00
ocornut
b39fc84f89
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
2024-05-16 19:57:04 +02:00
ocornut
8bd5d1d42f
Inputs: Fixed swapping of keys associated to mods. Fixed warnings. ( #2343 , #4084 , #5923 , #456 )
...
Amend 7747106
.
2024-05-16 19:23:05 +02:00
ocornut
7747106647
Inputs: swap Ctrl and Cmd on macOS X, remove ImGuiMod_Shortcut. ( #2343 , #4084 , #5923 , #456 )
2024-05-16 19:16:55 +02:00
Hubert Maier
07dbcf1f70
Fixed typos. ( #7593 )
2024-05-16 16:13:01 +02:00
ocornut
eabe98f6d5
Merge branch 'master' into docking (incl merge moved CurrentDpiScale field)
...
# Conflicts:
# backends/imgui_impl_osx.mm
# backends/imgui_impl_win32.cpp
# imgui.cpp
2024-05-14 16:29:06 +02:00
ocornut
e4576914cb
Internals: amend f806c76
to better match docking + fixed unused static forward declaration warning.
2024-05-14 16:22:27 +02:00
ocornut
d0524df887
Internals: slight refactor FindHoveredWindow() -> FindHoveredWindowEx() toward reducing far-away code duplication.
2024-05-14 16:03:00 +02:00
ocornut
f806c76e97
Tables, Dpi: added dummy g.DpiScale storage (to be altered in docking), using to scale tables border hit thickness.
...
+ Added note about how equivalent resize padding for windows (sourced from WINDOWS_HOVER_PADDING) would need further rework.
2024-05-14 15:03:20 +02:00
ocornut
f48aae600a
Version 1.90.7 WIP
2024-05-13 14:47:37 +02:00
ocornut
e391fe2e66
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_opengl3.cpp
# imgui.cpp
# imgui_internal.h
2024-05-08 16:17:32 +02:00
ocornut
6ccc561a2a
Version 1.90.6
2024-05-08 15:38:33 +02:00
ocornut
d4495446d5
Windows, Internal: added experimental SkipRefresh mode. ( #3515 , #4763 , #7556 , #5116 , #4076 , #2749 , #2268 )
...
currently: ImGui::SetNextWindowRefreshPolicy(ImGuiWindowRefreshFlags_TryToAvoidRefresh);
- This is NOT meant to replace frame-wide/app-wide idle mode.
- This is another tool: the idea that a given window could avoid refresh and reuse last frame contents.
- I think it needs to be backed by a careful and smart design overall (refresh policy, load balancing, making it easy and obvious to user).
- It's not there yet, this is currently a toy for experimenting.
My other issues with this:
- It appears to be very simple, but skipping most of Begin() logic will inevitably lead to tricky/confusing bugs. Let's see how it goes.
- I don't like very much that this opens a door to varying inconsistencies
- I don't like very much that it can lead us to situation where the lazy refresh gets disabled in bulk due to some reason (e.g. resizing a dock space) and we get sucked in the temptation to update for idle rather than update for dynamism.
2024-05-07 11:44:43 +02:00
ocornut
2f2d5070f5
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui.h
2024-05-03 16:30:09 +02:00
ocornut
4bb7567141
Tables: Angled headers: fixed multi-line label display when angle is flipped. ( #6917 )
2024-05-02 13:49:26 +02:00
ocornut
b30df8890d
Table: Angled Headers: internal refactor to facilitate changing angled header bg and text colors per column. ( #6917 )
2024-04-30 17:39:52 +02:00
ocornut
9d6818d0ce
Docking: comments, clairfy why we store style override on dragged windows. Clarify why we don't need to store alpha. ( #7535 , #2771 )
...
Amend ebbb98d51
2024-04-30 14:10:11 +02:00
ocornut
5717f0a33e
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_vulkan.cpp
# backends/imgui_impl_win32.cpp
2024-04-30 10:42:46 +02:00
ocornut
6ef4f67fa9
ImDrawList: moved cold fields lower in the structure so hot fields are closer to each others + better packed ImGuiNavItemData
2024-04-30 10:06:42 +02:00
ocornut
4cb0fe3c7d
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_sdl3.cpp
# backends/imgui_impl_sdl3.h
# docs/CHANGELOG.txt
# imgui_internal.h
2024-04-16 14:24:13 +02:00
ocornut
3caa79c8a5
Version 1.90.6 WIP
2024-04-15 11:27:07 +02:00
ocornut
f790d51665
Silent zealous/stupid warning introduced by Clang 16 (shipping with VS2022) with -Weverything. Pointers are now illegal!
2024-04-12 16:55:32 +02:00
ocornut
1db579d458
Merge branch 'master' into docking
2024-04-11 16:21:56 +02:00
ocornut
231cbee0fc
Version 1.90.5
2024-04-11 15:54:39 +02:00
GamingMinds-DanielC
4f9ba19e52
Drags, Sliders, Inputs: Reactivated decimal point replacement for SliderScalar and DragScalar. ( #7389 , #6719 , #2278 )
...
Amend/fix 4a242644
2024-04-03 11:39:46 +09:00
ocornut
9638c2839a
Internals: adding ImGuiNavMoveFlags_NoClearActiveId even though there's currently no satisfying way to take advantage of it. ( #1418 )
2024-03-27 12:00:50 +09:00
ocornut
085781f5ca
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
2024-03-18 22:52:40 -07:00
ocornut
adcc3217c3
Revert "Docking: Fix C++26 zealous warnings ( #7383 , #7089 )" + Disable warnings
...
This reverts commit 9d9ca37a84
.
2024-03-11 15:07:05 +01:00
ocornut
9d9ca37a84
Docking: Fix C++26 zealous warnings ( #7383 , #7089 )
2024-03-11 14:41:02 +01:00
ocornut
286cd5bd41
Internals, InputText: removed ImGuiInputSource_Clipboard. ( #4005 )
...
Added by f08566b4d
2024-03-07 15:02:38 +01:00
ocornut
fd75685fb0
Merge branch 'master' into docking
2024-03-05 18:12:11 +01:00
ocornut
fbf45ad149
ImDrawList: add PathFillConcave(), AddConcavePolyFilled(): amends ( #760 )
...
- Simplify and compact some code. Shallow tweaks.
- Add comments.
- Add concave shape demo.
- Remove coarse culling.
- Remove nested types to match coding style and for consistent type nams when translated to other languages.
- Merged ClassifyNode() and ReclassifyNode().
- Extracted ImTriangleIsClockwise().
- Hold copy of points inside nodes instead of pointing to them.
2024-03-01 21:08:18 +01:00
ocornut
1a487165b1
Merge branch 'master' into docking
2024-02-27 18:44:51 +01:00
ocornut
9877941775
Popups, Menus: rename ImGuiPopupData::BackupNavWindow > RestoreNavWindow and minor tweaks. Should be functionally a no-op.
...
This is expected to clear the noise so next commit can be cleared to read. (#7325 )
Last renamed in b3ea01d86
2024-02-27 17:56:51 +01:00
ocornut
e46d1e69ac
Version 1.90.5 WIP
2024-02-26 13:31:10 +01:00
ocornut
c6aa051629
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
2024-02-22 20:01:46 +01:00
ocornut
277ae93c41
Version 1.90.4
2024-02-22 19:56:39 +01:00
ocornut
34965cf23a
Modals: Temporary changes of ImGuiCol_ModalWindowDimBg are properly handled by BeginPopupModal(). ( #7340 )
...
+ Misc: Added optional alpha multiplier parameter to GetColorU32(ImU32) variant.
2024-02-22 14:53:33 +01:00
ocornut
659fb41d0a
Debug Tools: moved DebugStartItemPicker() to public API. Added to Demo->Tools menu. ( #2673 )
2024-02-20 17:33:17 +01:00
ocornut
2b662b1ab9
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# imgui.cpp
2024-02-20 15:33:20 +01:00
ocornut
6655ab2e43
Tables: Angled Headers: fixed TableAngledHeadersRow() incorrect background fill drawn too low. Fixed row geometry with non-small values of CellPadding. ( #6917 )
2024-02-19 19:08:38 +01:00
ocornut
8a14b71f22
Version 1.90.4 WIP
2024-02-15 16:51:57 +01:00
ocornut
d79514c407
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_dx9.cpp
# backends/imgui_impl_sdl2.cpp
# backends/imgui_impl_sdl3.cpp
# backends/imgui_impl_vulkan.cpp
# imgui.cpp
2024-02-14 14:32:17 +01:00
ocornut
5b6f03213d
Version 1.90.3
2024-02-14 13:58:19 +01:00
ocornut
915c6393ad
Version 1.90.3 WIP
2024-02-12 14:54:48 +01:00
ocornut
71bcf350bd
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
2024-02-09 17:26:45 +01:00
ocornut
536090303a
Version 1.90.2
2024-02-09 16:59:31 +01:00
ocornut
7b5357d817
Debug Tools: Metrics: Improved Monitors and Viewports minimap display. Highlight on hover.
...
Added ImGuiViewport ID in Master branch.
2024-02-09 16:32:26 +01:00
ocornut
30ba3c347c
Viewports: Fixed moving accross monitors when io.ConfigWindowsMoveFromTitleBarOnly is set. ( #7299 , #3071 )
2024-02-09 15:43:25 +01:00
ocornut
70aa717a8e
Combo: Fixed not reusing windows optimally when used inside a popup stack.
2024-02-09 15:23:43 +01:00
ocornut
a5e0e90c16
Nav: tweak RenderNavHighlight() syntax. ImGuiNavHighlightFlags_TypeThin -> ImGuiNavHighlightFlags_Compact.
2024-02-08 15:44:46 +01:00
ocornut
1e8fc01ddd
InputText: Internal: ReloadUserBufXXX functions don't override revert value. ( #2890 ) + rename
2024-02-08 15:25:04 +01:00
ocornut
82eeafc196
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_glfw.cpp
2024-02-07 22:10:33 +01:00
ocornut
06ce312745
InputText: Internal: added reload from user-buf feature. ( #2890 )
...
Very highly requested feature (#6962 , #5219 , #3290 , #4627 , #5054 , #3878 , #2881 , #1506 , #1216 , #968 ).
Also useful for interactive completion/selection popups (#2057 , #718 )
Based on @kudaba PR. Design for Inputtext V2 should make this obsolete.
2024-02-07 22:04:18 +01:00
ocornut
96839b445e
Nav: Improve handling of Alt key to toggle menu so that key ownership may be claimed on indiviudal left/right alt key without intefering with the other.
...
See test "inputs_owner_single_mod"
2024-01-25 16:51:07 +01:00
ocornut
7194756370
Shortcut: fixed single mod-key Shortcut from working e.g. Shortcut(ImGuiKey_LeftCtrl)
2024-01-25 15:42:19 +01:00
Peter0x44
f1960b60c1
Added "nop" to IM_DEBUG_BREAK macro on GCC to work around GDB bug ( #7266 )
...
There are two issues here - first, this macro uses AT&T specific syntax with $, which is not necessary. Also, some assemblers (nasm) emit different bytes for "int 3" and "int3", so it's better to use "int3" (cd 03 vs cc)
More importantly, GDB has some failing assertion whenever stepping after hitting an "int3" instruction. This makes it practically useless, as is. For some reason, putting a nop afterwards as a workaround is okay.
Related discussions:
https://sourceware.org/bugzilla/show_bug.cgi?id=31194
https://lists.sr.ht/~skeeto/public-inbox/%3C2d3d7662a361ddd049f7dc65b94cecdd%40disroot.org%3E
2024-01-25 11:48:16 +01:00
ocornut
8491cf36ad
Inputs: g.ActiveIdUsingManyKeys[] prevent routes from being claimed.
...
Amend fc134f5
2024-01-24 18:53:36 +01:00
ocornut
eb42e164dd
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_vulkan.cpp
2024-01-22 19:01:25 +01:00
ocornut
a201af7354
Added SetNextItemShortcut() wip function. ( #456 )
...
Mark widget as hovered. Amend d10641b
.
2024-01-22 18:38:54 +01:00
ocornut
4c2c09450a
Nav: keyboard/gamepad activation feedback properly timed instead of frame buffer. ( #456 )
...
Amend d10641b
2024-01-22 18:26:45 +01:00
ocornut
5b5e9bd0cb
Internals: Tweak shallow compaction as Clang complains about MS ABI signage of enums.
2024-01-22 17:43:58 +01:00
ocornut
7c3fa7d049
Refactor: moved section in imgui_internal.h
2024-01-22 17:42:00 +01:00
ocornut
595eb86624
Changelog, comment, minor data compaction
2024-01-22 15:27:36 +01:00
ocornut
c7edb446ca
Shortcut(): always test ownership.
...
- It doesn't sense to test route without ownership (which may be overrided by code not using routing)
- It also wouldn't be possible to call Shortcut() with _None anyway, since successful routing sets ownership.
Tangential to experiments for #7237
2024-01-19 16:40:24 +01:00
ocornut
cab7edd135
Merge branch 'master' into docking
...
# Conflicts:
# imgui_internal.h
2024-01-17 18:38:03 +01:00
ocornut
33fabdf392
Scrollbar() doesn't forcefully mark itself as hovered when held.
...
Weirdly as old as when dinosaurs roamed earth, aka first commit (per-1.0).
+ Minor alignment in both sense of the term :) Reduce padding in ImGuiNextItemData.
2024-01-17 15:47:14 +01:00
ocornut
d431d85839
Internals: removed obsolete ImPool::GetSize() (last used by implot 0.10, changed in implot 0.11)
2024-01-17 15:33:12 +01:00
ocornut
f0d1f61fa5
Internals: commented out long-time obsoleted FocusableItemRegister()/FocusableItemUnregister() documentaton-only leftovers. +
2024-01-17 15:23:30 +01:00
ocornut
5fdcdf7080
Shortcut: ImGuiInputFlags_RouteFocused policy can filter Shortcuts conflicting with character input when an item is active. ( #456 )
2024-01-16 17:51:14 +01:00
ocornut
80d5cb1ab1
Comments around ImGuiInputFlags.
2024-01-16 16:25:08 +01:00
ocornut
80c83a4277
Docking: added ImGuiDockNodeFlags_DockedWindowsInFocusRoute to configure a dock node to automatically set ParentWindowForFocusRoute on its docked windows. ( #6798 , #2637 , #456 )
2024-01-16 14:30:43 +01:00
ocornut
cceff4684a
Docking: added ImGuiWindowClass::FocusRouteParentWindowId as a public facing version of SetWindowParentWindowForFocusRoute() ( #6798 , #2637 , #456 )
2024-01-16 14:30:42 +01:00
ocornut
1cc0eb4d32
Internals: Rename NavFocusScopePath to NavFocusRoute + fixed a static analyzer warning.
2024-01-16 12:32:00 +01:00
ocornut
a27f22f0e9
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_vulkan.cpp
# imgui.cpp
# imgui_internal.h
2024-01-16 11:43:36 +01:00
ocornut
46e5f44ec8
Shortcut()/SetShortcutRouting(): use mixed current window focus scope + ParentWindowForFocusRoute. ( #6798 , #2637 , #456 )
...
Amend d474836
Begin: tweak clearing of CurrentWindow as FocusWindow() relies on it now.
Addded SetWindowParentWindowForFocusRoute() helper.
2024-01-16 11:39:41 +01:00
ocornut
e0c8c80ada
Shortcut()/SetShortcutRouting(): focus route testing now use ParentWindowForFocusRoute. Automatically set on child-window, manually configurable otherwise. ( #6798 , #2637 , #456 )
2024-01-15 17:33:47 +01:00
ocornut
4b20a0217e
Internals: add window to FocusScopeStack. ( #6798 )
2024-01-15 17:33:47 +01:00
ocornut
2156db7a07
Debug Log: added InputRouting logging. Made GetKeyChordName() use its own buffer. Fixed debug break in SetShortcutRouting(). ( #6798 , #2637 , #456 )
2024-01-15 17:33:23 +01:00
ocornut
8a3dfda8d0
Commented out obsolete ImGuiIO::ImeWindowHandle marked obsolete in 1.87, favor of writing to 'void* ImGuiViewport::PlatformHandleRaw'.
...
Amend 3a90dc38
(#2589 , #2598 , #3108 , #3113 , #3653 , #4642 )
2024-01-15 11:30:52 +01:00
ocornut
29809d7220
Version 1.90.2 WIP
2024-01-11 14:37:13 +01:00
ocornut
2dc85e6e43
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_opengl3.cpp
# imgui.cpp
# imgui_internal.h
2024-01-10 18:34:23 +01:00
ocornut
d6cb3c923d
Version 1.90.1
2024-01-10 18:00:57 +01:00
ocornut
fdf8d02be1
Debug Tools: Added io.ConfigDebugIsDebuggerPresent and Debug Break buttons. ( #2673 )
2024-01-10 17:33:19 +01:00
ocornut
788bb58b6b
Metrics: Tweak, reorganize tools menu.
2024-01-10 15:12:24 +01:00
ocornut
a5dec42866
Debug Tools: Debug Log: Clicking any filter with SHIFT held enables it for 2 frames only. ( #5855 )
2024-01-10 15:12:24 +01:00