ocornut
f110094bd4
ImStrv: detect and fixed misuses of CalcTextSize() old signature. (9321)
...
For IMGUI_DISABLE_OBSOLETE_FUNCTIONS only.
2026-04-24 12:26:48 +02:00
David Mentler
862420cec7
ImStrv: Added ImStrv formatter for LLDB (e.g. Xcode)
2026-04-24 12:26:48 +02:00
ocornut
9ee1b9d8f2
ImStrv: made length() returns an int as it simplify the most common case (of passing %.*s to printf)
2026-04-24 12:26:48 +02:00
ocornut
8f6d1f077c
ImStrv: allow constructing from two null pointers.
2026-04-24 12:26:48 +02:00
ocornut
6f5bf05ad5
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-04-24 12:26:47 +02:00
ocornut
6c9a64d666
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-04-24 12:26:47 +02:00
ocornut
b46cfb2cb1
ImStrv: add needed disambiguishing functions for const char* now being ambiguous. (5079)
...
amended for gcc/clang warnings
amended to facilitate merge with docking
2026-04-24 12:26:47 +02:00
ocornut
d189242988
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-04-24 12:26:47 +02:00
璀境石
45541ccc62
ImStrv: enhanced VS debugger .natvis support. build fixes. (5333, 5906)
2026-04-24 12:26:47 +02:00
ocornut
541e3e93f7
ImStrv: standardized code doing format copy, optimized ImStrStr
2026-04-24 12:26:47 +02:00
ocornut
dd7b5ceff9
ImStrv: moved double char* function signatures under #ifndef IMGUI_DISABLE_OBSOLETE_FUNCTIONS blocks + fixed various compiles errors/warnings.
2026-04-24 12:26:47 +02:00
ocornut
0d2f32c8fb
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-04-24 12:26:47 +02:00
ocornut
5778f2d5dc
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-04-24 12:26:47 +02:00
Rokas Kupstys
439a195710
ImStrv: Step 1 - change string type to ImStrv in API. (REBASED)
...
(last rebase amend 2024/12/11)
2026-04-24 12:26:47 +02:00
ocornut
bda49826cf
Backends: OpenGL3: build fix for WebGL/ES2/Emscripten. ( #9378 )
...
Amend 6b05f71 which was incorrectly labelled.
2026-04-24 12:26:21 +02:00
ocornut
6b05f711fd
Backends: WebGPU: build fix for WebGL/ES2.
2026-04-23 22:06:42 +02:00
ocornut
86ebb3bc11
Backends: removed samplers from ImGui_ImplDX10_RenderState, ImGui_ImplDX11_RenderState + fixed all Changelogs. ( #9378 )
2026-04-23 22:03:11 +02:00
ocornut
7e7f3adb80
Removed DrawCallback_SetSamplerCustom feature for now. Too unreliable to get working everywhere. ( #9378 )
2026-04-23 21:50:52 +02:00
ocornut
dfe6f9ebca
Backends: WebGPU: added SetSamplerLinear/Nearest draw callbacks. ( #9378 )
2026-04-23 21:50:50 +02:00
ocornut
37952fb3b8
Backends: Vulkan, SDLGPU3: remove samplers from RenderState. ( #9378 )
...
Revert part of ac261203a5 , 9ee3d731b5 (#8866 , #8163 , #7998 , #7988 ) since we have a better solution.
2026-04-23 21:50:47 +02:00
omar
0a811e8ea1
Backends: DX9, DX10, DX11, DX12, Allegro5, OpenGL2, OpenGL3, SDLRenderer2, SDLRenderer3, SDLGPU3, Vulkan: added standard draw callbacks when possible. ( #9378 )
2026-04-23 21:50:45 +02:00
ocornut
82f46a73f8
(Breaking) Moved ImDrawCallback_ResetRenderState -> ImGui::GetPlatformIO().DrawCallback_ResetRenderState + added room in ImGuiPlatformIO for more standard backend-agnostic draw callbacks. ( #9378 )
2026-04-23 21:50:41 +02:00
ocornut
a6a16cf8a2
Backends: WebGPU: protect better against zero tex id.
2026-04-23 20:50:34 +02:00
ocornut
e887098740
Backends: WebGPU: always use SPIR-V shader on WGVK, as it cannot be detected at runtime. ( #9316 , #9246 , #9257 )
2026-04-23 19:42:29 +02:00
ocornut
f934719fbf
TabBar: comments about ImGuiTabBarFlags_FittingPolicyMixed and TabMinWidthShrink. ( #9376 , #3421 , #8800 )
2026-04-23 18:31:53 +02:00
ocornut
ce3fe4078a
Backends: WGPU: fixed build.
...
Incorrect line from a WIP branch slipped in ac06ad7
2026-04-23 17:31:14 +02:00
ocornut
f2f843c113
Fixed some extremely zealous warnings (GCC -Wconversion, -Wdouble-promotion)
...
(amend a1e0552 )
2026-04-23 17:23:43 +02:00
ocornut
adc0027912
Backends: Vulkan: remove unused artefacts (mistakenly commited in 0453ae9).
2026-04-23 16:08:11 +02:00
ocornut
ac06ad7b48
ImDrawList: made AddCallback() user data default to NULL + minor amends/comments.
2026-04-23 15:58:44 +02:00
ocornut
4739af2d51
Update VS toolset in all .vcxproj from VS2015 (v140) to VS2017 (v141).
...
It supports vcpkg.
2026-04-23 15:58:04 +02:00
ocornut
b065713cec
Backends: OpenGL2/3, SDLRenderer2/3, DirectX9, Metal: moved Init/Shutdown code lower in the file.
...
Allows to point to local functions without forward declaring them.
2026-04-23 15:53:28 +02:00
ocornut
fb308c14ce
Remove noise from 0453ae9 + amend comments. ( #914 )
2026-04-22 14:50:15 +02:00
ocornut
ac261203a5
(Breaking) Backends: Vulkan: redesigned to use separate ImageView + Sampler instead of Combined Image Sampler. (fixes, amends) ( #914 )
2026-04-22 14:43:44 +02:00
yaz0r
0453ae96e8
(Breaking) Backends: Vulkan: redesigned to use separate ImageView + Sampler instead of Combined Image Sampler. (WIP) ( #914 )
2026-04-22 14:43:44 +02:00
ocornut
a5fd597be3
Backends: Vulkan: minor changes.
2026-04-22 14:23:42 +02:00
ocornut
382b99c334
PlotHistogram: add comments. ( #9372 )
2026-04-21 22:32:01 +02:00
ocornut
2d131ef5b7
Backends: Vulkan: renaming and moving code around to reduce diff in upcoming change. Should be no-op.
2026-04-21 22:22:06 +02:00
ocornut
a1e05521e9
Backends: GLFW: added a Win32-specific implementation of ImGui_ImplGlfw_GetContentScaleXXXX functions for legacy GLFW 3.2. ( #9003 )
...
Since we ship GLFW 3.2 binaries for Windows this makes our examples a little better behaving by default.
Ideally we'd use ImGui_ImplWin32_GetDpiScaleForHwnd() and ImGui_ImplWin32_GetDpiScaleForMonitor() but they are too much code to copy.
2026-04-21 17:24:41 +02:00
ocornut
d7b40ab9a9
MultiSelect: Box-Select + Tables: Amend ac88294. fix usage of box-selection columns with items straying out of columns. ( #7994 , #2221 )
2026-04-20 11:46:36 +02:00
ocornut
ac88294b4a
MultiSelect: Box-Select +Tables: fix usage of box-selection columns with items straying out of columns. ( #7994 , #2221 )
...
Use 00d3f9295e .
+ Assets Browser toggle to enable ScrollX.
2026-04-20 11:12:43 +02:00
ocornut
ea1c04f7ab
Multi-Select + Tables: fixed an issue which could lead to an extra vertical offset in the Header row. ( #8250 , #7994 )
...
Because BeginMultiSelect() does `ms->ScopeRectMin = window->DC.CursorMaxPos = window->DC.CursorPos` at a time where CursorPos is already past MaxPos.y because of ItemSpacing.y. Accumulate spacing.
2026-04-17 19:23:10 +02:00
ocornut
cdb046ac3f
Demo: Assets Browser: fixed not submitting anything after a SetCursorScreenPos() call when no items. Would not manifest because BeginMultiSelect() altered CursorMaxPos. ( #5548 )
...
cc: 2819ab32f8 , edcd5b113e
2026-04-17 19:23:04 +02:00
ocornut
97939e6837
Multi-Select: Box-Select: fixes for using accross nested child windows. ( #8364 )
...
- IsFocused scan nav focus route.
- When covering multiple windows, draw in front most ones (grabbed FindFrontMostVisibleChildWindow() from docking branch).
2026-04-17 16:36:09 +02:00
ocornut
c91b03060d
Multi-Select: Box-Select: improve dirty unclip rectangle calculation + use in ImGuiMultiSelectFlags_BoxSelect1d mode when needed (e.g. wheel scrolling up). ( #7994 , #8250 , #7821 , #7850 , #7970 )
2026-04-17 14:38:12 +02:00
ocornut
a2eb6d99ed
MultiSelect: Box-Select +Tables: revert 4d00bf8ad which seems unneeded since enforce table layout in BeginMultiSelect(). ( #7970 , #7821 ).
2026-04-16 23:59:44 +02:00
ocornut
a2916923a1
MultiSelect: Box-Select + Clipper: extend UnclipRect by ItemSpacing. ( #7994 , #8250 , #7821 , #7850 , #7970 )
...
Amend 1ac469b50f
2026-04-16 23:37:46 +02:00
ocornut
2cbdb7a337
TextLink(), BeginCombo(): fixed two remainig instances of needlessly scanning for ##.
2026-04-16 16:47:13 +02:00
ocornut
d4783bd553
Added missing Test Engine hooks for PlotXXX(), VSliderXXX(), TableHeader().
2026-04-16 16:39:07 +02:00
ocornut
ce855cada2
Tables, Multi-Select: Fixed an issue using Multi-Select within a Table causing column width measurement to be invalid when trailing column contents is not submitted in the last row. ( #9341 , #8250 )
2026-04-16 15:21:56 +02:00
ocornut
39e7bf5a08
Separator(): enforce a minimum border size if style.SeparatorSize is 0.0f. ( #9369 )
2026-04-16 11:32:40 +02:00