ocornut
045645e5f1
Demo: tweaked ShowFontSelector() and ShowStyleSelector() to update selection while navigating and to not close popup automatically.
2025-09-09 17:50:40 +02:00
ocornut
8e4955bb23
Selectable: moved ImGuiSelectableFlags_SelectOnNav to public API.
2025-09-09 17:42:14 +02:00
ocornut
e66afbbbe0
Selectable: ImGuiSelectableFlags_SelectOnNav doesn't close popups.
2025-09-09 17:33:03 +02:00
ocornut
2841c5135d
Backends: OpenGL3: add GL_NEAREST and samplers functions in loader.
2025-09-08 17:24:39 +02:00
ocornut
bf52f4a83c
Backends: OpenGL3: added HasBindSampler storage for readability and consistency.
2025-09-08 17:23:48 +02:00
ocornut
14e076c5bb
Backends: Internal renaming of samplers.
2025-09-08 16:02:23 +02:00
ocornut
ea8a5a9e17
DrawList: made AddCallback() assert when passing a null callback.
2025-09-08 15:20:18 +02:00
ocornut
230418a75d
InputText: Word-Wrap: attempt to track cursor while resizing frame/parent. ( #3237 , #952 , #1062 , #7363 )
2025-09-08 11:56:22 +02:00
ocornut
16415aa39f
InputText: Word-Wrap: added custom implementation for Home/End that is word-wrap friendly. ( #3237 , #952 , #1062 , #7363 )
2025-09-08 11:56:22 +02:00
ocornut
985723ed94
InputText: Word-Wrap: mouse clicks on word-wrapping points set cursor side correctly. ( #3237 , #952 , #1062 , #7363 )
2025-09-08 11:56:22 +02:00
ocornut
a82f66a9b0
InputText: Word-Wrap: added ImGuiInputTextFlags_WordWrap support. ( #3237 , #952 , #1062 , #7363 )
2025-09-08 11:56:20 +02:00
ocornut
e422a38e4c
InputText: internals: expose LineCount, GetPreferredOffsetX().
2025-09-08 11:54:34 +02:00
ocornut
11fff1ccf5
ImFont::RenderText() takes ImDrawTextFlags_CpuFineClip instead of bool cpu_fine_clip + forward ImDrawTextFlags to word-wrap code.
...
(for #3237 , #952 , #1062 , #7363 )
2025-09-08 11:54:33 +02:00
ocornut
3cc7d1c81a
InputText: InputTextCalcTextSize() uses ImFontCalcTextSizeEx().
...
(for #3237 , #952 , #1062 , #7363 )
2025-09-08 11:54:33 +02:00
ocornut
56189cd814
Internals: added ImDrawTextFlags_StopOnNewLine support to ImFontCalcTextSizeEx(), ImDrawTextFlags_WrapKeepTrailingBlanks to ImTextCalcWordWrapNextLineStart().
...
(for #3237 , #952 , #1062 , #7363 )
2025-09-08 11:54:33 +02:00
ocornut
a9945899c6
stb_textedit: extracted stb_textedit_move_line_start()/stb_textedit_move_line_end(), adding STB_TEXTEDIT_MOVELINESTART,STB_TEXTEDIT_MOVELINEEND support. ( #3237 , #952 , #1062 , #7363 )
2025-09-08 11:54:33 +02:00
ocornut
bc6478f651
Internals: added ImDrawTextFlags_WrapKeepTrailingBlanks required for text-edit style word-wrapping.
...
(for #3237 , #952 , #1062 , #7363 )
2025-09-08 11:54:33 +02:00
ocornut
34ab6c8a89
Internals: extracted ImFont::CalcTextSizeA() into ImFontCalcTextSizeEx() so we can make change to its signature.
...
(for #3237 , #952 , #1062 , #7363 )
2025-09-08 11:54:33 +02:00
ocornut
c63b5bd8fb
Internals: extracted ImFont::CalcWordWrapPosition() into ImFontCalcWordWrapPositionEx() so we can make change to its signature.
...
(for #3237 , #952 , #1062 , #7363 )
2025-09-08 11:54:33 +02:00
ocornut
8a35ce0e98
CalcWordWrapPosition() breaks on \n instead of relying on caller to do it + expose ImTextCalcWordWrapNextLineStart(). ( #3237 , #952 , #1062 , #7363 )
...
Should be functional no-op, fingers crossed. Breaking on \n allows caller to count lines reliably.
2025-09-08 11:54:32 +02:00
ocornut
02af06ea5f
Backends: Vulkan: rewrite pColorAttachmentFormats deep-copy to avoid issues when calling multiple times. ( #8282 , #8110 )
2025-09-04 18:14:28 +02:00
ocornut
026d47cd35
Backends: Vulkan: store pColorAttachmentFormats deep-copy into an ImVector. ( #8282 , #8110 )
2025-09-04 18:05:58 +02:00
ocornut
c63714822f
Backends: Vulkan: reorder InitInfo fields.
2025-09-04 18:05:15 +02:00
ocornut
26aa81a8b1
Backends: Vulkan: misc amends (makes ImGui_ImplVulkan_MainPipelineCreateInfo::PipelineRenderingCreateInfo consistent with InitInfo). ( #8110 , #8111 , #8053 )
2025-09-04 18:05:15 +02:00
ocornut
1ecc34a0b1
Backends: Vulkan: misc amends (e.g. changelog, coding style). (8110, 8111, 8053)
...
# Conflicts:
# backends/imgui_impl_vulkan.cpp
2025-09-04 18:04:20 +02:00
ocornut
ee03cef14f
Backends: Vulkan: revert using a struct for ImGui_ImplVulkan_CreatePipeline() for now. ( #8110 , #8111 , #8053 )
2025-09-04 18:00:05 +02:00
ocornut
7d33524042
InputText: fixed an issue where using Escape with ImGuiInputTextFlags_EscapeClearsAll. ( #8915 , #8273 )
...
Regression test: "widgets_inputtext_temp_buffer_2"
2025-09-04 13:16:05 +02:00
ocornut
605a751571
InputText, InputInt, InputFloat: fixed an issue where using Escape to revert would not write back the reverted value. ( #8915 , #8273 )
...
Revealed by 00f12b9a0
Regression test: "widgets_inputtext_temp_buffer_2"
2025-09-04 13:16:04 +02:00
ocornut
b7cb3d93a4
Comments about using MSVC SAL for printf annotation. ( #8871 )
2025-09-03 19:39:55 +02:00
ocornut
20160ff1d5
Fonts: fixed merging a font and specifying a font target in DstFont that's not the last added font (regression in 1.92). ( #8912 )
2025-09-03 19:36:02 +02:00
ocornut
3766d40394
Nav: fixed Ctrl+Tab window appearing as empty when the sole active and focused window has the ImGuiWindowFlags_NoNavFocus flag. ( #8914 )
2025-09-03 17:50:10 +02:00
ocornut
8dc457fda2
Internals: added indent, shallow tweaks + unused context pointer to InputTextCalcTextLenAndLineCount() to reduce noise in wip patch.
...
Visualize this commit with white-space changes disabled.
2025-09-02 15:39:22 +02:00
ocornut
0ef9610e70
InputText, stb_textedit: Revert special handling when pressing Down/PageDown on last line of a buffer without a trailing carriage return.
...
Revert fbf70070bb .
2025-09-02 15:39:14 +02:00
ocornut
5c92699f5f
stb_textedit: trim trailing blanks for simplicity.
...
In theory your editorconfig has this disabled for this file but MSVC plugin doesn't seem to handle this properly.
2025-08-28 18:43:41 +02:00
ocornut
771fae623d
ImRect: added AsVec4() helper. Using ImRect in InputTextEx().
2025-08-27 21:43:25 +02:00
ocornut
6351f00ff1
Clipper, Tables: removed row_increase >= 0 assert. ( #8886 )
...
Seeing cases in my own tests that are not obvious so it seems like too much of a burden for the user to assert/crash, as the row count is not always useful anyhow.
2025-08-27 20:31:05 +02:00
ocornut
55cbc66508
InputText: allow passing an empty string with buf_size==0. ( #8907 )
2025-08-27 20:21:31 +02:00
ocornut
9f969944d5
stb_textedit: fixed misleading cursor-1 in STB_TEXTEDIT_K_LINESTART handlers. ( #7925 )
...
`state->cursor - 1` in STB_TEXTEDIT_K_LINESTART handlers was technically misleadingly not UTF-8 compliant but things would naturally work anyhow.
2025-08-27 19:22:48 +02:00
ocornut
aa2f40c3bb
Clipper, Tables: added ImGuiListClipperFlags, ImGuiListClipperFlags_NoSetTableRowCounters. ( #8886 )
...
a0cdac48e0 revealed the issue but technically the core issue is that clipper assume 1 item = 1 table row.
2025-08-27 18:54:57 +02:00
ocornut
87c1ab7988
Windows: changed how g.CurrentItemFlags is modified before windows' CloseButton() submission to be less misleading. ( #8903 )
...
I don't think anyone would have `ImGuiItemFlags_NoFocus` set globally but technically it might.
2025-08-26 18:48:08 +02:00
ocornut
319c481abb
AddFontDefault(): shallow simplification.
2025-08-26 17:57:51 +02:00
ocornut
229d56e37a
Debug Tools: ID Stack Tool: when ### is used, uncontributing prefix before the ### is now skipped. ( #8904 , #4631 )
2025-08-26 16:30:13 +02:00
ocornut
7d230594de
Fixed ImHashSkipUncontributingPrefix() not looping in case of multiple ### elements.
2025-08-26 16:29:14 +02:00
ocornut
75a4a48d1f
Internals: extracted ImHashSkipUncontributingPrefix() out of CreateNewWindowSettings() and added note about it.
2025-08-26 16:23:06 +02:00
ocornut
9e864012ae
Debug Tools: ID Stack Tool: added option to hex-encode non-ASCII characters in output path. ( #8904 , #4631 )
2025-08-26 15:58:59 +02:00
ocornut
783f1e62cc
Debug Tools: ID Stack Tool: fixed using fixed-size buffers preventing long identifiers from being displayed in the tool. ( #8905 , #4631 )
2025-08-26 15:36:56 +02:00
ocornut
e728b96600
Fixed Bullet() fixed tesselation amount which looked out of place in very large sizes.
2025-08-20 20:22:31 +02:00
ocornut
fe03035112
Docs: advertise ProggyVector font as an alternative.
2025-08-20 20:02:49 +02:00
ocornut
515c0b526f
Backends: SDL_GPU: typo + changelog. ( #8892 )
2025-08-20 18:53:25 +02:00
ocornut
42656b3aa1
Scrollbar, Style: added style.ScrollbarPadding, ImGuiStyleVar_ScrollbarPadding. ( #8895 )
2025-08-20 18:27:35 +02:00
ocornut
89b7fc906a
DrawList: fixed CloneOutput() taking a copy of the ImDrawListSharedData pointer. Missing Changelog. ( #8894 , #1860 )
2025-08-20 17:57:06 +02:00
ocornut
0c4f50090a
DrawList: fixed CloneOutput() taking a copy of the ImDrawListSharedData pointer. ( #8894 , #1860 )
...
Amend b82e99c032
2025-08-20 17:49:18 +02:00
ocornut
720e94f3da
Rework FormatTextureIDForDebugDisplay() ImDrawCmd version as FormatTextureRefForDebugDisplay().
2025-08-19 15:32:38 +02:00
ocornut
321e9eb919
Fixes for printing out ImTextureID value when it is typedef to other types. ( #8889 )
2025-08-19 15:32:12 +02:00
ocornut
86ec5c8342
Version 1.92.3 WIP
2025-08-19 15:15:49 +02:00
ocornut
45acd5e0e8
Version 1.92.2b
2025-08-13 17:31:01 +02:00
ocornut
774ddb58bd
Fixed IsItemHovered() failing on disabled items and items that have no identifier. Made holding on disabled items not leak IsItemDisabled() between disabled items when window has _NoMove. ( #8877 , #8883 )
...
See amends to "widgets_status_common", "widgets_disabled_2" tests.
2025-08-13 17:08:04 +02:00
ocornut
4dee11a089
Make ImGuiInputSource int.
...
(primarily to avoid "result of comparison 'ImGuiInputSource' < 0 is always false" in GetInputSourceName().
2025-08-13 17:02:23 +02:00
ocornut
02f654cbce
Backends: Allegro5: fixed missing support for ImGuiKey_PrintScreen under Windows.
2025-08-12 20:02:08 +02:00
ocornut
e1baadba84
Backends: Allegro5: Fixed texture format setup. ( #8770 , #8465 )
...
Amend/fix ee8941e .
2025-08-12 15:02:58 +02:00
ocornut
2b24f5fa71
Version 1.92.2
2025-08-11 16:47:06 +02:00
ocornut
e10300ed3c
Docs: Special thanks.
2025-08-11 16:26:10 +02:00
ocornut
5a6fa33b88
Fixed an inconsistency between IsItemHovered() and internal hovering check, where IsItemHovered() would return true if mouse was first clicked on the background of a non-moveable window. ( #8877 )
2025-08-11 15:41:38 +02:00
ocornut
8239a0e0c4
Nav, Tables: fix NavIsScrollPushableX logic clamping value stored in NavApplyItemToResult(), which would break scrolling. ( #8816 , #2221 )
...
Amend 47c4148 .
2025-08-11 15:17:02 +02:00
ocornut
50115596dc
Demo: About Box: include IMGUI_ENABLE_TEST_ENGINE in Config/Build info.
2025-08-11 12:29:13 +02:00
ocornut
1c57dc21c2
Misc: fixes zealous MSVC static analyzer warnings + make GetInputSourceName(), GetMouseSourceName() a little more tolerant. ( #8876 )
2025-08-11 11:04:13 +02:00
ocornut
47c41483bd
Tables, Nav: fixed navigation within scrolling tables when item boundaries goes beyond columns limits. ( #8816 , #2221 )
...
Amend 00d3f9295e .
2025-08-11 10:49:20 +02:00
ocornut
b6614f6c7c
Backends: SDL_GPU3: removed ImGui_ImplSDLGPU3_Texture struct extraneous indirection now that we only need to store SDL_GPUTexture*. ( #8866 , #8163 , #7998 , #7988 , #8465 )
2025-08-08 15:51:17 +02:00
ocornut
9ee3d731b5
Backends: SDL_GPU3: changed ImTextureID type from SDL_GPUTextureSamplerBinding* to SDL_GPUTexture*. Added ImGui_ImplSDLGPU3_RenderState. ( #8866 , #8163 , #7998 , #7988 )
2025-08-08 15:51:16 +02:00
ocornut
412daf7362
Tabs: attempt to fix infinite loop in tab-bar ShrinkWidth() by using an epsilon. ( #5652 , #3421 , #8800 )
2025-08-07 16:41:21 +02:00
ocornut
c22af8c346
Fonts: fixes comment (amend d8da97f7).
2025-08-07 16:19:07 +02:00
ocornut
1bf41a0762
Fonts, Tables: fixed PushFont() having no effect when called after submitting a hidden column. ( #8865 )
...
Amend 0e769c5
2025-08-07 16:16:12 +02:00
ocornut
336d9212fc
Backends: using range-for to iterate draw_data->CmdLists[].
2025-07-11 17:41:52 +02:00
ocornut
79d88e2d0b
Error Handling, Tables: TableGetSortSpecs() silently return NULL when no table (matching most other table getters). TableSetBgColor() uses IM_ASSERT_USER_ERROR.
2025-07-11 16:57:43 +02:00
ocornut
a0d3e405a3
Textures: ImTextureData::Create() sets status. RegisterUserTexture() increases RefCount. Added comments about ImTextureData::GetTexRef(). ( #8789 )
2025-07-11 16:49:28 +02:00
ocornut
0e6e876f23
Docs: update docs/comments about ImTextureRef, ImTextureID. ( #8783 )
2025-07-10 19:07:28 +02:00
ocornut
c680f54e6c
FIxed IsWindowFocused() using wrong flag types (harmless as values were identical). ( #8786 )
2025-07-10 18:42:39 +02:00
ocornut
4d745bc602
Version 1.92.2 WIP
2025-07-10 18:41:05 +02:00
ocornut
5d4126876b
Version 1.92.1
2025-07-09 18:53:58 +02:00
ocornut
0ba02a4ed6
Debug Tools: added IMGUI_DEBUG_HIGHLIGHT_ALL_ID_CONFLICTS. ( #8651 , #7961 , #7669 )
2025-07-09 18:45:58 +02:00
ocornut
f39b138487
Internals: rename DebugDrawIdConflicts -> DebugDrawIdConflictsId.
2025-07-09 18:24:14 +02:00
ocornut
d9b758661f
Misc comments to facilitate update for people who nilly-willy copied entire chunks of internal widgets to create their own.
2025-07-09 16:30:53 +02:00
ocornut
c0d02e5ae4
Backends: Vulkan: forgot to update Changelog. ( #8772 )
2025-07-07 17:02:07 +02:00
ocornut
4ef1145241
Fonts: fixed dynamically changing font loader from losing Fallback and Ellipsis glyphs. ( #8763 )
...
Only the call to ImFontAtlasBuildSetupFontLoader() is the notable change. The change in ImFontAtlasFontInitOutput() is merely to use an existing helper function.
2025-07-07 16:54:08 +02:00
ocornut
57a93e1a19
Backends: Allegro5: fixed texture update broken on some platforms where ALLEGRO_LOCK_WRITEONLY needed all texels to be rewritten. ( #8770 )
2025-07-07 15:36:24 +02:00
ocornut
94c888ebda
Docs: update 1.92.0 changelogs to cover more internal fields. ( #8764 )
2025-07-07 15:27:47 +02:00
ocornut
495d6f1e39
Undef 'Status' in main header file. ( #8751 , #8765 )
2025-07-07 14:56:50 +02:00
ocornut
68971223aa
CI: Fix/amend be63037.
2025-07-07 10:42:45 +02:00
ocornut
4441aa8b60
CI: Fix/amend be63037.
2025-07-07 10:41:01 +02:00
ocornut
497ebec01d
CI: Fix/amend be63037.
2025-07-07 10:36:49 +02:00
ocornut
be63037654
CI: Updated to use latest Windows image + VS2022.
...
(Untested)
2025-07-07 10:34:59 +02:00
ocornut
fd75bdccb0
Fonts: for large size fonts, layout/size calculation only load glyphs metrics. Actual glyphs are renderer+packed when used by drawing functions. ( #8758 , #8465 )
...
(Breaking) breaks signature of ImFontLoader::FontBakedLoadGlyph, sorry.
2025-06-30 21:16:20 +02:00
ocornut
51b3495ad8
Fonts: set a maximum font size of 512.0f at ImGui:: API level to reduce edge cases.
2025-06-30 21:04:55 +02:00
ocornut
b7e5d76c79
Fonts: added ImFontAtlas::SetFontLoader() to dynamically change font loader at runtime without using internal API. ( #8752 , #8465 )
2025-06-30 20:01:02 +02:00
ocornut
bc051dcf91
Textures: Fixed support for #define ImTextureID_Invalid to non-zero value.
2025-06-27 17:03:13 +02:00
ocornut
0fe5166531
Demo: amend "Font Size" demo. ( #8738 )
2025-06-27 16:54:31 +02:00
ocornut
68046106dd
Docs: update Backends with basic Platform backend instructions.
2025-06-27 15:32:19 +02:00
ocornut
47570d045d
Docs: update Backends with direction for implementing RenderDrawData function and supporting ImGuiBackendFlags_RendererHasTextures. ( #8735 , #8465 )
2025-06-27 15:03:10 +02:00
ocornut
f18aea5246
Version 1.92.1 WIP
2025-06-27 13:30:45 +02:00
ocornut
85b2fe8486
Docs: update binaries.
2025-06-25 18:46:41 +02:00