1
0
mirror of https://github.com/ocornut/imgui.git synced 2024-11-30 18:34:34 +01:00
Commit Graph

1739 Commits

Author SHA1 Message Date
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
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
sneakyevil
c9d3c29aa3 Backend: Win32: support keyboard codepage conversion for when compiling in MBCS mode and creating a non-Unicode window. (#6785, #6782, #5725) 2023-09-07 14:08:58 +02:00
Leonardo Serrano
e3d9b875c9 ImDrawList: added PathEllipticalArcTo(), AddEllipse(), AddEllipseFilled(). (#2743)
Rebased with mods by ocornut: defaults to num_segments==0, supports for auto-tesselation, tweak demo.
2023-09-07 12:12:21 +02:00
ocornut
fa2e5710ac MenuBar: Fixed an issue where layouting an item in the menu-bar would erroneously egister contents size. (#6789)
In dire need of removing BeginGroup()/EndGroup() from menu-bar code, fo r sanity.
2023-09-06 15:35:03 +02:00
Deal
56a7b8b724 Backends: GLFW: Clear emscripten's MouseWheel callback before shutdown. (#6790, #6096, #4019) 2023-09-06 11:49:23 +02:00
ocornut
d8ef864b02 InputTextMultiline: Fixed a crash pressing Down on last empty line of a multiline buffer. (#6783, #6000)
Amend 57a5b73a4c
2023-09-06 11:28:14 +02:00
ocornut
cf1c4a0cb1 BeginListBox(): fixed not consuming SetNextWindowXXX data when returning false. 2023-09-05 16:47:00 +02:00
ocornut
fb9b006865 Version 1.90 WIP 2023-09-05 16:46:52 +02:00
ocornut
f24387fa2b Version 1.89.9 (fixed changelog header) 2023-09-05 16:44:05 +02:00
omar
c4dc8fd101
Docs: Update FONTS.md (#6781, #6632, #6339, #5763, #5330, #2234, #2042, #1259, #951, #220) 2023-09-05 10:54:04 +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
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
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
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
200053771a Clipper: Added IncludeIndex() helper to include a single item. (#6424, #3841) 2023-08-25 18:01:40 +02:00
omar
4a7810e992
Update README.md 2023-08-25 15:48:32 +02:00
wushiyang
981abb4612 Examples: Emscripten+webgpu: Fixed WGPUInstance creation process + use preferred framebuffer format. (#6640, #6748) 2023-08-25 14:36:54 +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
ocornut
ba1fa904a9 IO: Exposed io.PlatformLocaleDecimalPoint to configure decimal point ('.' or ','). (#6719, #2278)
Amend 13f718337
2023-08-17 13:12:21 +02:00
ocornut
a1a7a1bc03 InputFloat, SliderFloat, DragFloat: always turn both '.' and ',' into the current decimal point character. (#6719, #2278) 2023-08-17 13:02:56 +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
1e17d59965 Backends: SDL2,SDL3: added ImGui_ImplSDL2_InitForOther() / ImGui_ImplSDL3_InitForOther().
e.g. WebGPU users use a similarly named functions from GLFW backend.
2023-08-15 12:48:46 +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
8f5ce73140 Tables: Made it possible to use SameLine(0,0) after TableNextColumn() or TableSetColumnIndex() in order to reuse line height from previous cell. 2023-08-14 13:09:39 +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
2b1fc6f765 Demo: Demonstrate out-of-order rendering using ImDrawListSplitter. 2023-08-06 20:13:05 +02:00
EggsyCRO
52587c28d6 ImDrawList: Fixed OOB access in _CalcCircleAutoSegmentCount when passing excessively large radius to AddCircle(). (#6657, #5317) 2023-08-06 17:22:40 +02:00
omar
c00e68102c
Docs: update CONTRIBUTING.md 2023-08-04 11:44:51 +02:00
Johannes Barthelmes
b7a7d673b9 Fixed an integer overflow and div-by-zero in SliderInt() when v_max is INT_MAX (#6675, #6679) 2023-08-03 20:13:31 +02:00
ocornut
d6d94d90bf Version 1.89.9 WIP
+ Minor typo fixes
2023-08-03 19:19:21 +02:00
ocornut
f7eea63872 Version v1.89.8 2023-08-01 12:53:57 +02:00
ocornut
ab490dc7b8 Fonts: Amends for support for OpenType SVG fonts using lunasvg (#6591, #6607) 2023-08-01 10:18:30 +02:00
Sascha Willems
fa2f1bfbb0 Examples: Vulkan: Fixed Vulkan descriptor pools. (#6642)
Only use required no. of types and sets
2023-07-29 17:01:27 +02:00
ocornut
eefc9035f0 Fonts: ImFontConfig::OversampleH now defaults to 2 instead of 3. 2023-07-29 16:22:30 +02:00
ocornut
c87b9fdb15 Docs update. Improved Fonts troubleshooting section. 2023-07-29 16:05:16 +02:00
ocornut
79d6f4e211 Misc: Avoid stb_textedit.h reincluding string.h while in a namespace. (#6653, #4791) 2023-07-27 19:45:28 +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
1109de3827 Tooltips: fixed ImGuiHoveredFlags_ForTooltip conflicting with ImGuiHoveredFlags_NoNavOverride since 10c7709f. (#6622, #1485) 2023-07-20 22:59:15 +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
scorpion-26
e5977f05d8 Backends: GLFW: revert support for GLFW_CURSOR_DISABLED, let user use ImGuiConfigFlags_NoMouse. (#5625, #6609) 2023-07-18 11:49:43 +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
williamhCode
3dc3aef8a4 Backends: WebGPU: fix webgpu changes for Dawn. (#6602, #6188) 2023-07-13 12:42:08 +02:00
ocornut
863ac31f01 Doc: various tweaks + tweak imconfig comments. 2023-07-13 12:38:16 +02:00
ocornut
33e13c85e1 Backends: Made all backends sources files support global IMGUI_DISABLE. (#6601) 2023-07-13 11:27:52 +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
b7cdb5a31e Scrollbar: layout needs to take account of window border size, so a border size will slightly reduce scrollbar size. (#2522)
Rework/revert intent of c1a61d25a.
2023-07-11 15:01:25 +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
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
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
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
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
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
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
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
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
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
0a53b45858 CollapsingHeader/TreeNode: Fixed text padding when using _Framed+_Leaf flags. (#6549) 2023-06-26 11:15:55 +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
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
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
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
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
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
3cc9d2051a Examples: Win32+OpenGL3: Fixed not calling DefWindowProcW() as with other Win32 examples. (#6516, #5725, #5961, #5975)
Amend fe0a24f
2023-06-13 11:24:09 +02:00
ocornut
884e3fd21f Backends: GLFW: Accept glfwGetTime() not returning a monotonically increasing value. (#6491, #6189, #6114) 2023-06-12 11:58:17 +02:00
ocornut
dec082ff97 Backends: OpenGL3: Fixed support for glBindSampler() backup/restore on ES3. (#6375, #6508)
Amend dd9db5e8 + 39f7248d4
2023-06-12 11:45:11 +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
61ebb37843 Version 1.89.7 WIP 2023-06-01 11:22:43 +02:00
ocornut
5319d1cffa Version 1.89.6 2023-05-31 14:47:32 +02:00
ocornut
075b975fed Fonts: Fixed crash when manually specifying an EllipsisChar that doesn't exist. (#6480) 2023-05-31 14:44:29 +02:00
ocornut
b476184574 Backends: SDLRenderer3: Amend/finish SDL_Renderer3 patch + add example. (#6286) 2023-05-30 20:36:07 +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
7e03ae3240 Window: Fixed resizing from upper border when io.ConfigWindowsMoveFromTitleBarOnly is set. (#6390) 2023-05-25 15:23:01 +02:00
ocornut
08145bc45c Fonts: Fixed crash when merging fonts and the first font has no valid glyph. (#6446) 2023-05-23 10:56:41 +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
df8667b18b Comments/typos tweaks 2023-05-20 18:07:31 +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
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
513af1efc9 Examples: Updated all Visual Studio project file to use /utf-8 option, so string literals are UTF-8 encoded by default.
(Not to misake with "Character Set" "Use Unicode Character Set" "Use Multi-Byte Character Set" which is a VS/Windows SDK thing but not a compiler-encoding thing.)
2023-05-10 12:34:11 +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
Jason Millard
39f7248d4a Backends: OpenGL3: Add glBindSampler for GL ES 3.0. (#6375)
Amended given addition of GlProfileIsES3 in dd9db5e
2023-05-09 15:17:18 +02:00
ocornut
6cdedf5834 Drag, Sliders: if the format string doesn't contain any %, when using CTRL+Click to input we use a default format. (#6405) 2023-05-09 12:04:04 +02:00
ocornut
5dc6013713 Backends: SDL3: Fixed build on Emscripten/iOS/Android. (#6391) 2023-05-04 17:06:36 +02:00
ocornut
7c291ba31b Tables: Fixed command merging when compiling with VS2013. (#6377) 2023-04-28 13:58:59 +02:00
ocornut
031e152d29 Examples: DX9, DX10, DX11: Queue framebuffer resize instead of processing in WM_SIZE. (#6374) 2023-04-27 14:57:09 +02:00
ocornut
15da1a9abc Fixed misleading local name (#4493) + minor typo (#6369) 2023-04-25 16:39:02 +02:00
Koostosh
fd943182bd ImVec2: Added unary minus operator (#6368) 2023-04-25 16:24:50 +02:00
ocornut
d3ad2f357f Menus: Fixed an issue when opening a menu hierarchy in a given menu-bar would allow opening another via simple hovering. (#3496, #4797)
Amend 48f26333
2023-04-25 12:17:37 +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
kimidaisuki22
565aa0b763 Examples: Vulkan: pick integrated GPU if nothing else is available. (#6359) 2023-04-24 12:17:49 +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
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
9308cfdcfb Examples: Amend Win32/Winapi + OpenGL example. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553) 2023-04-19 16:28:15 +02:00
ocornut
a338b78eb9 Backends: OpenGL3: amend reset GL_POLYGON_MODE separately for front and back when possible. (#6333) 2023-04-19 11:55:40 +02:00
lukaasm
0948cfc19e InputText: do not set WantTextInputNextFrame during the frame InputText is deactivated. (#6341) 2023-04-18 11:35:12 +02:00
lukaasm
e49d31a1c9 Tables: do not show empty tooltip when user submits TableHeader with no label to display. (#6342) 2023-04-18 11:25:07 +02:00
Faisal Arshed
f94a8344f6
Fix minor typos in FAQ (#6328) 2023-04-17 15:00:10 +02:00
Gereon V
055e71518e Backends: clear bits set in io.BackendFlags on backend Shutdown(). Clear BackendPlatformName. (#6334, #6335)
Amended with fix for missing clear for ImGuiBackendFlags_HasGamepad.
2023-04-17 14:57:12 +02:00
Gereon V
f304603e13 Backends: GLUT: remove call to ImGui::NewFrame() from ImGui_ImplGLUT_NewFrame(). (#6337) 2023-04-17 14:44:56 +02:00
ocornut
064153fca4 Version 1.89.6 WIP 2023-04-17 14:40:00 +02:00
ocornut
1ebb913827 Version 1.89.5 2023-04-13 16:17:49 +02:00
ocornut
6324280432 Examples: Vulkan: rework extensions setup + enable some to avoid validation layer errors. (#6109, #6172, #6101)
Enable VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME, VK_KHR_PORTABILITY_ENUMERATION_EXTENSION_NAME, VK_INSTANCE_CREATE_ENUMERATE_PORTABILITY_BIT_KHR
2023-04-13 15:48:19 +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
Elie Michel
d81f2ae4fb Backends: WebGPU: Use WGSL shaders instead of precompiled SPIR-V + add Gamma uniform. (#6188)
Add gamma correction uniform
Group uniforms in a single binding
The second binding was not satisfying the minimum
BufferBindingType::Uniform alignment (256) and since this alignment is
large it is more idiomatic to group uniforms tegether.

Also ensures that the size of the uniform buffer is aligned to 16 bytes.
2023-04-11 16:03:26 +02:00
Elie Michel
e67f2f4791 Backends: WebGPU: Align buffer sizes upon creation. (#6188)
Amend from original pr to use a macro.
2023-04-11 15:46:05 +02:00
ocornut
cbdac1e150 Backends: WebGPU: Reorganized to store data in io.BackendRendererUserData like other backends.
In theory supporting multiple contexts (untested).
2023-04-11 15:25:21 +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
David Maas
e92b29ad53 Backends: OSX: Added support for io.AddMouseSourceEvent(). (#6314)
Also marked "mouse" input in example_apple_metal's UIKit micro-backend as being touch input.

# Conflicts:
#	docs/CHANGELOG.txt
2023-04-11 10:14:53 +02:00
David
db4c4e3321
Backends: Android: Added support for io.AddMouseSourceEvent(). (#6315, #6318, #2702, #4921) 2023-04-11 10:01:53 +02:00
ocornut
a7703fe6f7 Backends: SDL2/SDL3: Avoid callng SDL_StartTextInput()/SDL_StopTextInput(). (#6306, #6071, #1953)
Amend 734c6af187
2023-04-06 19:12:10 +02:00
ocornut
47a07d8476 ButtonBehavior: Fixed an edge case where changing widget type/behavior while active and using same id could lead to an assert. (#6304)
+ Demo: use BeginDisabled() block in BackendFlags section.
I'd still consider this undefined behavior as some combination may not work properly, but let's fix things while we can as we encounter them.
2023-04-05 18:34:49 +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
f070497cbd Backends: Win32/SDL2/SDL3/GLFW: Added support for io.AddMouseSourceEvent(). (#2334, #2702)
SDL doesn't distinguish Pen yet, but we don't need it as much as TouchScreen which will alter trickling.
2023-04-04 20:19:01 +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
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
a38e3c222f Fixed ImVec2 operator[] violating aliasing rules causing issue with Intel C++ compiler. (#6272)
Note that this is not BayesBug's exact intended solution, so issues would be my responsibility ;)
Amended.
2023-03-29 12:51:41 +02:00
ocornut
7dcf129b3b Backends: OpenGL3: Properly restoring "no shader program bound". (#6267, #6220, #6224) 2023-03-23 13:27:55 +01:00
AJ Weeks
821814b450 InputText: Reworked prev/next-word behavior . Include period as delimiter and tweak prev/next words logic. (#6067) 2023-03-22 20:48:47 +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
c98bad042d ColorEdit, RadioButton, Windows: Using adaptative tesselation for preview circles. 2023-03-21 17:48:09 +01:00
PanForPancakes
9ac94ff001 ColorPicker: Fixed shading of S/V triangle in Hue Wheel mode. (#6254, #5200)
Amend f6460970
2023-03-21 17:47:56 +01:00
cfillion
7269498ecc IO: actually fixed adding events from inactive context (#6199, #6256, #4921, #5856) 2023-03-21 14:19:59 +01:00
David Briscoe
cac76b2754 Slider, Drags: skip %+ and %# format flags for scanning. (#6259)
(There are two additional unhandled flags that only affect padding: '-' and ' '. Formatting flags don't make sense in a SliderInt's format string, so I've omitted them)
2023-03-21 12:09:38 +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
5d4a8978bd Docs: added all older versions to Changelog. 2023-03-16 15:15:15 +01:00
Aiekick
91577c7f51 Backends: GLFW: Fixed key modifiers handling on secondary viewports. (#6248, #6034) 2023-03-16 11:59:45 +01:00
ocornut
301c956039 Examples: Windows: Added 'misc/debuggers/imgui.natstepfilter' file to all Visual Studio projects. (#3038) 2023-03-15 17:09:09 +01:00
Ambrose Bonnaire-Sergeant
8b6e021f35
Demo: Fixed typos. (#6247) 2023-03-15 15:55:47 +01:00
ocornut
ae4dad09b5 Examples: SDL3: Updated for latest WIP SDL3 branch. (#6243) 2023-03-15 15:04:07 +01:00
ocornut
0d606968d8 Backend: OpenGL3: Amend b0c18166 fix cases where glGetString(GL_VERSION) returns NULL. (#6154, #4445, #3530) 2023-03-15 12:25:34 +01:00
ocornut
24a44b9abe Version 1.89.5 WIP 2023-03-15 12:25:20 +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
e39c2552ac Backends: GLFW: Avoid using glfwGetError() and glfwGetGamepadState() on Emscripten. (#6240) 2023-03-14 16:00:29 +01:00
ocornut
cc2177de15 Debug Tools: Added io.ConfigDebugBeginReturnValueOnce / io.ConfigDebugBeginReturnValueLoop options. 2023-03-14 15:25:13 +01:00
ocornut
c426e32247 Tables: Fixed an issue where user's Y cursor movement within a hidden column would have side-effects.
- Afaik the "to allow ImGuiListClipper to function" was added early during Tables development (prior to commit 55) and later replaced by support in ImGuiListCipper, it seems unnecessary.
- Also removed RowPosY2 being accted in TableEndCell().
+ Comments about 2bb9e35 + fix example bb224c8
2023-03-13 16:26:38 +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
bb224c8aa1 Examples: Updated all examples application to enable ImGuiConfigFlags_NavEnableKeyboard and ImGuiConfigFlags_NavEnableGamepad by default. 2023-03-10 18:35:52 +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
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
duddel
57d0fcd021 Examples: Fix Android example build for Gradle 8. (#6229) 2023-03-07 14:01:20 +01:00
Cyphall
66b762577c Backends: OpenGL3: Fixed restoration of a potentially deleted OpenGL program. (#6220, #6224) 2023-03-06 11:55:55 +01:00
Adam Kewley
2496b973f9 Backends: SDL2,SDL3: Accept SDL_GetPerformanceCounter() not returning a monotonically increasing value. (#6189, #6114, #3644) 2023-02-23 15:07:15 +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
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
5d74891285 Backends: Win32: Use WM_NCMOUSEMOVE / WM_NCMOUSELEAVE to track mouse positions over non-client area (OS decorations) when app is not focused. (#6045, #6162) 2023-02-15 18:11:41 +01:00
ocornut
204cb4d226 Version 1.89.4 WIP 2023-02-15 15:35:56 +01:00
ocornut
458a109031 Version 1.89.3 2023-02-14 16:00:18 +01:00
Laurens Holst
b0c1816664 Backends: OpenGL3: Fixed loader compatibility with GL_VERSION for GL 2.x (#6154, #4445, #3530)
GL_MAJOR_VERSION and GL_MINOR_VERSION are available on GL 3.0 and above.
So we have to parse GL_VERSION under GL 2.x
Reference https://www.khronos.org/opengl/wiki/OpenGL_Context#Context_information_queries
Regressed since 459de65477
See https://github.com/ocornut/imgui/pull/3530
2023-02-14 15:39:49 +01:00
ocornut
fa0852f9e5 ColorEdit, ColorPicker: Fixed hue/saturation preservation logic from interfering with the displayed value (but not stored value) of others widgets instances. (#6155)
Amend 30546bc0, accb0261b, 38d22bc4
2023-02-14 15:35:00 +01:00
ocornut
092b6825ac Fonts: Assert that in each GlyphRanges[] pairs first is <= second. 2023-02-14 15:00:12 +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
13fbd99491 Backends: SDL3: update to run with SDL3. Examples: Add SDL3+Gl example. Remove some version checks. (#6146)
More update upcoming in docking branch.
2023-02-07 16:07:53 +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
ea39841fcd Examples: (Again, but better) made SDL+GL and GLFW+GL examples build with Emscripten. (#2492, #2494, #3699, #3705) 2023-02-03 22:39:43 +01:00
ocornut
f43c6ea6a4 Revert most of "Examples: refactor all examples with a MainLoopStep() function..." (#2492, #3699)"
This reverts commit 96ab68eee0.

# Conflicts:
#	docs/CHANGELOG.txt
#	examples/example_glfw_opengl3/main.cpp
#	examples/example_sdl_opengl3/main.cpp
2023-02-03 22:17:40 +01:00
ocornut
f799a293c8 Tables: Solved an ID conflict issue with multiple-instances of a same table. Storing instance id for convenience. (#6140)
TableGetColumnResizeID() are still using an incorrect table, but having only one-level left tends to cancel things out.
2023-02-03 20:03:03 +01:00
ocornut
a085581057 Backends: GLFW: added ImGui_ImplGlfw_SetCallbacksChainForAllWindows(). (#6142) 2023-02-03 17:53:53 +01:00
ocornut
d0b1aaa076 Backends: GLFW: Registering custom low-level mouse wheel handler to get more accurate scrolling impulses on Emscripten. (#4019, #6096)
Namely, GLFW JS emulation seems to quantize values to a min of -1/+1 which breaks modern OSX/Windows emulating smoothness with stepping wheels (slow steps are sending sub-1.0 values)
+ Massage changelog.
2023-02-03 15:05:39 +01:00
ocornut
6584de4a78 Backends: SDL: Avoid calling SDL_SetCursor() when cursor has not changed. (#6113) 2023-02-02 21:28:28 +01:00
ocornut
1f1861dae6 Backends: Added support for SDL 2.0.18+ preciseX/preciseY mouse wheel data for smooth scrolling + scaling for Emscripten. (#4019, #6096)
+ Missing changelog entries.
2023-02-02 19:18:58 +01:00
ocornut
624c057ae1 Backends: GLFW: revert flipping mouse-wheel axis for Emscripten. (#4019)
Latest version seems ok.
2023-02-02 18:09:20 +01:00
ocornut
ce6e6da510 Examples: Made example_sdl_opengl3 and example_glfw_opengl3 build with Emscripten. Removed dedicated examples. (#2492, #2494, #3699, #3705) 2023-02-02 18:08:17 +01:00
ocornut
96ab68eee0 Examples: refactor all examples with a MainLoopStep() function, to facilitate use with Emscripten. (#2492, #3699)
Aligned all examples.
2023-02-02 17:30:48 +01:00
ocornut
0370856d78 Backends: GLFW: Removed mouse-wheel value scaling for Emscripten. (#4019, #6096, #6081) 2023-02-02 15:27:14 +01:00
ocornut
f822e07d76 Backends: SDL: Removed SDL_MOUSEWHEEL value clamping. (#4019, #6096, #6081)
+ Fix warnings.
2023-02-02 15:27:14 +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
ocornut
8d29665ae1 Backends: OSX: Fixed scroll wheel scaling for devices emitting events with hasPreciseScrollingDeltas==false (e.g. non-Apple mices).
Ref #4019 for details provided in .XLS sheet, although not strictly related to main issue topic.
+ Rename Emscripten demo titles to make SDL visible.
2023-02-01 19:43:03 +01:00
ocornut
5a3f82e2f4 Examples: SDL+SDL_Renderer: Added call to SDL_RenderSetScale() to display is correct on a Retina display (albeit lower-res as our other unmodified examples). (#6121, #6065, #5931). 2023-01-31 15:49:54 +01:00
ocornut
f142887088 Combo: Allow SetNextWindowSize() to alter combo popup size. (#6130)
Amend a5e939214
2023-01-31 11:23:24 +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
Basil Fierz
d73e3285de Backends: WebGU: Revert the implicit render pipeline layout generation as introduced in 83bdfef (#6117, #4116, #3632)
The feature was removed from WebGPU (https://github.com/gpuweb/gpuweb/issues/2470)
2023-01-25 21:55:17 +01:00
ocornut
fc50532213 InputText: On OSX, inhibit usage of Alt key to toggle menu when active (used for work skip). 2023-01-25 21:44:30 +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
AJ Weeks
f4ef420c01 InputText: Added support for Ctrl+Delete to delete up to end of word. (#6067) 2023-01-25 14:41:38 +01:00
ocornut
07490618ae Misc: Tolerate zero delta-time under Emscripten. (#6114, #3644) 2023-01-25 14:13:12 +01:00
Mark Reid
fe0a24f38a Examples: Win32: Fixed examples using RegisterClassW() since 1.89 to also call DefWindowProcW(). (#5725, #5961, #5975)
Fixes the window title from being truncated on calls to Platform_SetWindowTitle. Stops the WM_SETTEXT message that happens when calling setWindowTextW from being interpreted as ascii.
2023-01-24 21:52:07 +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
f6db9e2f39 Menus: Fixed layout of MenuItem()/BeginMenu() when label contains a '\n'. (#6116) 2023-01-24 16:11:38 +01:00
ocornut
91667430a8 Tables: increase table columns limit from 64 to 512 using bit array allocated in contiguous memory +. (#6094, #5305, #4876, #3572) 2023-01-21 00:41:54 +01:00
ocornut
3482d4eccf Text: Fixed layouting of wrapped-text block skipping successive empty lines. (#5720, #5919)
Regression in the bd96f6e fix
2023-01-19 15:59:39 +01:00
ocornut
51c97a41aa PlotHistogram, PlotLines: Passing negative sizes honor alignment like other widgets. 2023-01-18 15:13:23 +01:00
omar
82fdd7018d
Update FAQ.md 2023-01-13 17:27:44 +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
d7c8516a4b Version 1.89.2 2023-01-05 15:49:29 +01:00
ocornut
e06bbe05e1 Revert most/part of "Shortcut: added Shortcut() function and ImGuiInputFlags in public API + Demo." (#456, #2637)
This reverts commit 0949acb6e6.

# Conflicts:
#	imgui.h
2023-01-05 15:21:48 +01:00
ocornut
57a5b73a4c InputText: fixed cursor navigation when pressing Up Arrow on the last character of a multiline buffer which doesn't end with a carriage return. (#6000)
Simplify stb_textedit_find_charpos(). Leaving that to simmer for a while before attempting an upstream PR.
2023-01-04 17:58:07 +01:00
ocornut
1f6e62a4ae Backends: GLFW: Fixed mods state on Linux with Alt-GR text input (e.g. German keyboard layout), (#6034)
Amend 07557674, 1ad8ad62
Ref maybe https://github.com/glfw/glfw/issues/1630
2023-01-04 15:43:41 +01:00
ocornut
9150c23c04 imgui_freetype: fixed a packing issue which in some occurrences would prevent large amount of glyphs from being packed correctly. (#5788, #5829)
This seemingly innocuous change sursingly had very large side-effects of completly breaking packing for the test font mentioned in above issue. Not even sure why tbh. New code matches what stb_truetype's stbtt_PackBegin() does.
2023-01-04 15:22:56 +01:00
ocornut
9c1dac3ff0 Examples: DirectX10, DirectX11: try WARP software driver if hardware driver is not available. (#5924, #5562) 2023-01-04 12:14:53 +01:00
ocornut
4b39c1f654 Docs: adding Tests badge + more references to Test Engine. 2023-01-03 20:26:26 +01:00
Martin Ejdestig
e5d51866c6 Backends; Vulkan: do not set VkDescriptorSetLayoutBinding::pImmutableSamplers, allow changing sampler. (#6001, #5502, #914)
Follow up to c9aef16 which removec three funtions worth of duplicate code.
2023-01-02 16:30:10 +01:00
ocornut
317b33d647 Tables: fixed matching width of synchronized tables when only some (not all) instances have a vertical scrollbar. (#5920) 2022-12-08 20:06:26 +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
9d08506dce Tables, Nav: frozen columns are not part of menu layer and can be crossed over. (#5143, #3692)
Frozen rows (~header) still moving from menu to main layer based on freezing stat.e
2022-12-06 22:11:51 +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
24b873a740 Internals: renaming inside ScrollToRectEx() + fixed misplaced changelog entry. 2022-12-06 18:22:59 +01:00
ocornut
844e0ae688 Fixes/amend 9825f7f + amend Changelog (#4857, #5937) 2022-12-01 20:19:26 +01:00
ocornut
0e2a167bdb Fonts: added a 'void* UserData' field in ImFontAtlas, as a convenience for use by applications using multiple font atlases.
+ fixed mislocated Changelog entries added recently.
2022-12-01 20:10:37 +01:00
ocornut
9825f7fa87 Fixed cases where CTRL+Tab or Modal can occasionally lead to the creation of ImDrawCmd with zero triangles. (#4857, #5937)
Amend b0a6cd6
2022-12-01 18:40:36 +01:00
assiduous
66ad2ad539 Properly detect SSE instruction support in 32-bit MSVC build. (#5943) 2022-12-01 17:41:38 +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
a5f3596e6c Backends: Allegro5: use al_draw_indexed_prim() or al_draw_prim() depending on version. (#5937)
+ OSX comments (#5938)
Amend 185b4dde + 50aeeff
2022-11-30 14:46:45 +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
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
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
kdchambers
233d7ad3f2 Backends: WebGPU: fixed validation error with default depth buffer settings. (#5869, #5914)
(initialize WGPUCompareFunction params to valid values)
2022-11-24 12:52:38 +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
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
3a685749cb ColorEdit: fixed label overlapping when using style.ColorButtonPosition == ImGuiDir_Left. (#5912)
Amend 54fb051e5
+ Internals: added IsKeyboardKey(), IsMouseKey() helpers.
2022-11-23 15:00:50 +01:00
ocornut
16476f99fd Backends: GLFW: cancel out errors emitted by glfwGetKeyName() when a name is missing. (#5908) 2022-11-22 18:08:25 +01:00
ocornut
5bb2874940 Version 1.89.1 WIP 2022-11-16 17:55:27 +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
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
macaba
03d3343e21 Docs: Update FAQ.md explaining how to enable hidpi for Windows app. (#5880) 2022-11-10 16:58:46 +01:00
Peter Nimmervoll
00b6370848 Backends: WebGPU: fixed rendering when a depth buffer is enabled. (#5869) 2022-11-10 16:28:44 +01:00
ocornut
7380b9816e Scrolling: Exposed SetNextWindowScroll() in public API. (#1526) 2022-11-09 17:03:07 +01:00
ocornut
b8b0f9d02e Backends: OpenGL3: Reverted use of glBufferSubData(). (#4468, #4504, #3381, #2981, #4825, #4832, #5127) 2022-11-09 15:57:54 +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
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
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
Akira Maezawa
86f2af2bc7 Backends: OSX: Fixed mouse coordinate before clicking on the host window. (#5842) 2022-11-02 12:02:39 +01:00
Rewtio
c2694ef75e Examples: Android: Using LoadIniSettingsFromMemory() / SaveIniSettingsToMemory() to save in appropriate location for Android. (#5836) 2022-10-31 11:47:05 +01: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
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
e3fa56ae05 BeginMenu(): Menus: Fixed a one-frame issue where SetNextWindowXXX data are not consumed by a BeginMenu().
+ Shallow tweaks to reduce diff of future branches. Removing early return also facilitate some changes.
2022-10-19 14:12:04 +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
ab6e48b833 Backends: GLFW: Perform a dummy glfwGetError() read to cancel missing mouse cursors errors. (#5785) 2022-10-18 12:21:31 +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
b15347cb7d Tables: activating an ID (e.g. clicking button inside) column doesn't prevent columns output flags from having ImGuiTableColumnFlags_IsHovered set. (#2957) 2022-10-13 15:15:42 +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
thedemons
5196bd15e9
Docs: Update outdated code sample (#5766) 2022-10-11 17:45:27 +02:00
ocornut
dfa1bb0ac7 Backends: OSX: Fixed mouse inputs on flipped views. (#5756) 2022-10-06 14:28:14 +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
a588f00f7b Backends: Vulkan: Added experimental ImGui_ImplVulkan_RemoveTexture() for api symetry. (#914, #5738). 2022-10-04 12:02:48 +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
cc5058e5d7 IO: Filter duplicate input events during the AddXXX() calls. (#5599, #4921) 2022-09-29 22:01:11 +02:00
ocornut
0749453355 Menus, Nav: Fixed not being able to close a menu with Left arrow when parent is not a popup. (#5730) 2022-09-29 19:51:54 +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
Andrew D. Zonenberg
e74a50f525 Added GetGlyphRangesGreek() helper for Greek & Coptic glyph range. (#5676, #5727) 2022-09-28 17:46:20 +02:00
ocornut
0a7054c7e4 Backends: Win32: Convert WM_CHAR values with MultiByteToWideChar() when window class was registered as MBCS (not Unicode). (#5725, #1807, #471, #2815, #1060) 2022-09-28 17:04:42 +02:00
ocornut
a229a7f39f Examples: Win32: Always use RegisterClassW() to ensure windows are Unicode. (#5725) 2022-09-28 16:57:18 +02:00
ocornut
e0330c1696 Fonts, Text: Fixed wrapped-text not doing a fast-forward on lines above the clipping region. (#5720)
which would result in an abnormal number of vertices created.
2022-09-28 14:58:41 +02:00
ocornut
5c4426c5b8 Demo: Fixed Log & Console from losing scrolling position with Auto-Scroll when child is clipped. (#5721) 2022-09-28 12:22:44 +02:00
ocornut
12c0246890 Removed support for 1.42-era IMGUI_DISABLE_INCLUDE_IMCONFIG_H / IMGUI_INCLUDE_IMCONFIG_H. (#255) 2022-09-28 12:08:21 +02:00
ocornut
04316bd223 ColorEdit3: fixed id collision leading to an assertion. (#5707) 2022-09-26 16:32:09 +02:00