Commit Graph

1902 Commits

Author SHA1 Message Date
ocornut
b4b864e40a Backends: Vulkan: Fixed mismatching allocator passed to vkCreateCommandPool() vs vkDestroyCommandPool(). (#7075) 2023-11-29 14:24:25 +01:00
ocornut
7965494ff3 Debug Tools: Added DebugFlashStyleColor() to identify a style color. Added to Style Editor. 2023-11-28 19:40:38 +01:00
ocornut
077e4db772 Misc: Added extra courtesy ==/!= operators when IMGUI_DEFINE_MATH_OPERATORS is defined. 2023-11-28 15:00:32 +01:00
ocornut
f6253b87d0 Merge branch 'master' into docking
# Conflicts:
#	backends/imgui_impl_sdl3.cpp
#	imgui.cpp
2023-11-28 14:39:46 +01:00
ocornut
6f171a066d Nav, IO: SetNextFrameWantCaptureKeyboard(false) calls are not overrided back to true when navigation is enabled. (#6997) 2023-11-28 14:28:19 +01:00
ocornut
f37f6f67f6 Windows: BeginChild(): Fixed auto-resizing erroneously limiting size to host viewport minus padding. (#7063) 2023-11-27 16:33:20 +01:00
ocornut
bce4db00bc Drag and Drop: Fixed drop target highlight on items temporarily pushing a widened clip rect. (#7049, #4281, #3272) 2023-11-22 19:30:16 +01:00
ocornut
61b8197942 Misc: Renamed some defines in imstb_textedit.h to avoid conflicts when using unity/jumbo builds.
Bitting the bullet, as we rarely update this (and it is rarely updated) and it we may replace it anyhow.
2023-11-22 14:12:31 +01:00
ocornut
7bb0a525c3 Fixed text functions fast-path for handling "%s" and "%.*s" to handle null pointers gracefully. (#7016, #3466, #6846) 2023-11-16 00:00:26 +01:00
ocornut
3d083dbe1a Version 1.90.1 WIP 2023-11-15 23:53:58 +01:00
ocornut
ce0d0ac829 Merge branch 'master' into docking
# Conflicts:
#	backends/imgui_impl_sdl3.cpp
#	backends/imgui_impl_vulkan.cpp
#	imgui.cpp
2023-11-15 16:08:53 +01:00
ocornut
b81bd7ed98 Version 1.90.0
w/ Changelog tweaks.
2023-11-15 15:56:05 +01:00
Oliver Eriksson
6695006bea Backends: Vulkan: use specified ColorAttachmentFormat when creating a secondary window when enabling UseDynamicRendering. (#6999, #5446, #5037) 2023-11-15 14:53:32 +01:00
ocornut
afadf74a53 BeginChild: undo child name simplification as it reveal an issue with handling of ### in child names.
When the later is fixed we can re-enable this. Essentially reverts 8ee8513.
2023-11-14 14:23:18 +01:00
ocornut
46843b683b Fonts: minor/shallow amends (#6925) 2023-11-13 19:00:29 +01:00
ocornut
0941adc931 Backends: SDL3: Updates for recent API changes. (#7000) (w/ multi-viewports version)
# Conflicts:
#	backends/imgui_impl_sdl3.cpp
2023-11-13 16:24:50 +01:00
ocornut
add915bdc4 Backends: SDL3: Updates for recent API changes. (#7000) 2023-11-13 16:21:18 +01:00
ocornut
75c46a3930 Demo: Partly fix resizing constraint demo. (#6210, #5627)
Broken by 2569c6474
2023-11-13 14:53:14 +01:00
ocornut
454f36d2af Removed 'bool border' legacy versions of BeginChild() as they seemingly have no value other than confusing user and IDE.
Amend 7713c29 (was for #1666, #1496, #1395, #1710)
2023-11-10 16:03:19 +01:00
ocornut
450f1d7e7b Merge branch 'master' into docking
# Conflicts:
#	backends/imgui_impl_opengl3.cpp
#	backends/imgui_impl_vulkan.cpp
#	imgui.cpp
2023-11-10 14:56:10 +01:00
ocornut
79a9e2fdfb Backends: Vulkan: (Breaking) full font upload is performed by ImGui_ImplVulkan_CreateFontsTexture(), no need for user code to create or provide a command-buffer. Removed ImGui_ImplVulkan_DestroyFontUploadObjects(). (#6943, #6715, #6327, #3743, #4618)
See changes in example_glfw_vulkan/main.cpp and example_sdl2_vulkan/main.cpp for reference.
2023-11-10 14:53:34 +01:00
ocornut
6e7b43b6c7 Backends: Vulkan: Added ImGui_ImplVulkan_DestroyFontsTexture(), made ImGui_ImplVulkan_CreateFontsTexture() destroy previous one. (#6943, #6715, #6327, #3743, #4618) 2023-11-10 14:53:06 +01:00
ocornut
d0da79c572 Defining IMGUI_DISABLE_OBSOLETE_FUNCTIONS now automaticaly define IMGUI_DISABLE_OBSOLETE_KEYIO. (#4921) 2023-11-09 16:51:31 +01:00
ocornut
ab522dd18c Removed IM_OFFSETOF() macro in favor of using offsetof() available in C++11. Kept redirection define. (#4537) 2023-11-09 16:44:39 +01:00
ocornut
0f50b52da4 Backends: OpenGL3: Update GL3W based imgui_impl_opengl3_loader.h to load "libGL.so" instead of "libGL.so.1". (#6983) 2023-11-09 12:38:56 +01:00
ocornut
37ea320b96 Merge branch 'master' into docking
# Conflicts:
#	imgui.cpp
2023-11-07 20:20:41 +01:00
ocornut
0d3b468cb3 BeginChild(): added ImGuiChildFlags_AutoResizeX, ImGuiChildFlags_AutoResizeY, ImGuiChildFlags_AlwaysAutoResize + support for SetNextWindowSizeConstraints(). (#1666, #1395, #1496, #1710) + Demo
Note that child don't report ideal content size to parent so nesting may be difficult.
Note 4e4042b simplified SkipItems logic.
Note e2035a5 standardizing WindowMinSize application on child
2023-11-07 20:15:32 +01:00
ocornut
cdbc21a191 BeginChild(): Added ImGuiChildFlags_FrameStyle as a replacement for BeginChildFrame(). (#1666, #1496, #1395, #1710, #462, #503, #263)
Effectively allows us to avoid extending BeginChildFrame() api to mimic BeginChild() new parameters.
2023-11-07 18:50:32 +01:00
ocornut
ab47efd9a0 Bits / comments 2023-11-06 18:17:12 +01:00
ocornut
9298e310b2 Merge branch 'master' into docking (note: won't build as-is, see next commit)
# Conflicts:
#	imgui.cpp
#	imgui.h
#	imgui_internal.h
2023-11-02 18:05:43 +01:00
ocornut
f1d1a8d32b Windows: use relative mouse movement for border resize when the border geometry has moved. (#1710)
(e.g. resizing a child window triggering parent scroll) to avoid resizing feedback loop.
2023-11-02 17:34:49 +01:00
ocornut
9235352400 BeginChild: Added ImGuiChildFlags_ResizeX and ImGuiChildFlags_ResizeY. (#1710) 2023-11-02 17:34:49 +01:00
ocornut
34a0bc456e BeginChild: Added ImGuiChildFlags_AlwaysUseWindowPadding, obsoleted ImGuiWindowFlags_AlwaysUseWindowPadding. (#462, (toward #1666, #1496, #1395, #1710)
(bonus: will also eventually free a window flag)
2023-11-02 17:26:23 +01:00
ocornut
7713c29258 BeginChild: Upgraded 'bool border = true' parameter to use a ImGuiChildFlags type and the ImGuiChildFlags_Border value. (toward #1666, #1496, #1395, #1710) 2023-11-02 17:26:05 +01:00
ocornut
88fec09715 ColorPicker4(): Fixed ImGuiColorEditFlags_NoTooltip when ImGuiColorEditFlags_NoSidePreview is also set. (#6957) 2023-10-26 15:45:45 +02:00
ocornut
313676d200 Settings: omit outputing Collapsed=0 in .ini file. Changelog + docs tweaks 2023-10-20 17:56:54 +02:00
ocornut
8ee85137d8 BeginChild(): Internal name used by child windows now omits the hash/id if the child window is submitted in root of id stack of parent window.
# Conflicts:
#	docs/CHANGELOG.txt
#	imgui.h
2023-10-20 15:40:11 +02:00
ocornut
c95fbb4464 Windows: Double-clicking bottom or right window border auto-resize on a singles axis. 2023-10-19 16:19:29 +02:00
ocornut
ade2acfd1d Inputs: Added IsKeyChordPressed() public helper function.
Amend 99913b5
2023-10-19 14:44:24 +02:00
ocornut
2a6d7b1eaa Merge branch 'master' into docking
# Conflicts:
#	imgui.cpp
#	imgui_demo.cpp
2023-10-18 19:45:19 +02:00
ocornut
f8dc03d702 Windows: Can also auto-resize by double-clicking lower-left resize grip (not only lower-right one). 2023-10-18 17:48:33 +02:00
ocornut
9a5da23553 Changelog formatting 2023-10-17 14:22:58 +02:00
ocornut
a8bdbfddf9 Tables: Fixed top-most and left-most outer border overlapping inner clip-rect when scrolling. (#6765) 2023-10-16 21:51:13 +02:00
ocornut
8db02ef8df Tables: Fixed an issue with ScrollX enabled where an extraneous draw command would be created.
Randomly found while deep-diving into #6765.
ContentMaxXHeadersUsed has been set to max since the dawn of tables, which contradict the intent of passing zero-width to ItemSize(). The ItemSize code allowed SameLine() to operate, but this mistake setting ContentMaxXHeadersUsed would make right-most visible column in a ScrollX set incorrectly use a draw command due to header claiming whole column width.
2023-10-16 21:33:51 +02:00
ocornut
51d1a72e9b Docking: Revised undocking logic to reduce accidental whole-node undocking:
Amend bb2aa5e77.
Revert to normal threshold in StartMouseMovingWindowOrNode().
Added tooltip when hovering the collapse/window menu button.
2023-10-16 15:56:46 +02:00
ocornut
947255c3da Tooltips: made it possible to use ImGuiHoveredFlags_ForTooltip + a ImGuiHoveredFlags_DelayXXXX override. (#1485) 2023-10-16 14:57:44 +02:00
ocornut
f7fc186408 Merge branch 'master' into docking
+ 2 comments
# Conflicts:
#	backends/imgui_impl_glfw.cpp
#	backends/imgui_impl_osx.mm
#	backends/imgui_impl_sdl2.cpp
#	backends/imgui_impl_sdl3.cpp
#	backends/imgui_impl_win32.cpp
2023-10-12 19:22:36 +02:00
ocornut
32228d8add Tables: added Angled headers support. Added ImGuiTableColumnFlags_AngledHeader, ImGui::TableHeadersAngledRow(), style.TableAngledHeadersAngle. (#2957) 2023-10-12 19:21:02 +02:00
ocornut
9f851ebfe4 Tables: added ImGuiTableFlags_HighlightHoveredColumn. 2023-10-12 19:15:17 +02:00
ocornut
b9ebb8e06f Tables: fixed right-clicking right-most section (past right-most column) from highlighting right-most column. 2023-10-10 16:44:56 +02:00
ocornut
feddcf3030 Combo: amends for ImGuiComboFlags_WidthFitPreview. (#6881)
Amend 112d8fc
2023-10-09 11:34:05 +02:00
ocornut
001f102f38 IO, Backends: added ImGuiKey_AppBack, ImGuiKey_AppForward. (#6891, #4921) 2023-10-05 21:26:07 +02:00
ocornut
b0758c86d8 Backends: Added support for extra ImGuiKey values: F13 to F24 function keys. (#6891, #4921) 2023-10-05 20:39:49 +02:00
ocornut
1107bffe84 Popups: clarified meaning of 'p_open != NULL' in BeginPopupModal() + set back user value to false when popup is closed in ways other than clicking the close button. (#6900) 2023-10-05 17:45:31 +02:00
ocornut
72ebd91567 Merge branch 'master' into docking
# Conflicts:
#	backends/imgui_impl_opengl3.cpp
#	imgui.h
2023-10-05 15:10:45 +02:00
ocornut
2c07d581de TreeNode: Added ImGuiTreeNodeFlags_SpanAllColumns for use in tables. (#3151, #3565, #2451, #2438) 2023-10-05 15:05:58 +02:00
ocornut
085ed7bfbe Drag and Drop: Rework drop target highlight. (#4281, #3272)
Amend 4ddb6b46, 4b94738c7
2023-10-05 14:13:27 +02:00
ocornut
a63e2f0a33 Drag and Drop: Fixed submitting a tooltip from drop target location. Added demo.
Amend 7bbf8f2, 92b7d6b.
2023-10-05 12:06:40 +02:00
Nicolas "Pixel" Noble
64b1aeebf5 Backends: OpenGL3: rename gl3w's loader symbols to allow LTO compilation with another copy of gl3w. (#6875, #6668, #4445) 2023-10-05 11:03:28 +02:00
ocornut
28b237f94d Separator(): Altered end-points to use more standard boundaries. (#205, #4787, #1643, #759) 2023-10-03 15:26:35 +02:00
ocornut
9064dbd404 Backends: DX9: Fixed incorrect assert triggering on reopening session with minimized windows. (#3424) 2023-10-02 15:28:22 +02:00
ocornut
a61438740d Debug Tools: Metrics: Added "Show groups rectangles" in tools. 2023-10-02 15:01:42 +02:00
ocornut
d27b4ad366 Backends: GLFW: support for case where secondary viewport WndProc is not the same as main viewport one. (#6889) 2023-10-02 12:09:13 +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
456aa3bc0a Menus: Fixed a bug where activating an item in a child-menu and dragging mouse over the parent-menu would erroneously close the child-menu. (#6869)
Regression from 0dec430
2023-09-27 16:34:31 +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
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
e5ca5351d5 TabBar: Fixed position of unsaved document marker (ImGuiTabItemFlags_UnsavedDocument) which was accidentally offset in 1.89.9. (#6862)
Amend 4a814244
2023-09-25 20:40:01 +02:00
ocornut
12ee2dd789 Backends: Win32: Synthesize key-down event on key-up for VK_SNAPSHOT / ImGuiKey_PrintScreen as Windows doesn't emit it. (#6859) 2023-09-25 10:58:29 +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
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
d6360c1ba9 Fonts, imgui_freetype: Fixed a warning and leak in IMGUI_ENABLE_FREETYPE_LUNASVG support. (#6842, #6591) 2023-09-20 11:31:28 +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
afd0d3fca1 Docking: made ImGuiDockNodeFlags_NoUndocking public. (#2999, #6823, #6780, #3492)
Amend 1612813.
2023-09-18 12:41:18 +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
7e246a7bb9 Merge branch 'master' into docking
# Conflicts:
#	imgui.cpp
#	imgui_internal.h
2023-09-16 13:51:51 +02:00
ocornut
6addf28c4b Fonts: Ensure calling AddFontXXX function doesn't invalidates ImFont's ConfigData pointers prior to building again. (#6825) 2023-09-16 13:40:35 +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
32171a8b0c Fonts: Better assert during load when passing truncated font data or wrong data size. (#6822) 2023-09-14 14:40:28 +02:00
ocornut
c32db3c72b Tables: Fixed an edge-case when no columns are visible + table scrollbar is visible + user code is always testing return value of TableSetColumnIndex() to coarse clip. 2023-09-12 20:40:06 +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
3aceb61059 Tables: Request user to submit contents when outer host-window is requesting auto-resize. (#6510) 2023-09-11 17:16:01 +02:00
ocornut
da21b74313 Tables: Fixed subtle drawing overlap between borders in some situations. (#2957, #6765) 2023-09-11 15:32:25 +02:00
ocornut
5a483c2ffb Tables: Fixed top-most outer border being drawn with both TableBorderLight and TableBorderStrong in some situations, causing the earlier to be visible underneath when alpha is not 1.0f. 2023-09-11 15:02:49 +02:00
ocornut
a34071876f Tables: Fixed bottom-most and right-most outer border offset by one. (#6765, #3752) 2023-09-11 14:44:52 +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
0e1ce76ea8 InputTextMultiline: Fixed Tabbing cycle leading to a situation where Enter key wouldn't be accepted by the widget when navigation highlight is visible. (#6802, #3092, #5759, #787)
+ Added test in ImGuiTestSuite: "widgets_inputtext_multiline_enter"
2023-09-11 11:41:56 +02:00
ocornut
bd63a9f056 Fonts: 'float size_pixels' passed to AddFontXXX() functions is now rounded to lowest integer. (#3164, #3309, #6800)
Note that using io.FontGlobalScale or SetWindowFontScale(), with are legacy-ish, partially supported features, can still lead to unrounded sizes and same issues.
2023-09-11 10:04:44 +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