Commit Graph

9585 Commits

Author SHA1 Message Date
David Mentler
32877ee341 ImStrv: Added ImStrv formatter for LLDB (e.g. Xcode) 2025-12-23 20:30:40 +01:00
ocornut
22d5690276 ImStrv: made length() returns an int as it simplify the most common case (of passing %.*s to printf) 2025-12-23 20:30:40 +01:00
ocornut
7223eac7c9 ImStrv: allow constructing from two null pointers. 2025-12-23 20:30:40 +01:00
ocornut
8406a30849 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.
2025-12-23 20:30:40 +01:00
ocornut
4b9831df00 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.
2025-12-23 20:30:39 +01:00
ocornut
03f1efcdb5 ImStrv: add needed disambiguishing functions for const char* now being ambiguous. (5079)
amended for gcc/clang warnings
amended to facilitate merge with docking
2025-12-23 20:30:39 +01:00
ocornut
a2f593abba 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.
2025-12-23 20:30:39 +01:00
璀境石
d2c17ec7b6 ImStrv: enhanced VS debugger .natvis support. build fixes. (5333, 5906) 2025-12-23 20:30:39 +01:00
ocornut
05496d384c ImStrv: standardized code doing format copy, optimized ImStrStr 2025-12-23 20:30:39 +01:00
ocornut
ec22670e4a ImStrv: Fixed various compile errors/warnings. 2025-12-23 20:30:39 +01:00
ocornut
d16d747544 ImStrv: moved double char* function signatures under #ifndef IMGUI_DISABLE_OBSOLETE_FUNCTIONS blocks. 2025-12-23 20:30:39 +01:00
ocornut
595546e64b 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.
2025-12-23 20:30:39 +01:00
ocornut
0aff56928d 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.
2025-12-23 20:30:39 +01:00
Rokas Kupstys
6197ad2a3e ImStrv: Step 1 - change string type to ImStrv in API. (REBASED)
(last rebase amend 2024/12/11)
2025-12-23 18:27:14 +01:00
ocornut
b7b8f52437 Examples: Android: update for consistency (untested). 2025-12-23 18:16:33 +01:00
ocornut
05581da183 AddFontDefault() now automatically selects an embedded font between AddFontDefaultVector() and AddFontDefaultBitmap). 2025-12-23 18:16:33 +01:00
ocornut
f006400f05 Fonts: added AddFontDefaultVector() with embedded ProggyVector data. 2025-12-23 18:16:33 +01:00
ocornut
cde6ad3967 Removed unused ImRect::Floor(). Clarified IM_TRUNC(), IM_ROUND(), ImRound64().
Better to remove since it uses IM_TRUNC which has unusual specs.
Note: 87a6443c5 always use positive value in ImRound64(). (#3609, #8215)
2025-12-23 18:16:33 +01:00
ocornut
73dd0e869d (Breaking) Fonts: remove ImFontConfig::PixelSnapV. Post-rescale GlyphOffset is always rounded.
Amend 99f6b305c, 99bca397d8.
2025-12-23 18:16:33 +01:00
ocornut
55ad3b4abd Fonts: added ExtraSizeScale feature (undocumented). 2025-12-23 18:16:32 +01:00
ocornut
d1de937c31 Fonts: ImFontAtlasFontRebuildOutput() helper. 2025-12-23 18:16:32 +01:00
ocornut
d365417e8b CI: reduce macOS runs since they are expensive. 2025-12-23 16:47:44 +01:00
ocornut
0ff810038d Added GetItemFlags() in public API. (#9127) 2025-12-22 18:33:12 +01:00
ocornut
9055c9ed22 imgui_freetype: fixed overwriting ImFontConfig::PixelSnapH when hinting is enabled.
Fix/amend 99f6b305c1.
2025-12-22 17:52:32 +01:00
ocornut
d87650dffb Text: fixed unused variable warning on builds without asserts. 2025-12-21 18:22:48 +01:00
ocornut
a5dffbec38 Text: word-wrapping use a small lookup table. (#8990, #3237, #8503, #8139, #8439, #9094, #3002, #9066, #8838) 2025-12-21 18:04:01 +01:00
ocornut
22ffa3d6d3 Text: rewrite word-wrapping logic. (#8990, #3237, #8503, #8139, #8439, #9094, #3002, #9066, #8838) 2025-12-21 18:04:00 +01:00
ocornut
683f9160b9 Internals: ImBitArray: rename storage. 2025-12-18 23:38:34 +01:00
ocornut
4e7c05504a Renamed IM_ARRAYSIZE() -> IM_COUNTOF(). Kept legacy name for now. 2025-12-17 14:30:01 +01:00
ocornut
99bca397d8 Docs: clarify PixelSnapH / PixelSnapV + comment on PushTextWrapPos(). 2025-12-17 12:02:07 +01:00
ocornut
dc48a7c88e Docs: amend fc89c61 2025-12-15 16:59:22 +01:00
ocornut
4dac00ca0c Windows: fixed always updating internal buffer for ### window titles even when Ctrl+Tab window is hidden. Instead forcing an update on mismatching when appearing.
3997e8b555 was already doing that. (Relates to 8e67fe1: code assume pointer used to be nulled when ctrl+tab window is disabled. not the case).
2025-12-11 23:24:43 +01:00
omar
fc89c61089 Hashing: handling of "###" operator to reset to seed within a string identifier doesn't include the "###" characters in the output hash anymore.
This has various simplifying properties.
Need a test engine update too.
+ Demo: removed misleading/unnecessary usage of ###.
2025-12-11 23:02:20 +01:00
ocornut
1e7d2adc29 Fixed Clang cast-align warning + Added missing Changelog entry in 1.92.4. (#8893) 2025-12-11 21:37:42 +01:00
ocornut
bd6f48fe20 Backends: OpenGL3: Fixed embedded loader multiple init/shutdown cycles broken on some platforms. (#8792, #9112) 2025-12-11 18:28:23 +01:00
ocornut
0d2dd30ee9 Tabs: minor tweaks to facilitate mods altering spacing. 2025-12-11 17:17:57 +01:00
ocornut
9971251574 Fonts: amend/comment on FontDataOwnedByAtlas=false fix being a breaking change. (#9086, #8465) 2025-12-10 21:42:07 +01:00
ocornut
a07b2828ce Backends: GLFW: add IMGUI_IMPL_GLFW_DISABLE_X11 / IMGUI_IMPL_GLFW_DISABLE_WAYLAND. (#9109, #9116)
cc #8884, #8474, #8289
2025-12-10 18:57:02 +01:00
ocornut
9a4fd69f6d Backends: GLFW: avoid repeated glfwSetCursor()/glfwSetInputMode() calls when unnecessary. 2025-12-10 18:35:22 +01:00
ocornut
cf64b7fa72 Tables: Fixed losing stored display order when reducing column count. (#9108, #4046)
Amend f2df804fcc
2025-12-08 19:29:41 +01:00
ocornut
a726bded11 Fonts: ClearOutputData() doesn't need to clear FallbackChar, EllipsisChar. Fixed crash changing font loader. 2025-12-05 19:12:50 +01:00
ocornut
7f78f52243 Demo: removed some hardcoded widths. 2025-12-05 18:46:13 +01:00
ocornut
60f8b0733c Rework color marker internals to facilitate arbitrary override using SetNextItemColorMarker().
Amend fa4b47c
2025-12-05 18:28:55 +01:00
ocornut
fa4b47c5e2 Added RGBA color markers to ColorEdit3/ColorEdit4 + opt-in ImGuiSliderFlags_ColorMarkers for Drags/Sliders.
+ Added ImGuiColorEditFlags_NoColorMarkers
+ Added style.ColorMarkerSize.
2025-12-05 16:32:48 +01:00
ocornut
a7ecbcdeba Shuffle ImGuiColorEditFlags flag values.
ImGuiColorEditFlags_AlphaOpaque, ImGuiColorEditFlags_AlphaNoBg, ImGuiColorEditFlags_AlphaPreviewHalf, ImGuiColorEditFlags_AlphaBar.
2025-12-05 16:32:45 +01:00
ocornut
ded52c71d9 Debug Log: can output to debugger. Added ImGuiDebugLogFlags_OutputToDebugger. 2025-12-05 15:07:44 +01:00
ocornut
9d4fafa671 Nav: removed an unnecessary FindWindowByName() call.
Amend c7016c25e8. It's not clear to me why it was committed like that, maybe a leftover of wip code which used the pointer before Begin().
2025-12-05 14:16:14 +01:00
ocornut
e2c49530cb ImDrawList: harden/clarify static asserts about ImDrawCmd / ImDrawCmdHeader layout. 2025-12-05 13:42:15 +01:00
achabense
fee06a92ea Text: fixed word-wrapping function reading from *text_end when passed a string range. (#9107)
Likely caused by 4d4889bf1b (#5720)
2025-12-05 13:23:26 +01:00
ocornut
d71091a957 Internals: amend RenderRectFilledRangeH() to avoid shadowed variables. 2025-12-04 16:27:54 +01:00