1
0
mirror of https://github.com/ocornut/imgui.git synced 2024-12-15 01:01:21 +01:00
Commit Graph

9165 Commits

Author SHA1 Message Date
ocornut
b32ef809c3 InputText: Fixed a case where deactivation frame would write to underlying buffer or call CallbackResize although unnecessary, in a frame where the return value was false. 2023-07-06 19:32:28 +02:00
ocornut
3349296370 InputText: Tweak ImGuiInputTextFlags_EscapeClearsAll handling so decision is taken on input buffer + Showcase a few more InputText() flags. (#5688, #2620)
This makes is more obvious that value_change==true when apply_new_text != NULL.
2023-07-06 19:32:01 +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
9a15730c2a Demo: better showcase use of SetNextItemAllowOverlap(). (#6574, #6512, #3909, #517)
+ Merge some shallow changes from range-select branch.
2023-07-05 14:19:04 +02:00
ocornut
3fe4319314 Version 1.89.8 WIP 2023-07-05 14:17:46 +02:00
ohthesetrees
8566fec661
Backends: SDL3: Changing SDL_WINDOW_SKIP_TASKBAR to SDL_WINDOW_UTILITY for SDL3 (#6573) 2023-07-05 11:01:56 +02:00
ocornut
dc3e531ff2 Merge branch 'master' into docking 2023-07-04 16:22:25 +02:00
ocornut
d4ddc46e77 InputText: Fixed a crash on deactivating a ReadOnly buffer. (#6570, #6292, #4714)
This will be part of 1.89.7 Tagged relase.
2023-07-04 16:20:51 +02:00
ocornut
40aac5875a Changelog amends 2023-07-04 15:48:42 +02:00
sean
ac8573884d Backends: Vulkan: Amends for docking branch. (#5446, #5037) 2023-07-04 15:02:21 +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
121072cfe6 Backends: Vulkan: Amend for support for dynamic_rendering (#5446, #5037)
Simplified for master branch.

# Conflicts:
#	backends/imgui_impl_vulkan.cpp
2023-07-04 14:16:28 +02:00
sean
7812e836e4 Backends: Vulkan: Support for dynamic_rendering (#5446, #5037)
Co-authored-by: Caio Oliveira <cmarcelo@gmail.com>
Simplified for master branch.

# Conflicts:
#	backends/imgui_impl_vulkan.cpp
2023-07-04 14:01:27 +02:00
sakiodre
dcdb145713
Docs: Fix outdated link in freetype docs (#6568) 2023-07-04 12:23:13 +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
64172685d6 InputText: ImGuiInputTextCallbackData::InsertChars() accept (NULL,NULL) range, in order to conform to common idioms. (#6565, #6566, #3615) 2023-07-03 11:58:17 +02:00
ocornut
655aae5911 Comments + docs: tidying up todo list + demo tweak for tooltips. 2023-06-30 14:58:49 +02:00
ocornut
a02315e1c4 Combo: Made simple/legacy Combo() function not returns true when picking already selected item. (#1182) 2023-06-28 15:47:10 +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
07e24b4058 ButtonBehavior: pull ImGuiButtonFlags_Repeat from ImGuiItemFlags_ButtonRepeat, matching ItemHoverable() logic. So more widgets can take advantage of Repeat logic. 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
06f5b46133 Overlap: Fixed first frame of an overlap highlighting underlying item if previous frame didn't hover anything. (#6512, #3909, #517) 2023-06-27 15:46:35 +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
a2f6581171 Selectable: Fixed bad manual cherry-pick/merge (fixes 3ec128c) 2023-06-27 10:57:08 +02:00
ocornut
3ec128c5fd Selectable, TreeNode: When using ImGuiSelectableFlags_AllowOverlap/ImGuiTreeNodeFlags_AllowOverlap and holding item held, overlapping widgets won't appear as hovered. (#6512, #3909)
Essentially we are going to remove calls to SetItemAllowOverlap() and standardize the fact that only 'HoveredId == id' test from it is performed.

# Conflicts:
#	imgui_widgets.cpp
2023-06-26 19:08:10 +02:00
ocornut
cada78917c Tables: removed misleading, seemingy useless use of ImGuiButtonFlags_AllowtemOverlap in TableUpdateBorders(). (#6512, #3909)
This was copied from SplitterBehavior(). The only hypothetical value in SplitterBehavior() would be ability to manually call SetItemAllowOverlap() after the call.
Btw generally AllowOverlap is undesirable for columns as e.g. a spanning selectable would cover entire width and prevent columns from being used.

# Conflicts:
#	imgui_tables.cpp
2023-06-26 19:05:47 +02:00
ocornut
0a53b45858 CollapsingHeader/TreeNode: Fixed text padding when using _Framed+_Leaf flags. (#6549) 2023-06-26 11:15:55 +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
94c46d7486 InputText: Fixed not returning true when buffer is cleared by ImGuiInputTextFlags_EscapeClearsAll. (#5688, #2620) 2023-06-21 14:20:13 +02:00
ocornut
cb5542bce5 Backends: OpenGL3: Fixed erroneous use glGetIntegerv(GL_CONTEXT_PROFILE_MASK) on contexts lower than 3.2. (#6539, #6333) 2023-06-20 15:30:52 +02:00
Krzysztof Adamek
959a9c79bd TreeNode: Added support for ImGuiTreeNodeFlags_UpsideDownArrow in frameless tree nodes (#6517, #6538) 2023-06-20 15:30:40 +02:00
ocornut
e0583975cd Demo: Fix typo (amusingly had no side effect). 2023-06-20 15:18:37 +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