Commit Graph

10014 Commits

Author SHA1 Message Date
ocornut
daebac9bda ImStrv: allow constructing from two null pointers. 2026-07-16 15:52:34 +02:00
ocornut
5b52e2571f ImStrv: Combo(), ListBox(): seems better to not introduce the ImStrv [] versions?
As 1) user is unlikely to store that on their end. 2) nowadays with lambdas isn't an easy user-side conversion.
Then we limit explosion of an already messy API.
2026-07-16 15:52:34 +02:00
ocornut
03e80308db ImStrv: convert Combo()/ListBox() to use ImStrv in their getters.
Didn't convert Combo() "const char* items_separated_by_zeros" as this doesn't translate well when used via a ImStrv constructor, may actually aim to obsolete.
Fixed for shadowing local variable warning on 2025/06/25.
2026-07-16 15:52:34 +02:00
ocornut
188658f7a3 ImStrv: add needed disambiguishing functions for const char* now being ambiguous. (5079)
amended for gcc/clang warnings
amended to facilitate merge with docking
2026-07-16 15:51:24 +02:00
ocornut
0956128efa ImStrv: backtracked for now on supporting ImStrv for format strings.
It's widely incomplete and slow, requires a printf function taking non-zero-terminated format string to work.
Might do it eventually but it's much less a problem than labels. Format string are more frequently inlined in code and tend to be small, so existing solutions at call site can work better for now.
2026-07-16 15:51:24 +02:00
璀境石
9bd3bd7b93 ImStrv: enhanced VS debugger .natvis support. build fixes. (5333, 5906) 2026-07-16 15:51:24 +02:00
ocornut
b964bff3c9 ImStrv: standardized code doing format copy, optimized ImStrStr 2026-07-16 15:51:24 +02:00
ocornut
50e6911223 ImStrv: moved double char* function signatures under #ifndef IMGUI_DISABLE_OBSOLETE_FUNCTIONS blocks + fixed various compiles errors/warnings. 2026-07-16 15:51:24 +02:00
ocornut
4b7469a650 ImStrv: changed ImStrv xxx=NULL args to an explicit xxx=ImStrv()
This is mostly for the benefit of cimgui parser, ideally we would do without.
2026-07-16 15:51:00 +02:00
ocornut
6035185579 ImStrv: Step 2 - change ImStrv typedef to struct, perform all other logic conversion.
Squashed commits (initially a commit from rokups + many rework by ocornut. keeping them separate commits made rebasing unnecessarily tricking so merged from 2024/02)
ImStrv: many fixes (see details), added imconfig class extension example, added natvis description.
ImStrv: rework toward ensuring End is always set to constant can be compile time calculated
ImStrv: using length(), fix ambiguous empty() function, fix altered behaviors, removed unused operators.
ImStrv: various tweaks and fixes. removed ImGuiTextRange from ImGuiTextFilter, fix test engine hooks, removed constructor only used twice.
2026-07-16 15:50:59 +02:00
Rokas Kupstys
fb40680f4a ImStrv: Step 1 - change string type to ImStrv in API. (REBASED)
(last rebase amend 2024/12/11)
2026-07-16 15:50:59 +02:00
ocornut
26b8292635 Split ImGuiItemFlags_LiveEdit into ImGuiItemFlags_LiveEditText, ImGuiItemFlags_LiveEditScalar. Added Demo contents. (#9476, #701)
cc #3936, #3946, #5904, #6284, #8149, #8065, #8665, #9117, #9299, #700, #1351, #1875, #2060, #2215, #2380, #2550, #3083, #3338, #3556, #4373, #4714, #4885, #5184,#5777, #6707, #6766, #8004, #8303, #8915, #9308
2026-07-16 15:46:47 +02:00
ocornut
c958f16059 EndGroup: fixed reporting combined Edit when it happens at the same time as tabbing to next ActiveId. (#9476, #701) 2026-07-16 15:46:43 +02:00
ocornut
4853f5c96b Internals: rename NextItemData.ItemFlags -> ItemFlagsSet 2026-07-16 15:46:40 +02:00
ocornut
18d63b12be Added ImGuiItemFlags_LiveEdit flag, and much-awaited support for disabling it. (#9476, #701)
cc #3936, #3946, #5904, #6284, #8149, #8065, #8665, #9117, #9299, #700, #1351, #1875, #2060, #2215, #2380, #2550, #3083, #3338, #3556, #4373, #4714, #4885, #5184,#5777, #6707, #6766, #8004, #8303, #8915, #9308
2026-07-16 15:39:53 +02:00
ocornut
2392a52660 InputText: tag InputTextDeactivatedState with an elapsing frame. Avoid unnecessary InputTextDeactivateHook() call on manual deactivation. InputTextDeactivateHook() only takes a record when Edited + callback marks edited. (#9476, #701)
for _NoLiveEdit it's easier than we don't use IsItemDeactivatedAfterEdit() in InputText()'s `if (g.InputTextDeactivatedState.ID == id)` block.
2026-07-16 15:39:52 +02:00
ocornut
baeea39c1a Settings: fixed issues caliing ClearWindowSettings() followed by LoadIniSettingsFromMemory().
While not done with core, this would be useful to load .ini over a clean slate.
2026-07-15 19:22:44 +02:00
ocornut
0ff4a8a900 Backends: OpenGL2/3: Backup and restore GL_UNPACK state in UpdateTexture(). Amends. (#9473, #8802)
Fix setting GL_UNPACK_ROW_LENGTH twice.
2026-07-15 18:20:05 +02:00
Turtle Dove
e3927dc004 Backends: OpenGL2/3: Backup and restore GL_UNPACK state in UpdateTexture() (#9473, #8802) 2026-07-15 18:16:57 +02:00
Turtle Dove
35a7e8e864 Backends: SDL2: restore SDL_StartTextInput()/SDL_StopTextInput() calls on Android (#7636, #9474) 2026-07-15 17:59:25 +02:00
Turtle Dove
909082890a Backends: Android: clear mouse position on touch release. (#6627, #9474) 2026-07-15 17:36:39 +02:00
Turtle Dove
0302703a7d CI: Android: Gradle 9.4.1 via setup-gradle action for AGP 9.2.0 (#8878) (#9467) 2026-07-15 14:36:59 +02:00
ShiroKSH
0720d59bb7 Tables: validate ini settings column count. (#9472)
+ Amend with comment by ocornut.
2026-07-15 14:16:31 +02:00
ocornut
addbfa5021 Settings: fixed ConfigIniSettingsAutoDiscardMonths not calling Cleanup (#9460, #9471) 2026-07-15 13:57:48 +02:00
ocornut
bad1ee71f8 Backends: SDL_Renderer3: fixed changing scale mode not actually working on all platforms. (#7616, #9470, #9378) 2026-07-15 13:44:03 +02:00
ShiroKSH
003ee19d9e Backends: SDL_Renderer3: fixed default sampler not being Linear. (#7616, #9470, #9378) 2026-07-15 13:44:01 +02:00
ocornut
b62bfd6b06 InputText: reworked io.ConfigInputTextEnterKeepActive mode so that pressing Ctrl+Enter or Shift+Enter still allows to deactivate.
cc #9239
2026-07-10 21:36:43 +02:00
ocornut
da137cbbb0 (Breaking) Drag and Drop: commented out legacy name ImGuiDragDropFlags_SourceAutoExpirePayload. Use ImGuiDragDropFlags_PayloadAutoExpire. 2026-07-08 18:40:29 +02:00
ocornut
9bb131fb2f CI: enable Metal4 examples. (#9466, #9451)
(Untested)
2026-07-08 18:28:37 +02:00
Jonathan Hoffstadt
62399b5bfe Examples: Apple + Metal4: add example (#9466, #9451)
+ Amend edit to EXAMPLES.md, comment build.xml
2026-07-08 18:04:30 +02:00
ocornut
68fce9f3bd Settings: added DiscardAll option to CleanupIniSettings() / ImGuiSettingsCleanupArgs. (#9460)
+ Demo: tweak for scaling.
2026-07-08 15:03:19 +02:00
ocornut
f903a7e8e2 Settings: fixed Windows not honoring DiscardWhenMissingDate. (#9460) 2026-07-07 22:52:47 +02:00
ocornut
112d6d9eab Settings: added a type name filter to CleanupIniSettings() / ImGuiSettingsCleanupArgs. Amends. (#9460)
Request hash because storing const char* strings in struct is not entirely zen. Amend 2c49da4.
2026-07-07 22:30:15 +02:00
ocornut
2c49da44be Settings: added a type name filter to CleanupIniSettings() / ImGuiSettingsCleanupArgs. (#9460) 2026-07-07 22:18:01 +02:00
ocornut
85593d0869 Tables, Settings: make TableSettingsCreate() recycle existing unbound entry (might happen after a GC or anything clearing table->SettingsOffset. (#9460, #9108) 2026-07-07 22:06:43 +02:00
ocornut
d1eb8d031c Settings: added explicit DiscardWhenMissingDate. (#9460, #9108) 2026-07-07 22:00:26 +02:00
Kian
481f2cea17 Backends: Metal4: added ImTextureID tex_id to residency set. (#9461, #9458, #9451)
This will resolve runtime errors identified by XCode's Metal Shader Validator.
2026-07-07 16:35:23 +02:00
Kian
520a29dd51 Backends: Metal4: added metal-cpp support. (#9461)
with amends.
2026-07-07 16:29:02 +02:00
ocornut
cfdc953ba9 ColorPicker: added option to fix Saturation/Value triangle in wheel picker. Amends. (#9337)
The heat makes this week really not good with human mistakes I guess.
2026-07-07 16:21:36 +02:00
ocornut
f626c1c793 ColorPicker: added option to fix Saturation/Value triangle in wheel picker. Amends. (#9337)
ConfigColorPickerRotateTriangle -> !ImGuiColorEditFlags_PickerNoRotate
2026-07-07 16:18:34 +02:00
ocornut
5d56c09432 ColorPicker: added option to fix Saturation/Value triangle in wheel picker. Amends. (#9337) 2026-07-07 16:14:13 +02:00
SeanTheBuilder1
0785cdb2bb ColorPicker: added option to fix Saturation/Value triangle in wheel picker. (#9337) 2026-07-07 16:14:11 +02:00
ocornut
aca69173df (Breaking) ColorEdit: obsoleted SetColorEditOptions() function in favor of poking to io.ConfigColorEditFlags. (Amend 0e479b9, 9f7d808)
Apologies, 9f7d808 was extremely flaky.
2026-07-07 16:10:35 +02:00
ocornut
9f7d8086fe (Breaking) ColorEdit: obsoleted SetColorEditOptions() function in favor of poking to io.ColorEditFlags. (Amend 0e479b9)
Reordered IO fields breaks ABI backward compat which was never guaranteed. Occasional breaking is a good way to enforce that lack of guarantee!
2026-07-06 16:02:17 +02:00
ocornut
0e479b9554 (Breaking) ColorEdit: obsoleted SetColorEditOptions() function in favor of poking to style.ColorEditFlags. 2026-07-06 15:34:13 +02:00
ocornut
776bf2ab0d Examples: OpenGL3+Win32: rework OpenGL initialization to allow Wine compatibility. Fix. (#9427, #6577)
Fixed commented out test code.
2026-07-03 18:59:37 +02:00
ocornut
4f1ea369ea Examples: OpenGL3+Win32: rework OpenGL initialization to allow Wine compatibility. (#9427, #6577) 2026-07-03 18:57:14 +02:00
ocornut
a977144955 Examples: OpenGL3+GLFW,SDL2,SDL3: improve Wine compatibility by passing empty GLSL version to ImGui_ImplOpenGL3_Init(). (#9427, #6577) 2026-07-03 18:57:10 +02:00
ocornut
e616ace74d CI, Backends: Metal4: fixed CI, added comments. (#9458) 2026-07-03 17:48:11 +02:00
ocornut
5c2160ac85 Settings, IO: move ConfigDebugIniSettings in same section. 2026-07-03 16:56:38 +02:00