ocornut
a61438740d
Debug Tools: Metrics: Added "Show groups rectangles" in tools.
2023-10-02 15:01:42 +02:00
ocornut
ff534b0d0a
Docking: Fixed a bug where ClassId compare tests (when using SetNextWindowClass) on success would prevent further filter from running. ( #6882 )
2023-10-02 10:57:22 +02:00
ocornut
f8aed6499f
Debug Tools: Rename ShowIdStackToolWindow() -> ShowIDStackToolWindow(). ( #4631 )
...
Squashed of 2 master commits.
2023-09-28 20:16:13 +02:00
ocornut
c21278eeae
Debug Tools: Rename ShowIdStackToolWindow() -> ShowIDStackToolWindow(). ( #4631 )
...
Amend 8175a47
2023-09-27 19:49:12 +02:00
ocornut
b7c250925f
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui_internal.h
2023-09-27 18:21:39 +02:00
ocornut
2f431a948c
IO: removed io.MetricsActiveAllocations introduced in 1.63. Same as 'g.DebugMemAllocCount - g.DebugMemFreeCount' (still displayed in Metrics.
2023-09-27 18:14:48 +02:00
ocornut
f1519efb16
BeginGroup(): fix/amend 9ece0bd
.
2023-09-27 17:25:55 +02:00
ocornut
9ece0bdc02
BeginGroup(): Fixed a bug pushing line lower extent too far down when called after a call to SameLine() followed by manual cursor manipulation.
2023-09-26 21:07:25 +02:00
ocornut
8175a47881
Debug Tools: Renamed ShowStackToolWindow() ("Stack Tool") to ShowIdStackToolWindow() ("ID Stack Tool"). ( #4631 )
2023-09-26 15:21:55 +02:00
ocornut
204ae8a407
Internals: added ImRect::ContainsWithPad()
2023-09-26 14:45:00 +02:00
ocornut
bb2fb74645
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_win32.cpp
# imgui.cpp
2023-09-26 11:42:49 +02:00
ocornut
94da5842ef
Renamed ImFloor() to ImTrunc(). Renamed ImFloorSigned() to ImFloor(). ( #6861 )
2023-09-26 11:18:29 +02:00
ocornut
c418685315
Fixed window inner clipping rectangle off by one when window is located on a monitor with negative coordinates. ( #6861 , #2884 )
2023-09-25 20:45:34 +02:00
ocornut
72ae6f5200
Fixed MousePosPrev with has never been valid outside of NewFrame().
...
bed6ef03f
always worked because it was done in NewFrame() before the assignment.
2023-09-25 15:06:50 +02:00
ocornut
d4869207e3
Misc: Most text functions also treat "%.*s" (along with "%s") specially to avoid formatting. ( #3466 , #6846 )
2023-09-25 10:47:28 +02:00
ocornut
daf49e9d82
Made ImFileOpen reuse a memory buffer so .ini saving doesn't allocate once every time. Added commented out MemAlloc/MemFree debug log.
2023-09-22 14:47:56 +02:00
ocornut
2c0007731f
Docking: fixed calling DockContextCalcDropPosForDocking() with window in node without passing its node.
2023-09-20 17:27:55 +02:00
ocornut
61acb34e32
Docking: Fixed an issue leading to incorrect restoration of selected tab in dock nodes that don't carry the currently focused window. ( #2304 )
...
In TestSuite: see "docking_tab_focus_restore".
Remove old code ~ ed3c015f
8bac6d4
8cac70d8
+ Fix potential crash in IMGUI_DEBUG_LOG_DOCKING() path when using amended buttons.
2023-09-20 14:43:47 +02:00
ocornut
3ce6b06feb
Merge branch 'master' into docking
2023-09-20 12:53:35 +02:00
ocornut
6c022f9bf1
IO, Inputs: rename SetMousePos() to TeleportMousePos(). ( #6837 , #228 )
2023-09-18 17:11:10 +02:00
ocornut
ff36fe365e
IO, Inputs: setting io.WantSetMousePos ignores incoming MousePos events. ( #6837 , #228 )
...
Allow easily implementing wrapping behaviors.
2023-09-18 17:07:35 +02:00
ocornut
ef8ff1b5d8
TabBar, Style: added style.TabBarBorderSize and associated ImGuiStyleVar_TabBarBorderSize. ( #6820 , #4859 , #5022 , #5239 )
...
Cherry-picked from docking's 64b1e44
2023-09-18 15:29:42 +02:00
ocornut
64b1e448d2
TabBar, Style: added style.TabBarBorderSize and associated ImGuiStyleVar_TabBarBorderSize. ( #6820 , #4859 , #5022 , #5239 )
...
Removed ImGuiTabItemFlags_Preview. Will need cherry-picking in master.
2023-09-18 15:28:44 +02:00
ocornut
ac3bc73c13
Docking: Fixed node tab-bar not having a filled value for tab-bar which is required for claiming moue wheel ownership in (unenabled) ImGuiTabBarFlags_FittingPolicyScroll mode.
...
Amend 5f30191
2023-09-18 14:32:23 +02:00
ocornut
72d760ba00
Docking: (Breaking) renamed ImGuiDockNodeFlags_NoDockingInCentralNode -> ImGuiDockNodeFlags_NoDockingOverCentralNode, ImGuiDockNodeFlags_NoSplit -> ImGuiDockNodeFlags_NoDockingSplit.
...
Shuffled other internal flags and added comments.
2023-09-18 12:27:29 +02:00
ocornut
f693c3d806
Docking: made "ImGuiDockNodeFlags_NoDocking" a combination of all others ImGuiDockNodeFlags_NoDockingXXX flags. ( #2999 , #6823 , #6780 , #3492 )
2023-09-18 11:27:44 +02:00
ocornut
7e246a7bb9
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui_internal.h
2023-09-16 13:51:51 +02:00
ocornut
1612813114
Docking: Internals: added ImGuiDockNodeFlags_NoUndocking. ( #2999 , #6823 , #6780 )
2023-09-15 20:44:26 +02:00
ocornut
b101cf46b6
ListBox, Combo: Changed signature of "name getter" callback in old one-liner ListBox()/Combo() apis.
2023-09-15 18:43:04 +02:00
ocornut
8a2cd81091
TypingSelect: always enable nav highlight.
...
Otherwise in non multi-select contexts as nav dosn't automatically select result would not always be visible.
2023-09-15 16:58:06 +02:00
ocornut
661a70fc79
TypingSelect: fast switch between characters in + debug, internal renames.
...
# Conflicts:
# imgui.cpp
# imgui_internal.h
2023-09-14 17:45:54 +02:00
ocornut
c86ce70968
Internal: Nav,MultiSelect: import ImGuiSelectionUserData, SetNextItemSelectionUserData() from MultiSelect. Track NavLastValidSelectionUserData as a convenience.
2023-09-12 20:29:36 +02:00
ocornut
9714594c35
Tooltips: made using SetItemTooltip()/IsItemHovered(ImGuiHoveredFlags_ForTooltip) defaults to activate tooltips on disabled items.. ( #1485 )
2023-09-12 11:55:34 +02:00
ocornut
6eb2681c09
Internals: InitOrLoadWindowSettings() clear Size again for better data nuking in tests. Debug Log: added ImGuiDebugLogFlags_OutputToTestEngine flag.
2023-09-11 20:41:09 +02:00
ocornut
357f752bed
Docs: add more links to the top of every examples and backends files.
2023-09-11 14:01:40 +02:00
ocornut
b9ab6e2019
Nav: Tabbing always enable nav highlight when ImGuiConfigFlags_NavEnableKeyboard is set. ( #6802 , #3092 , #5759 , #787 )
2023-09-11 12:12:14 +02:00
ocornut
72dbe45adc
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_win32.cpp
# imgui.cpp
2023-09-08 18:02:06 +02:00
ocornut
7812039402
ImVector: Added find_index() helper.
2023-09-08 16:57:48 +02:00
ocornut
44a6b493ee
Commented out obsolete ImDrawCornerFlags_XXX. Commented out runtime support for hardcoded ~0 or 0x01..0x0F rounding flags values for AddRect()/AddRectFilled()/PathRect()/AddImageRounded()
...
Amend 5185329
, 3f5b2a3
, c2d6d26
, 39432bf
, 033dfd9
2023-09-08 12:14:11 +02:00
ocornut
becd75676f
Commented out obsolete redirecting function: GetWindowContentRegionWidth().
2023-09-08 11:28:17 +02:00
ocornut
727c462069
Internals: Added ImTextFindPreviousUtf8Codepoint() helper + comments.
2023-09-08 11:28:13 +02:00
ocornut
fb9b006865
Version 1.90 WIP
2023-09-05 16:46:52 +02:00
ocornut
1d8e48c161
Using range-based for where it makes sense. ( #4537 )
...
Amend 82d177c
2023-09-04 15:13:12 +02:00
ocornut
a1b60fc1f5
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui_demo.cpp
2023-09-04 14:59:59 +02:00
ocornut
fef3389157
Version 1.89.9
2023-09-04 14:30:32 +02:00
ocornut
e8a5c9e1b8
Tables: Made it possible to change style.CellPadding.y between rows. Added demo.
2023-09-04 11:23:54 +02:00
ocornut
3816d478df
ImDrawList: small debug-mode optimization when calling AddRect() without rounding + Selectable: small debug-mode optimization.
...
# Conflicts:
# imgui_widgets.cpp
2023-09-01 15:25:47 +02:00
ocornut
303dc091b4
Revert "IO: ImGuiMod_Shortcut (Ctrl/Cmd depending on platform) is reflected in io.KeyMods. ( #5923 , #456 )"
...
This reverts commit b8f93a8fe0
. Too breaking for user.
2023-09-01 12:24:15 +02:00
ocornut
b8f93a8fe0
IO: ImGuiMod_Shortcut (Ctrl/Cmd depending on platform) is reflected in io.KeyMods. ( #5923 , #456 )
2023-09-01 12:15:08 +02:00
ocornut
a066074054
Clipper: Fixed a bug if attempt to force-include a range which matches an already included range. ( #3841 )
2023-08-31 21:39:27 +02:00
ocornut
bdd9b96fa3
Demo: Reorganized "Examples" menu. Tweak Property Editor.
2023-08-31 20:04:43 +02:00
ocornut
300464a487
Docking: when io.ConfigDockingWithShift is enabled, staying stationary while moving a window displays an help tooltip to increase affordance. ( #6709 , #4643 )
...
Hope this doesn't feel spammy?
2023-08-30 17:45:06 +02:00
ocornut
7d6e83efca
Docking: Fixed non-root dockspace not having their background rendered properly.
...
Fix f422e78
. Fuller version of 08b3a1a
pushed in master.
2023-08-30 15:26:46 +02:00
ocornut
08b3a1a34a
ImDrawList: Automatically calling ChannelsMerge() if not done after a split.
...
Ties fixing f422e78
in docking: iterating root windows was incorrect. Will be faster to lazily merge in RenderDimmedBackground() rather than iterate all.
2023-08-30 15:22:36 +02:00
ocornut
82d177ccbd
Using range-based for where it makes sense. ( #4537 )
2023-08-28 12:21:44 +02:00
ocornut
762ec445e6
Docking: Fixed bad bug, dock node host wouldn't merge background. ( #6753 , #6716 )
...
Fixes f422e78
. Didn't crash because g.Windows[] is always larger than g.WindowsFocusOrder[].
2023-08-28 11:25:50 +02:00
ocornut
33ea1e8b78
ColorEdit, ColorPicker: Manipulating options popup don't mark item as edited. ( #6722 )
2023-08-28 10:38:13 +02:00
ocornut
f617fe7890
Clipper: Renamed IncludeRangeByIndices()/ForceDisplayRangeByIndices() to IncludeItemsByIndex(). ( #6424 , #3841 )
...
Single item version added in prevous commit (2000537
) renamed to IncludeItemByIndex() too.
2023-08-25 18:22:54 +02:00
ocornut
61d35972e2
CloseButton, CollapseButton: don't include FramePadding into size. Use ItemInnerSpacing.x between title bar buttons. Amend for Docking. ( #6749 )
2023-08-25 14:29:42 +02:00
ocornut
676497fe05
Merge branch 'master' into docking
...
ac64b65
on master seemed incorrect.
# Conflicts:
# docs/CHANGELOG.txt
# imgui.cpp
# imgui_internal.h
# imgui_widgets.cpp
2023-08-25 14:20:51 +02:00
ocornut
4a81424492
CloseButton, CollapseButton: don't include FramePadding into size. Use ItemInnerSpacing.x between title bar buttons. ( #6749 )
2023-08-25 14:14:34 +02:00
Diego Mateos
040e818d72
Fix typo in SameLine comment ( #6745 )
2023-08-23 10:11:42 +02:00
ocornut
ba1fa904a9
IO: Exposed io.PlatformLocaleDecimalPoint to configure decimal point ('.' or ','). ( #6719 , #2278 )
...
Amend 13f718337
2023-08-17 13:12:21 +02:00
Rick Huang
a6857ede03
IO: fix writing to incorrect union section for MouseSource in AddMousePosEvent and AddMouseButtonEvent. ( #6727 , #2702 )
...
Technically may have had no side-effects unless non-standard alignment used.
2023-08-16 17:50:11 +02:00
ocornut
d2c7cbcbf9
Misc: Made multiple calls to Render() during the same frame early out faster.
2023-08-14 16:23:04 +02:00
ocornut
ac64b65634
Render: draw dimmed background earlier to match docking code. ( #6716 )
...
Amend f422e78
2023-08-14 16:21:12 +02:00
ocornut
f422e7826f
ImDrawData: Fixed an issue where TotalVtxCount/TotalIdxCount does not match the sum of individual ImDrawList's buffer sizes. ( #6716 )
...
Amend dbeeeae59
2023-08-14 16:12:15 +02:00
ocornut
1362fc0c56
Debug, Internals: Added DebugDrawCursorPos(), DebugDrawLineExtents() helpers.
2023-08-09 11:14:44 +02:00
ocornut
63b6300c39
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui.h
# imgui_internal.h
2023-08-08 14:16:13 +02:00
ocornut
bc3c0ce772
Nav, TreeNode: Pressing Left with ImGuiTreeNodeFlags_NavLeftJumpsBackHere now goes through proper navigation logic: honor scrolling and selection. ( #1079 , #1131 )
...
Added a stack for this purpose which other features might build on (e.g. #2920 ). However this is currently gated by many tests and not a performance concern, but making stack happen all the time may be undesirable.
2023-08-08 14:07:00 +02:00
ocornut
226923fa7e
Metrics: Fixed "Drawlists" section and per-viewport equivalent appearing empty (regression from c649aca
).
...
(#6597 , #6475 , #6167 , #5776 , #5109 , #4763 , #3515 , #1860 )
2023-08-06 20:30:07 +02:00
ocornut
cf3726bcbc
Internals: rename bg/fg drawlist holders in structs to reduce confusion.
2023-08-06 19:46:27 +02:00
ocornut
d6d94d90bf
Version 1.89.9 WIP
...
+ Minor typo fixes
2023-08-03 19:19:21 +02:00
ocornut
f8704cd085
Merge branch 'master' into docking
2023-08-01 13:11:26 +02:00
ocornut
f7eea63872
Version v1.89.8
2023-08-01 12:53:57 +02:00
ocornut
30594c37d0
Merge branch 'master' into docking
2023-08-01 10:22:21 +02:00
septag
f1781c20a3
Added IMGUI_DISABLE_STB_SPRINTF_IMPLEMENTATION config macro to disable stb_sprintf implementation ( #6626 )
2023-07-25 12:07:32 +02:00
ocornut
f8f805f046
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_dx10.cpp
# backends/imgui_impl_dx11.cpp
# backends/imgui_impl_dx12.cpp
# backends/imgui_impl_dx9.cpp
# backends/imgui_impl_glfw.cpp
# backends/imgui_impl_opengl2.cpp
# backends/imgui_impl_opengl3.cpp
# backends/imgui_impl_osx.mm
# backends/imgui_impl_sdl2.cpp
# backends/imgui_impl_sdl3.cpp
# backends/imgui_impl_vulkan.cpp
# backends/imgui_impl_win32.cpp
2023-07-20 23:18:47 +02:00
ocornut
db66e33e9e
Tables: fixed GetContentRegionAvail().y report not taking account of lower cell padding or of using ImGuiTableFlags_NoHostExtendY. ( #6619 )
...
Made GetContentRegionMax() fully defer to WorkRect when inside a table container.
2023-07-20 13:26:58 +02:00
ocornut
2bc5d17ac3
Tables: fixed calculation of multi-instance shared decoration/scrollbar width of scrolling tables. ( #5920 , #6619 )
...
Avoid width variation when resizing down a table hosting a child window.
+ shallow tweak to GetContentRegionMax().
2023-07-20 12:01:29 +02:00
ocornut
d342ec10cc
Overlap, IsItemHovered: clarification on using IsItemHovered() on a non-reactive item after a reactive overlappable one. ( #6610 )
2023-07-18 11:18:58 +02:00
ocornut
0e8eb8c48e
Removed _MSC_VER <= 1500 checks for Visual Studio 2008 or earlier.
...
Our codebase requires VS2012+ since a while.
2023-07-13 12:38:16 +02:00
ocornut
863ac31f01
Doc: various tweaks + tweak imconfig comments.
2023-07-13 12:38:16 +02:00
ocornut
023e59a5f2
ImDrawData: call _PopUnusedDrawCmd() later. as RenderDimmedBackgrounds() rely on a valid command being there (especially in docking branch). ( #6406 , #4879 , #1878 )
...
Amend/fix dbeeeae
for docking.
+ Build fix when using IMGUI_DISABLE_DEBUG_TOOLS
2023-07-12 18:40:04 +02:00
ocornut
6888e6cdff
ImDrawData: call _PopUnusedDrawCmd() later. as RenderDimmedBackgrounds() rely on a valid command being there (especially in docking branch). ( #6406 , #4879 , #1878 )
...
Amend/fix dbeeeae
for docking.
+ Build fix when using IMGUI_DISABLE_DEBUG_TOOLS
2023-07-12 18:39:48 +02:00
ocornut
0110f4c8cc
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui.h
# imgui_internal.h
2023-07-12 18:19:24 +02:00
ocornut
dbeeeae593
ImDrawData: Slight refactor so internal logic uses same logic as AddDrawList(). ( #6406 , #4879 , #1878 )
...
# Conflicts:
# imgui.cpp
# imgui_internal.h
2023-07-12 18:11:42 +02:00
ocornut
1a9ddd2396
ImDrawData: added AddDrawList() helper function. ( #6406 , #4879 , #1878 )
2023-07-12 18:11:42 +02:00
ocornut
c649aca20a
ImDrawData: changed CmdLists from raw array to ImVector<> owned by ImDrawData itself. Faclitate user-manipulation of the array ( #6406 , #4879 , #1878 ) + deep swap. ( #6597 , #6475 , #6167 , #5776 , #5109 , #4763 , #3515 , #1860 )
...
+ Metrics: avoid misleadingly iterating all layers of DrawDataBuilder as everything is flattened into Layers[0] at this point.
# Conflicts:
# imgui.cpp
# imgui_internal.h
2023-07-12 18:11:42 +02:00
ocornut
cc4c37dbac
Nav: PageUp/PageDown always set NavJustMovedTo even when landing on same spot (which can trigger a selection).
...
This is mostly expected for range-select.
+ Rename ImGuiNavMoveFlags_Tabbing -> ImGuiNavMoveFlags_IsTabbing
2023-07-11 16:49:26 +02:00
ocornut
51b348095c
Docking, Style: resizing separators use same colors as window borders. ( #2522 )
2023-07-11 15:17:54 +02:00
ocornut
f4942bca32
Docking: follow to 27c735e
to fix rendering of docked-window scrollbar above outer border. ( #2522 )
2023-07-11 15:01:20 +02:00
ocornut
f6feddd1ee
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
2023-07-11 12:44:15 +02:00
ocornut
b79751ebad
Docking: Added DockingSeparatorSize to style: amends ( #3481 , #4721 , #2522 )
...
Add ImGuiStyleVar_DockingSeparatorSize + misc Docking related comments.
2023-07-11 12:43:50 +02:00
PossiblyAShrub
a5aff5fd3e
Docking: Added DockingSeparatorSize to style ( #3481 , #4721 , #2522 )
...
(DockingSplitterSize in current commit, about to be renamed)
2023-07-11 12:37:40 +02:00
ocornut
140726d23f
Fixed CTRL+Tab dimming background assert when target window has a callback in the last ImDrawCmd. ( #4857 , #5937 )
2023-07-10 15:10:42 +02:00
ocornut
6aa408c6af
IO: Added io.ClearEventsQueue(). Obsoleted io.ClearInputCharacters(). ( #4921 )
...
cc #2425 #1153 #1600
2023-07-06 15:55:17 +02:00
ocornut
3fe4319314
Version 1.89.8 WIP
2023-07-05 14:17:46 +02:00
ocornut
677c7b2258
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_vulkan.cpp
# docs/CHANGELOG.txt
# docs/TODO.txt
2023-07-04 14:58:03 +02:00
ocornut
cb9015e254
Version 1.89.7
2023-07-04 14:56:09 +02:00
ocornut
1029f57b8a
Inputs, Tooltip: Rework stationary timer logic as it broke on high-framerates with lower rate of mouse inputs. ( #1485 )
2023-07-03 12:17:46 +02:00
ocornut
655aae5911
Comments + docs: tidying up todo list + demo tweak for tooltips.
2023-06-30 14:58:49 +02:00
ocornut
a88e5be7f4
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui_widgets.cpp
2023-06-28 14:56:33 +02:00
ocornut
6137443d24
Overlap: moved ImGuiItemflags_AllowOverlap handling from ButtoBehavior() to ItemHoverable() now that it is possible. ( #6512 , #3909 , #517 )
...
This allows DragXXX, SliderXXX, PlotXXX etc to honor SetNextItemAllowOverlap().
2023-06-28 14:42:14 +02:00
ocornut
4dee919bc0
(Breaking) Internals: added ImGuiItemFlags param to ItemHoverable(), so it can be called from ButtonBehavior() not following an ItemAdd().
...
This also allow moving AllowOverlap logic from ButtonBehavior() to ItemHoverable(), allowing other widgets to honor it. (#6512 , #3909 , #517 )
2023-06-28 14:42:14 +02:00
ocornut
10c7709f30
Overlap: IsItemHovered: Changed behavior to return false when querying an item using AllowOverlap mode. Added ImGuiHoveredFlags_AllowWhenOverlappedByItem, ImGuiHoveredFlags_AllowWhenOverlappedByWindow., ( #6512 , #3909 , #517 )
2023-06-28 14:40:47 +02:00
ocornut
8439a73645
Overlap: Added 'SetNextItemAllowOverlap()' as a replacement for 'SetItemAllowOverlap()'. ( #6512 , #3909 , #517 )
...
# Conflicts:
# imgui.cpp
# imgui_widgets.cpp
2023-06-28 14:40:47 +02:00
ocornut
a9a5cbf431
Overlap: Internals: add NextItemData.ItemFlags to facilitate implementation of SetNextItemAllowOverlap() + potentially remove extra_flags from ItemAdd(). ( #6512 , #3909 )
2023-06-28 14:40:47 +02:00
ocornut
51f564eea6
(Breaking) Overlap: Renamed 'ImGuiTreeNodeFlags_AllowItemOverlap' to 'ImGuiTreeNodeFlags_AllowOverlap', 'ImGuiSelectableFlags_AllowItemOverlap' to 'ImGuiSelectableFlags_AllowOverlap'. Kept redirecting enums (will obsolete). ( #6512 , #3909 , #517 )
...
+ Internals: Renamed 'ImGuiButtonFlags_AllowItemOverlap' to 'ImGuiButtonFlags_AllowOverlap' without redirection.
2023-06-28 14:37:05 +02:00
ocornut
b03a4993b3
Internals: reorder tests in ItemHoverable() so most likely early out are taken first.
2023-06-27 15:44:35 +02:00
ocornut
836aff3467
Drag and Drop: Amend ItemHoverable() logic for item with no identifier.
...
Amend d5d4d70
2023-06-27 15:23:19 +02:00
ocornut
d5d4d709c7
Drag and Drop: moved "drag souce doesn't report as hovered" from ButtonBehavior() to ItemHoverable().
...
Ensure DragXXX, SliderXXXX, InputText, PlotXXX follow same logic. Amend 251f178a6
, a33f0d1f7
2023-06-27 14:44:39 +02:00
ocornut
6b01114057
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_opengl3.cpp
2023-06-23 16:04:13 +02:00
ocornut
057fcae30c
Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 4.
...
Part 4: store reference viewport id from last visible single window stored in node. So Win1 -> Win1|Win2 can reuse viewport on split.
Refer to "viewport_owner_change_1" and "viewport_owner_change_2" in ImGuiTestSuite.
2023-06-23 16:03:01 +02:00
ocornut
35b41949fb
Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 3.
...
Part 3: DockNodeRemoveWindow() clears viewports so it doesn't get bounced back and forth.
Note that in case of called from e.g. dock builder this can happen mid-frame. Clearing Viewport here isn't well exercised yet. If window doesn't get a Begin() in same-frame it'll be hidden.
Refer to "viewport_owner_change_1" and "viewport_owner_change_2" in ImGuiTestSuite.
Amend 6b77668171
2023-06-23 15:55:14 +02:00
ocornut
099e8533e2
Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 2.
...
Part 2: Fixed various transfer cases.
Refer to "viewport_owner_change_1" and "viewport_owner_change_2" in ImGuiTestSuite.
2023-06-23 15:51:43 +02:00
ocornut
66c09fc05b
Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 1.
...
Part 1: Add counters. Amend logs.
Refer to "viewport_owner_change_1" and "viewport_owner_change_2" in ImGuiTestSuite.
2023-06-23 15:49:45 +02:00
ocornut
7d81a166f9
Docking: Fixed one-frame flickering on reappearing windows binding to a dock node where a later-submitted window was already bound.
2023-06-23 15:49:45 +02:00
ocornut
6b2e03c5b1
GetKeyName(): Fixed assert with ImGuiMod_XXX values when IMGUI_DISABLE_OBSOLETE_KEYIO is set.
2023-06-22 22:03:02 +02:00
ocornut
e4aeef4b9f
Viewports: Closing a viewport via OS/platform means (e.g. OS close button or task-bar menu), mark all windows in this viewport as closed.
2023-06-21 15:34:51 +02:00
ocornut
1450d23b60
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_glfw.cpp
# docs/CHANGELOG.txt
# imgui.cpp
2023-06-20 15:12:09 +02:00
ocornut
9214c28aad
IsWindowHovered, IsItemHovered: Assert when passed any unsupported flags.
2023-06-20 15:04:15 +02:00
ocornut
e7a4327eb8
IsWindowHovered: Added support for ImGuiHoveredFlags_Stationary.
2023-06-20 15:04:14 +02:00
ocornut
b60acfa87d
Tooltips: Added SetItemTooltip(), BeginItemTooltip(). Improved Demo section.
2023-06-20 15:04:14 +02:00
ocornut
0f72652c2d
IsItemHovered, Tooltips: Added io.HoveredFlagsForTooltipMouse, io.HoveredFlagsForTooltipNav now pulled by ImGuiHoveredFlags_Tooltip. ( #1485 )
2023-06-20 15:04:14 +02:00
ocornut
b3b8cbd001
IsItemHovered, Tooltips: Added ImGuiHoveredFlags_ForTooltip, ImGuiHoveredFlags_Stationary. ( #1485 )
...
Update demo accordingly.
2023-06-20 15:04:14 +02:00
ocornut
d4b94bd65b
(Breaking) Moved io.HoverDelayShort/io.HoverDelayNormal to style.HoverDelayShort/style.HoverDelayNormal. ( #1485 )
2023-06-20 15:04:13 +02:00
ocornut
f09ef23ae6
IsItemHovered, Tooltips: Tweak default delay again. ( #1485 )
...
Amend eec344c
2023-06-20 14:43:38 +02:00
ocornut
194916135a
Internals: renamed HoverDelay fields.
2023-06-16 16:56:33 +02:00
ocornut
15d74bad1d
Internals: Tooltips: renamed internal flags (expecting to expose later when we publish priority stuff).
2023-06-16 16:55:51 +02:00
ocornut
89d3dabf2e
Modals: In the case of nested modal, made sure that focused or appearing windows are moved below the lowest blocking modal (rather than the highest one). ( #4317 )
...
Fix FindBlockingkModal() which didn't do what the comments say for the first 2 lines.
This is also fixing a crash in FindBlockingModal() which can only happen with dock node, see "window_popup_nested_interruptions_2" and viewport_platform_focus_4" tests.
The dock-node related crash comes from the fact that automatic dock node and implicit debug window don't share a common ancestor, so ParentWindowInBeginStack ends up NULL before the loop had a chance to find a match.
2023-06-14 21:58:28 +02:00
ocornut
eec344cc1e
Tweak HoverDelayClearTimer. Not exposing since I am unsure logic is viable (and is rather complex with upcoming addition of stationary logic). ( #1485 )
...
+ Tweaked default value of io.HoverDelayNormal from 0.30 to 0.35.
2023-06-14 18:29:49 +02:00
ocornut
6cabad6e7a
Encode version string in binary to facilitate identification when demo/tools are striped + amend About window.
2023-06-14 16:18:40 +02:00
ocornut
534340cd88
Tooltips: Tweak default offset for non-drag and drop tooltips.
2023-06-13 15:27:46 +02:00
ocornut
e95d66faa8
Clipper: Rework inner logic to allow functioning with a zero-clear constructor. ( #5856 )
2023-06-13 14:55:02 +02:00
ocornut
ef07ddf087
Debug Tools: Added 'io.ConfigDebugIniSettings' option to save .ini data with extra comments.
...
Moved from compile-time to runtime flag. Applied docking specific change to this cherry-picked commit.
# Conflicts:
# docs/CHANGELOG.txt
2023-06-13 11:55:21 +02:00
ocornut
9c16976749
Debug Tools: Added 'io.ConfigDebugIniSettings' option to save .ini data with extra comments.
...
Moved from compile-time to runtime flag. Note: commit in master is not particularly useful. Docking version will add stuff.
2023-06-13 11:54:29 +02:00
ocornut
fa5d2656b0
Docking: DockBuilderDockWindow() API calls don't clear docking order if the target node is same as existing one
...
+ Add more debug log + Display DockOrder in metrics.
2023-06-13 11:37:35 +02:00
ocornut
3f63cee4c1
Docking: Fixed dragging from title-bar empty space ( #5181 , #2645 )
...
This would need a test in ImGuiTestSuite.
2023-06-12 15:33:20 +02:00
ocornut
0664877998
Merge branch 'master' into docking
2023-06-09 14:02:19 +02:00
ocornut
4fab72b40e
BeginChild/Tables: Fixed BeginChild temporary activation id collision. Fixes regression in 1.89.6 leading to the first column of tables with either ScrollX or ScrollY flags from being impossible to resize. ( #6503 )
2023-06-09 14:01:21 +02:00
ocornut
956a1a17fb
Internals: add ImGuiNavMoveFlags_NoSelect and use in FocusItem().
...
(amend 31f11cf
which broke raage-select)
2023-06-01 15:50:14 +02:00
ocornut
31f11cf304
Internals: Added FocusItem(). Made activation explicit/opt-in via ImGuiNavMoveFlags_Activate. Rename ActivateItem() to ActivateItemByID().
2023-06-01 15:35:01 +02:00
ocornut
61ebb37843
Version 1.89.7 WIP
2023-06-01 11:22:43 +02:00
ocornut
823a1385a2
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_sdlrenderer.h
# docs/CHANGELOG.txt
# imgui.cpp
2023-05-31 14:51:56 +02:00
ocornut
5319d1cffa
Version 1.89.6
2023-05-31 14:47:32 +02:00
ocornut
88e7d773df
Backends: SDL_Renderer2: Renamed 'imgui_impl_sdlrenderer.h/cpp' to 'imgui_impl_sdlrenderer2.h/cpp' ( #6286 )
2023-05-30 20:11:19 +02:00
ocornut
3418d50949
Viewports: Fixes erroneous popup closure on closing a previous popup. ( #6462 , #6299 )
...
Avoid applying imgui-side focus when focus change is due to a viewport destruction.
2023-05-30 17:09:27 +02:00
ocornut
7e03ae3240
Window: Fixed resizing from upper border when io.ConfigWindowsMoveFromTitleBarOnly is set. ( #6390 )
2023-05-25 15:23:01 +02:00
ocornut
7947f327de
Demo: added casing swap demo to clarify use of ImGuiInputTextFlags_CallbackCharFilter. ( #6457 ) + Metrics: simplified some code.
2023-05-25 14:19:11 +02:00
ocornut
47579f8a40
Nav: set NavJustMovedToXXX fields on NavInit result + BeginChild() clears ActiveId on N+1 on entering instead of waiting for ID to elapse on N+2.
...
# Conflicts:
# imgui_internal.h
2023-05-23 16:28:53 +02:00
ocornut
54c1ac3e38
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
2023-05-22 10:10:29 +02:00
ocornut
45c8c3b611
Listbox: commented out obsolete/redirecting functions that were marked obsolete more than two years ago: ListBoxHeader(), ListBoxFooter().
...
+ Added default parameter to SeparatorEx() amend 2c558d5
2023-05-22 10:09:20 +02:00
ocornut
e590b5114e
Viewports: Fixed loss of imgui-side focus when dragging a secondary viewport back in main viewport. ( #6299 )
...
Amend d2291df55
, 63370be0e
, dcb6335bfe
2023-05-20 14:22:01 +02:00
GamingMinds-DanielC
e489e40a85
Clipper: Amend ecb0aaa
( #6424 , #3841 )
2023-05-15 14:06:16 +02:00
ocornut
ecb0aaa7c2
Clipper: Renamed ForceDisplayRangeByIndices() to IncludeRangeByIndices(). ( #6424 , #3841 ) + commented out obsolete ImGuiListClipper() constructor.
2023-05-15 12:06:29 +02:00
ocornut
a550263d6c
Misc: made ErrorCheckEndWindowRecover() handle font stack. ( #6431 , #1651 )
2023-05-15 11:15:13 +02:00
ocornut
bcfc1ad8f6
Nav: Forwarded (wrap/loop) request don't mistakenly wreck reference pos.
...
Amend 6656553
2023-05-10 15:22:17 +02:00
ocornut
530134d125
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_metal.mm
# backends/imgui_impl_opengl3.cpp
# backends/imgui_impl_osx.mm
# backends/imgui_impl_sdl3.cpp
# imgui.cpp
2023-05-10 12:57:37 +02:00
ocornut
430c05991c
Docs: added more detailed information about UTF-8 encoding.
...
+ Revert mistakenly committed Win32+DX11 main.cpp from last commit.
2023-05-10 12:54:51 +02:00
ocornut
0397321be0
Debug Tools: Added 'io.ConfigDebugIgnoreFocusLoss' option. ( #4388 , #4921 )
2023-05-09 20:28:08 +02:00
ocornut
6656553fa4
Nav: Record/restore preferred position on each given axis.
...
Tagging #6344 #6003 #2694 #1688 as it relates to scoring, however this doesn't technically fix any of them fully yet.
But e.g. once we restore axial path for #2694 this commit will allow going back and forth to initial location.
2023-05-09 17:26:27 +02:00
ocornut
15da1a9abc
Fixed misleading local name ( #4493 ) + minor typo ( #6369 )
2023-04-25 16:39:02 +02:00
ocornut
594cc4793a
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
2023-04-25 12:21:16 +02:00
ocornut
b47507951e
Nav: Fixed CTRL+Tab into a root window with only childs with _NavFlattened flags erroneously initializing default nav layer to menu layer.
2023-04-24 21:00:00 +02:00
ocornut
eed7b0e9c5
Nav: remove other-axis clamping, now that columns themselves are clamped. ( #2221 )
...
Amend 00d3f92
+ older f2d14724
, 0cc20fca8
+ Add ImGuiNavMoveFlags_WrapMask_ for good measure.
2023-04-24 20:04:05 +02:00
ocornut
da3d7e1587
Focus: added an early out in FocusWindow() for the common case.
2023-04-24 12:18:55 +02:00
ocornut
d2291df551
Viewports: Fixed setting focus from platform decoration from accidentally closing modals ( #6299 , #6357 )
...
+ Fixed double-assignment static analyzer warning.
# Conflicts:
# imgui.cpp
2023-04-21 19:22:41 +02:00
ocornut
bba39762dc
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_win32.cpp
# imgui.cpp
# imgui_internal.h
# imgui_widgets.cpp
2023-04-21 19:12:11 +02:00
ocornut
4d42450a73
Focus: amend ImGuiFocusRequestFlags_UnlessBelowModal to bring to front-most below the modal, simplify code in Begin(). ( #6357 , #4317 )
2023-04-21 19:07:45 +02:00
ocornut
01ca196530
Focus: move focused child restore code in FocusWindow() with ImGuiFocusRequestFlags_RestoreFocusedChild flag. ( #6357 )
...
# Conflicts:
# imgui.cpp
2023-04-21 19:07:08 +02:00
ocornut
30eceaf95f
Focus: start moving modal check into FocusWindow(), add ImGuiFocusRequestFlags_UnlessBelowModal (currently opt-in, should try to make opt-out). ( #6357 , #4317 )
2023-04-21 19:06:11 +02:00
ocornut
f0fe1957a8
Focus: merge extra param for FocusTopMostWindowUnderOne() from docking branch to facilitate merge.
2023-04-21 19:05:58 +02:00
ocornut
ac38c8e6fe
IO: removed ImGuiBackendFlags_HasMouseHoveredViewport assert in AddMouseViewportEvent().
...
In theory shouldn't accept them, but a backend overriding another would be prevented from doing so because of this (test engine).
2023-04-21 18:01:18 +02:00
ocornut
00d3f9295e
Nav: Fixed navigation within tables/columns where item boundaries goes beyond columns limits. ( #2221 )
2023-04-20 16:42:52 +02:00
ocornut
8d9e50c807
Nav: fixed IMGUI_DEBUG_NAV_SCORING not setting NavMoveClipDir, leading to debug result not matching real results.
2023-04-20 16:04:05 +02:00
ocornut
662ce46971
Debug Log: Fixed not parsing 0xXXXXXXXX values when the identifier is at the end of the line.
2023-04-20 14:52:59 +02:00
ocornut
4f692ba840
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_metal.mm
# backends/imgui_impl_opengl3.cpp
# backends/imgui_impl_osx.mm
# backends/imgui_impl_win32.cpp
# docs/CHANGELOG.txt
2023-04-19 16:35:50 +02:00
ocornut
d6a7aca2f4
Nav: Debug: tweak debug facilities.
2023-04-18 15:47:29 +02:00
ocornut
064153fca4
Version 1.89.6 WIP
2023-04-17 14:40:00 +02:00
ocornut
0ea3b87bd6
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# imgui_internal.h
2023-04-13 16:24:09 +02:00
ocornut
1ebb913827
Version 1.89.5
2023-04-13 16:17:49 +02:00
ocornut
995f92a456
Nav: Made PageUp/PageDown/Home/End navigation also scroll parent windows.
...
+ Added ImGuiDebugLogFlags_EventSelection unused in this branch.
2023-04-12 21:38:47 +02:00
ocornut
aec062a8a5
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_osx.mm
# backends/imgui_impl_sdl2.cpp
# backends/imgui_impl_sdl3.cpp
# docs/CHANGELOG.txt
# examples/example_win32_directx9/main.cpp
# imgui_internal.h
2023-04-11 16:16:17 +02:00
ocornut
18d72a9142
Inputs: added a unique event identifier in ImGuiInputEvent.
2023-04-11 15:07:42 +02:00
Michael Martz
506f7e0074
Using nullptr in locations where warning disable is not convenient. ( #6313 , #4537 )
2023-04-11 11:33:50 +02:00
ocornut
9203883bbe
Comments + Metal using SetTexID(0) for consistency.
2023-04-11 11:22:42 +02:00
ocornut
ec461c6ccb
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_sdl2.cpp
# backends/imgui_impl_sdl3.cpp
# imgui_demo.cpp
2023-04-06 19:16:08 +02:00
ocornut
8738ed88f0
Fixed FindWindowSettingsByID() being able to return a deleted setting.
2023-04-06 18:50:24 +02:00
ocornut
63370be0e5
Viewports: fix/amend dcb6335
to (1) avoid refocusing when focus action was actionned from a click within imgui boundaries and (2) restore a null focus as well. ( #6299 )
2023-04-06 16:29:36 +02:00
ocornut
1f0b46b93c
Viewports: moved Platform_GetWindowFocus queries in UpdateViewportsNewFrame(). Added ImGuiViewportFlags_IsFocused status flag. ( #1542 )
...
Not sure why queries were in UpdatePlatformWindows().
- initially added there on 2018/04/26 f1ae07e532
(squashed)
- slightly moved in cd51f37fc0
for the purpose of putting less constraint on backend but that check is now done on our side anyhow.
Seems more consistent to do it nxt to other polling in UpdateViewportsNewFrame().
Not using ImGuiViewportFlags_IsFocused yet.
2023-04-06 16:08:53 +02:00
ocornut
ed72fcd12a
Viewports: Internal: rename LastFrontMostStampCount -> LastFocusedStampCount. Rename ImGuiViewportFlags_Minimized -> ImGuiViewportFlags_IsMinimized
...
Effectively it is currently the later, but see comment "Even without focus, we assume the window becomes front-most." in UpdatePlatformWindows().
+ Moved Window field at top since it is most useful.
2023-04-06 15:17:52 +02:00
ocornut
dcb6335bfe
Viewports: Setting focus from Platform/OS sets corresponding focus at Dear ImGui level. ( #6299 )
2023-04-05 20:25:05 +02:00
ocornut
ee5ce36745
Merge branch 'master' into docking, including specific merge for imgui_impl_glfw.cpp for f070497
...
# Conflicts:
# backends/imgui_impl_glfw.cpp
# backends/imgui_impl_sdl2.cpp
# backends/imgui_impl_sdl3.cpp
# backends/imgui_impl_win32.cpp
# docs/CHANGELOG.txt
# imgui.cpp
# imgui.h
# imgui_internal.h
2023-04-04 21:17:47 +02:00
ocornut
c9fe7ebc7b
IO: Input queue trickling adjustment for touch screens. ( #2702 , #4921 )
...
+ amend two comments in imgui.h
2023-04-04 21:05:27 +02:00
ocornut
a16f99c6a2
IO: Added io.AddMouseSourceEvent() and ImGuiMouseSource enum. ( #2702 , #2334 , #2372 , #3453 , #5693 )
2023-04-04 20:18:57 +02:00
ocornut
13931fd851
Redirecting domain name
...
Tired of paying/maintaining two domains names and .org tend to be fluctuating + changing host company for sponsoring.
2023-04-03 15:07:20 +02:00
ocornut
4fdafef54f
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_opengl2.cpp
# backends/imgui_impl_opengl3.cpp
# backends/imgui_impl_sdl2.cpp
# backends/imgui_impl_sdl3.cpp
# docs/CHANGELOG.txt
# imgui_widgets.cpp
2023-03-29 18:41:41 +02:00
ocornut
5f301914a0
TabBar: Tab-bars with ImGuiTabBarFlags_FittingPolicyScroll can be scrolled with horizontal mouse-wheel (or Shift + WheelY). ( #2702 )
2023-03-29 17:10:03 +02:00
ocornut
84fd0c7ff4
Inputs, IO: record MouseWheelRequestAxisSwap information. Apply in UpdateMouseWheel() before legacy ctrl+wheel.
2023-03-29 17:09:58 +02:00
ocornut
bf87fbcbcc
Docking: Fixed using GetItemXXX() or IsItemXXX() functions after a DockSpace(). ( #6217 )
2023-03-22 18:58:32 +01:00
ocornut
89d09070e3
Nav: Made Ctrl+Tab/Ctrl+Shift+Tab windowing register ownership to held modifier. ( #4828 , #3255 , #5641 )
2023-03-22 15:42:14 +01:00
ocornut
ad44f5831a
Merge branch 'master' into docking
2023-03-21 17:04:54 +01:00
ocornut
e55a0ef107
IO: avoid changing context in AddKeyAnalogEvent(). Amend 7269498
. ( #6199 , #6256 , #4921 , #5856 )
2023-03-21 14:32:37 +01:00
cfillion
7269498ecc
IO: actually fixed adding events from inactive context ( #6199 , #6256 , #4921 , #5856 )
2023-03-21 14:19:59 +01:00
ocornut
5a2b1e8482
InputText: Fixed a tricky edge case, ensuring value is always written back on the frame where IsItemDeactivated() returns true ( #4714 )
...
Altered ItemAdd() clipping rule to keep previous-frame ActiveId unclipped to support that late commit.
Also, MarkItemEdited() may in theory need to do:
if (g.ActiveIdPreviousFrame == id)
g.ActiveIdPreviousFrameHasBeenEditedBefore = true;
But this should already be set so not adding now.
2023-03-16 21:12:57 +01:00
ocornut
314e6443c9
Internals: removed ImGuiInputSource_Nav enum,
...
Essentially finishing the work of removing Nav a dual input source (with e.g. removal of NavInput[]).
2023-03-16 20:28:05 +01:00
ocornut
6b3435a2db
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_glfw.cpp
# backends/imgui_impl_opengl3.cpp
# docs/CHANGELOG.txt
2023-03-16 12:01:13 +01:00
ocornut
24a44b9abe
Version 1.89.5 WIP
2023-03-15 12:25:20 +01:00
ocornut
9e30fb0ec1
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_glfw.cpp
# docs/CHANGELOG.txt
# imgui.cpp
2023-03-14 16:38:22 +01:00
ocornut
f3f6295d53
Version 1.89.4
...
Commented out obsolete enums/functions names: ImGuiSliderFlags_ClampOnInput, ImGuiInputTextFlags_AlwaysInsertMode, ImDrawList::AddBezierCurve(), ImDrawList::PathBezierCurveTo()()
2023-03-14 16:36:19 +01:00
ocornut
cc2177de15
Debug Tools: Added io.ConfigDebugBeginReturnValueOnce / io.ConfigDebugBeginReturnValueLoop options.
2023-03-14 15:25:13 +01:00
ocornut
552969e33e
BeginTooltip: correctly testing return value of BeginTooltipEx() even though it always return true in current code.
...
Amend 3b2f617
2023-03-14 14:28:41 +01:00
domgho
6ca1556d02
Nav: Fixed SetItemDefaultFocus() from not scrolling when item is partially visible. ( #2814 , #2812 )
2023-03-10 19:12:04 +01:00
ocornut
9937660b1c
Merge branch 'master' into docking
...
# Conflicts:
# examples/example_allegro5/main.cpp
# examples/example_apple_metal/main.mm
# examples/example_apple_opengl2/main.mm
# examples/example_glfw_metal/main.mm
# examples/example_glfw_opengl2/main.cpp
# examples/example_glfw_opengl3/main.cpp
# examples/example_glfw_vulkan/main.cpp
# examples/example_glut_opengl2/main.cpp
# examples/example_sdl2_directx11/main.cpp
# examples/example_sdl2_metal/main.mm
# examples/example_sdl2_opengl2/main.cpp
# examples/example_sdl2_opengl3/main.cpp
# examples/example_sdl2_vulkan/main.cpp
# examples/example_sdl3_opengl3/main.cpp
# examples/example_win32_directx10/main.cpp
# examples/example_win32_directx11/main.cpp
# examples/example_win32_directx12/main.cpp
# examples/example_win32_directx9/main.cpp
# imgui.cpp
2023-03-10 18:40:04 +01:00
ocornut
2bb9e35a48
Nav: Tabbing now cycles through all items when ImGuiConfigFlags_NavEnableKeyboard is set. ( #3092 , #5759 , #787 )
2023-03-10 18:35:52 +01:00
ocornut
e83fb468c6
Renamed PushAllowKeyboardFocus()/PopAllowKeyboardFocus() to PushTabStop()/PopTabStop(). ( #3092 )
2023-03-09 18:53:57 +01:00
ocornut
a322122f74
InputText: Fixed not being able to use CTRL+Tab while an InputText() using Tab for completion or textinput is active.
...
(regresion from 1.89) + removed unnecessary if block in NavProcessItem()
2023-03-09 16:24:03 +01:00
ocornut
3b2f617652
BeginTooltip: Added 'bool' return value to BeginTooltip() for API consistency. Updated demo.
...
Add SetWindowHiddendAndSkipItemsForCurrentFrame().
2023-03-09 15:16:40 +01:00
ocornut
e2cede6542
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui_internal.h
2023-03-08 17:41:32 +01:00
ocornut
b5f9381036
Made internal clipboard/IME handlers not rely on implicit GImGui context ( #5856 )
...
Code in SetPlatformImeDataFn_DefaultImpl amends 3a90dc389
by temporarily setting field in caller site.
2023-03-08 16:21:33 +01:00
Marc Delorme
c8ad25caa6
Make classes not depend on the implicit GImGui context ( #5856 , #6199 ): ImGuiWindow, ImGuiInputTextCallbackData, ImGuiListClipper, ImGuiStackSizes
...
This commit is a preparation toward adding ImGui apis with explicit context
and making ImGui applications being able to use multiple context at the same time
whatever their concurrency model.
This commit modifies ImGuiInputTextCallback, ImGuiListClipper and ImGuiStackSize so those classes do not to depend on GImGui context anymore.
About ImGuiInputTextCallback:
- ImGuiInputTextCallback depends on ImGuiContext because it has a
`InsertChars` method adding character to `g.InputTextState`
- To make ImGuiInputTextCallback aware of which context to use, the
appropriate context is given as argument of ImGuiInputTextCallback
constructor.
About ImGuiListClipper:
- ImGuiListClipper apply to a context through its `Begin`, `End`, and `Step`
method.
- To make ImGuiListClipper aware of which context to use, the
appropriate context is given as argument of ImGuiListClipper
constructor.
- Since the behavior is different than previously the class has been
renamed ImGuiListClipperEx
- In order to preserve backward compatibility, a subclass of ImGuiListClipperEx
named ImGuiListClipper has been defined and forward the implicit context
to ImGuiListClipperEx parent.
About ImGuiTextFilter:
- ImGuiTextFilter depends on the implicit context because the Draw(..)
method call ImGui::InputText(...)
- Instead from that commit the Draw(...) method takes an explicit context
as first argument
- Since the behavior is different than previously the class has been
renamed ImGuiTextFilterEx
- In order to preserve backward compatibility, a subclass of ImGuiTextFilterEx
named ImGuiTextFilter has been defined. This subclass has a draw method
override which and forward the implicit context to the parent class Draw(...)
About ImGuiStackSizes:
- ImGuiStackSizes was depending on ImGuiContext because of its
`SetToCurrentState` and `CompareWithCurrentState` method
- ImGuiStackSizes is an helper object use
for comparing state of context. It does not necessarily need to
compare the same context. For that reason, as opposed to previous
classes it takes the context it wants to compare to as argument of
its method.
- For this occasion `SetToCurrentState` and `CompareWithCurrentState`
have been renamed `SetToContextState` and `CompareWithContextState`
to match the new method signature.
ImGuiListClipper
ImGuiInputTextCallbackData
2023-03-08 15:55:38 +01:00
Marc Delorme
10ace228bc
Make classes not depend on the implicit GImGui context ( #6199 , #5856 , #6199 ): ImGuiIO
...
This commit is a preparation toward adding ImGui apis with explicit context
and making ImGui applications being able to use multiple context at the same time
whatever their concurrency model.
About ImGuiIO:
- ImGuiIO depends on ImGuiContext because some of its method want to event to `g.InputEventQueue`.
- To make ImGuiIO aware of the context to use, context which creates the ImGuiIO is given as argument of ImGuiIO constructor.
- The assert `IM_ASSERT(&g.IO == this && "Can only add events to current context.")` has been removed since it does not make sense anymore
NOTE: ImGuiIO could be completely independent of ImGuiContext if the InputEventQueue was moved from ImGuiContext to ImGuiIO, but since
ImGuiIO is a public class it would expose InputEvent type. Solving this problem is out of the current scope, but it is interesting to notice.
2023-03-08 15:39:22 +01:00
ocornut
5a1e6b60a2
Nav: Fixed an issue with Gamepad navigation when the movement lead to a scroll and frame time > repeat rate. ( #6171 )
2023-03-08 14:03:58 +01:00
ocornut
c9a53aa74d
Nav: Made Enter key submit the same type of Activation event as Space key. ( #5606 )
...
Instead of adding NavActivateInputId support in ButtonBehavior() started untangling the mess.
2023-03-07 18:41:49 +01:00
ocornut
b4b79584d1
Internals: added GetStyleVarInfo(). exposed previously .cpp only ImGuiStyleVarInfo as ImGuiDataVarInfo.
2023-03-07 14:40:55 +01:00
ocornut
b6586bb06d
TestEngine: update IMGUI_TEST_ENGINE_ITEM_ADD() hooks to support passing item in flags.
2023-03-06 18:10:04 +01:00
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
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
Rokas Kupstys
19471da3fd
Popups: Fix a crash when a new window is created after a modal on the same frame. ( #4920 )
2022-01-20 15:03:56 +01:00
ocornut
7ad42ff431
IO: renamed io.ConfigInputEventQueue to io.ConfigInputTrickleEventQueue. ( #4858 )
2022-01-19 18:45:57 +01:00
ocornut
97b1ffcb3b
IO: Reorder enums, compact a little in header. Removed const from internal GetKeyData().
2022-01-19 15:42:27 +01:00
ocornut
91ae56af45
Removed support for legacy arithmetic operators (+*/) when inputing text into a slider/drag. ( #4917 , #3184 )
2022-01-19 15:10:42 +01:00
ocornut
673f5e588d
IO: moved fields to put more focus on the new functions + update misc docs/references + update main.mm in Apple+Metal example ( #4858 )
2022-01-18 17:41:35 +01:00
ocornut
e278277d53
IO: added AddMouseViewportEvent() + used in backends.
2022-01-18 17:24:59 +01:00
ocornut
1338eb31f7
Viewports: Relaxed specs for backend supporting ImGuiBackendFlags_HasMouseHoveredViewport. Backends: SDL: Added support for simplified HasMouseHoveredViewport. ( #1542 , #4665 )
2022-01-18 17:01:55 +01:00
ocornut
007a427e0a
Viewports: Fixed active InputText() from preventing viewports to merge. ( #4212 )
2022-01-18 16:04:25 +01:00
ocornut
8567a4cca3
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_glfw.cpp
# backends/imgui_impl_sdl.cpp
# backends/imgui_impl_win32.cpp
# imgui_demo.cpp
# imgui_internal.h
2022-01-17 18:19:20 +01:00
ocornut
90a6961638
IO: apply same flooring as UpdateMouseInputs() in dupe event processing. ( #4858 ) + provision for test engine.
2022-01-17 18:10:51 +01:00
ocornut
7374b96f5c
IO: Added input queue. ( #4858 , #2787 , #1992 , #3383 , #2525 , #1320 )
2022-01-17 17:36:55 +01:00
thedmd
b8e56dce83
IO: Added AddMousePosEvent(), AddMouseButtonEvent(), AddMouseWheelEvent() api + updated all Backends. ( #4858 ) (input queue code will be next commit)
...
Details: note that SDL, OSX and GLFW backends removed recording of MouseJustPressed[] which will be unnecessary with input queue (which is the NEXT commit). (#2787 , #1992 , #3383 , #2525 , #1320 )
2022-01-17 17:35:37 +01:00
ocornut
92c4ff1c2f
Rename ImGuiKey_LeftControl to ImGuiKey_LeftCtrl, ImGuiKey_RightControl to ImGuiKey_RightCtrl + made key order match mods order. ( #4858 )
2022-01-17 15:42:04 +01:00
ocornut
6188e94108
Examples: Vulkan: fill Subpass and MSAASamples to increase discoverability ( #4886 ) + IO docs update ( #4858 )
...
https://github.com/mosra/magnum-integration/pull/89
2022-01-14 11:51:59 +01:00
ocornut
e51a0a80ca
IO: fix SetKeyEventNativeData() not handling ImGuiKey_None the same way as AddKeyEvent(). ( #4905 , #4858 )
2022-01-13 18:43:58 +01:00
ocornut
9551635684
IO: fix SetKeyEventNativeData() not handling ImGuiKey_None the same way as AddKeyEvent(). ( #4905 , #4858 )
2022-01-13 18:42:18 +01:00
ocornut
0647ba3bad
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_glfw.cpp
# backends/imgui_impl_osx.h
# backends/imgui_impl_osx.mm
# backends/imgui_impl_sdl.cpp
# backends/imgui_impl_win32.cpp
2022-01-13 18:36:23 +01:00
ocornut
7f8a89c25c
Backends: Win32, SDL: maintain MouseButtonsDown instead of using IsAnyMouseDown(). Internals: added GetInputSourceName().
2022-01-12 16:12:10 +01:00
ocornut
956e03009a
Backends: OSX: Build fIx. Made GetKeyName() input tolerant. Internals: added GetNavInputName().
2022-01-11 18:48:16 +01:00
ocornut
acfc7798fd
Rename io.AddKeyModEvent() -> io.AddKeyModsEvent() and updated backends accordingly. ( #2625 , #4858 )
...
Amend 790132a
(breaking)
# Conflicts:
# backends/imgui_impl_glfw.cpp
# backends/imgui_impl_sdl.cpp
# backends/imgui_impl_win32.cpp
2022-01-10 17:01:07 +01:00
ocornut
e8172fdfbc
Rename io.AddKeyModEvent() -> io.AddKeyModsEvent() and updated backends accordingly. ( #2625 , #4858 )
...
Amend 790132a
(breaking)
2022-01-10 17:00:32 +01:00