Commit Graph
100 Commits
Author SHA1 Message Date
ocornut 0dc2885f3e InputText: fix for InsertChars() to work on read-only buffer. (#8714, #8689, #8242)
Ill defined feature but memory editor use InsertChars etc on a read-only buffer.
`if (init_state)` block of InputTextEx() intentionally does not resize TextA, as unneeded.
Amend b2c73596ae
Amend e900571
2025-06-22 13:04:51 +02:00
ocornut afe20dc9b6 Backends: warning fix. 2025-06-20 15:23:52 +02:00
ocornut e97e55adbc Backends: Fixed various warnings discovered when using MinGW GCC 15/Clang on latest backends.
dx12: 'ImGui_ImplDX12_Data* bd' shadowed local in spite of being in lambda.
2025-06-20 15:18:00 +02:00
ocornut 2f9c518ca8 Textures: ImTextureData::GetPixels() returns void* for clarity. 2025-06-20 15:17:13 +02:00
ocornut 9a50c09172 Bsckends: SDL2, GLFW: fixed ImGui_ImplXXXX_GetContentScaleXXX functions never using SDL 2.0.4 & GLFW 3.3 path in master.
Amend 9da3e6696a, 8269924c (was broken for master)
2025-06-20 14:38:33 +02:00
ocornut 3a964d18e0 Comments on ImGuiMod_XXXX and ImGuiKey_GamepadXXXX values. 2025-06-20 10:11:07 +02:00
ocornut 8d6e66d38c Backends: DX10, DX11, DX12, OpenGL3, Vulkan, WGPU: Assert when CreateDeviceObjects() calls return false. 2025-06-20 09:49:53 +02:00
ocornut f7dabede8b Backends: Allegro5: Fixed missing invisible mouse cursor, broken by ee8941e0d. 2025-06-20 09:49:53 +02:00
ocornut f633a60581 Backends: GLFW: Added support for multiple Dear ImGui contexts. (#8676, #8239, #8069) 2025-06-18 16:46:37 +02:00
ocornut d290e583c5 Backends: GLFW: fixed WndProc relying on current context. (#8676, #8239, #8069)
This makes the backend closer to support multi-context.
2025-06-18 16:39:57 +02:00
ocornut c56e8b4964 imgui_freetype: fixed NULL that creeped in instead of nullptr. 2025-06-18 15:31:00 +02:00
ocornut b2c73596ae InputText: fixed a buffer overrun that could happen when using dynamically resizing buffers. (#8689) 2025-06-17 20:11:22 +02:00
ocornut 12626b85c4 InputText: minor changes to match for both insert chars paths to look more similar. 2025-06-17 19:24:45 +02:00
ocornut 08bb348142 Misc: removed static linkage from operators to facilitate using in C++ modules. (#8682, #8358) 2025-06-17 17:09:26 +02:00
ocornut 041abe8522 Revert "Misc: removed static linkage from operators to facilitate using in C++ modules. (#8682, #8358) [@radjkarl]"
This reverts commit 39a90ac4d6.
2025-06-17 14:57:39 +02:00
ocornut 39a90ac4d6 Misc: removed static linkage from operators to facilitate using in C++ modules. (#8682, #8358) [@radjkarl] 2025-06-17 14:52:34 +02:00
ocornut f2e4e80391 Windows: BeginChild(): fixed being unable to combine manual resize on one axis and automatic resize on the other axis. (#8690)
+ removed obsolete TODO entries.
2025-06-17 14:01:01 +02:00
ocornut fe048efeab DrawList, Fonts: fixed PushFont()/AddImage() not restoring correct atlas texture id when using multiple atlas (#8694)
This also needs 24f7328.
2025-06-17 12:06:14 +02:00
ocornut 24f7328e5f DrawList, Fonts: fixed ImFontAtlasTextureRepack() overwriting draw list shared data UV's etc. even when not bound. (#8694, #8465)
ImFontAtlasUpdateDrawListsSharedData() call from ImFontAtlasTextureRepack() would trigger this.
For simplicity we also track current atlas in ImDrawListSharedData, but we could probably use Font->ContainerAtlas.
2025-06-17 12:06:05 +02:00
ocornutandocornut 39f6c793b3 Fonts: proof of concept support for user textures.
# Conflicts:
#	imgui.h
#	imgui_internal.h
2025-06-11 15:59:19 +02:00
ocornutandocornut fad5280d4c Fonts: fixed broken support for legacy backend due to a mismatch with initial pre-build baked id. 2025-06-11 15:57:44 +02:00
ocornutandocornut 4dec946ae6 Fonts: don't pretend to half recover from OOM for now + debug log filename on load failure. 2025-06-11 15:57:35 +02:00
ocornutandocornut 8140a9d8a6 Fonts: comments on ImTextureData fields. 2025-06-11 15:57:35 +02:00
ocornutandocornut 42e7bb80b6 imgui_freetype: removed anonymous namespace + extracting two functions outside of ImGui_ImplFreeType_FontSrcData. 2025-06-11 15:57:28 +02:00
ocornutandocornut 6a455e1281 imgui_freetype: moving data out of ImGui_ImplFreeType_FontSrcData.
The reasoning behind that we would ideally transition ImGui_ImplFreeType_FontSrcData to be shared between fonts using same source.
2025-06-11 15:57:28 +02:00
ocornutandocornut fc87081133 Fonts: fixed GetCustomRectUV().
Fixing typo. Broken by fe598f7
2025-06-11 15:55:38 +02:00
ocornutandocornut e41bf16ff1 Fonts: fixed ImTextureID() being zero-cleared instead of using ImTextureUserID_Invalid. . 2025-06-11 15:53:42 +02:00
ocornutandocornut 7ac1bff482 Fonts: fixed an issue calling legacy ImFontAtlas::Clear(). 2025-06-11 15:52:12 +02:00
ocornutandocornut 144f444217 Fonts: fixed memory leaks, shutting down font loader, and on AddFont() failure in FreeType backend. 2025-06-11 15:52:12 +02:00
ocornutandocornut 8ea0ae454f Fonts: fixed a bug using size specified by secondary font sources. 2025-06-11 15:52:12 +02:00
ocornutandocornut e98a314e06 Textures: Added ImTextureData::UsedRect.
# Conflicts:
#	imgui_internal.h
2025-06-11 15:51:19 +02:00
ocornutandocornut 2bf6879dae Fonts: tidying up font scale logic.
# Conflicts:
#	imgui_internal.h
2025-06-11 15:51:18 +02:00
ocornutandocornut 066b24d741 Fonts: Fixed _OnChangedTextureID() asserting when calling on e.g. finalized drawlists. 2025-06-11 15:47:34 +02:00
ocornutandocornut a2bc3d81c2 Fonts: Fixed support for multiple contexts. 2025-06-11 15:43:07 +02:00
ocornutandocornut 43cc3fc8b1 Fonts: optimization bake FallbackAdvanceX into IndexAdvanceX[]. 2025-06-11 15:42:54 +02:00
ocornutandocornut 4f27792ffe (Breaking) Removed atlas->TexDesiredWidth now unnecessary (github 327) 2025-06-11 15:42:54 +02:00
ocornutandocornut b670f799d5 Fonts: use TexGlyphPadding. Fixed packing issues. Removed old code. 2025-06-11 15:41:21 +02:00
ocornutandocornut 0f553c57bd Fonts: AddFont() actually does the work, so we can handle errors & return an accurate return value. 2025-06-11 15:41:21 +02:00
ocornutandocornut 208705368e Textures: Adding a RefCount to textures so backend can avoid destroying them on shutdown if atlas is shared. 2025-06-11 15:05:51 +02:00
ocornutandocornut 0f0473bf1c Fonts, Textures: main code for ImGuiBackendFlags_RendererHasTextures feature.
# Conflicts:
#	imgui.h
#	imgui_demo.cpp
2025-06-11 15:03:46 +02:00
ocornut b5a73033ab Examples: Apple: Amend build scripts and gitignore, fix misc OSX warnings. (#8637)
# Conflicts:
#	backends/imgui_impl_metal.mm
2025-05-14 18:23:31 +02:00
ocornut 08689c51a9 Backends: GLFW, SDL2, SDL3: include GLFW/SDL version number in io.BackendPlatformName.
# Conflicts:
#	backends/imgui_impl_sdl2.cpp
#	backends/imgui_impl_sdl3.cpp
2025-05-13 15:50:51 +02:00
ocornut 4a6ba95392 Backends: SDL3: Comments (#6146) 2025-05-12 19:19:30 +02:00
ocornut 46235e91f6 Examples: SDL3: specify SDL_WINDOW_HIGH_PIXEL_DENSITY and make centering consistent + call SDL_RenderScale(). 2025-05-05 20:04:32 +02:00
ocornut afd3a36f69 Demo: added basic Fonts section under main demo (same as Metrics one) for visibility. 2025-05-05 19:39:56 +02:00
ocornut c5e2bb7cd1 Backends: SDLGPU3: Fixed creating atlas texture earlier than other backends.
# Conflicts:
#	backends/imgui_impl_sdlgpu3.cpp
2025-05-05 19:20:12 +02:00
ocornut e3bfaab3f7 Examples: update xcode projects. 2025-05-05 18:38:55 +02:00
ocornut 75ddd9a6cd Backends: SDLGPU3: added support for ImDrawCallback_ResetRenderState. (#8599) 2025-04-28 23:10:43 +02:00
ocornut cbb8edb0b7 Tables: fixed an assert when combining Tables, Frozen Rows, Clipper and BeginMultiSelect() in a certain order. (#8595, #8250)
The table->CurrentColumn != -1 test in BeginMultiSelect() was affected. It would have been possible to amend the test with table->IsInsideRow but this seems generally saner.

Docs: fixed typo. (#8592)
2025-04-26 15:44:51 +02:00
ocornut af987eb117 Backends: DX12: build fix for Clang. (#8582) 2025-04-20 11:24:30 +02:00
ocornut 69d572bb10 Fonts: reworked text ellipsis logic to ensure a "..." is always displayed instead of a single character. (#7024)
Requires 97d85338e8 and e4a865177e
2025-04-16 20:30:29 +02:00
ocornut 97d85338e8 Tabs: adjust handling of ellipsis now that Close Button visibility changed. (#8387) Internals: remove extra parameter to RenderTextEllipsis().
This requires RenderTextEllipsis() to use fine CPU-side clippoing.
Users of RenderTextEllipsis(): #7024, #6236, #5267, #5745, #4269, #2775
2025-04-16 20:29:43 +02:00
ocornut e4a865177e ImFont: added cpu clip fine option for ImFont::RenderChar() (which is technically internal).
(toward #7024)
2025-04-16 20:21:23 +02:00
ocornut faea193800 Internals: minor refactor of TabItemLabelAndCloseButton(), should be no-op.
(minor thing toward #7024)
2025-04-16 20:07:39 +02:00
ocornut 7ab4728a36 Error Handling: added better error report and recovery when calling EndFrame() or Render() without NewFrame(). 2025-04-16 18:12:53 +02:00
ocornut b23a216ecd Examples: added SDL2+Vulkan, SDL3+Vulkan, GLFW+Vulkan makefiles. Amend ignore list. (#2480) 2025-04-16 15:04:14 +02:00
ocornut 39f34e1e58 TreeNode: Don't latch GetColorU32(ImGuiCol_TreeLines). (#2920)
Trade off doesn't seem worth it for large trees. User who really needs to alter colors can do it by adjusting Push/Pop locations.
2025-04-08 19:58:59 +02:00
ocornut e5b218e6d1 TreeNode: added ImGuiTreeNodeFlags_DrawTreeXXX flags. (#2920)
# Conflicts:
#	docs/CHANGELOG.txt
2025-04-08 19:58:59 +02:00
ocornut b4bd596a39 Fonts: word-wrapping code handle ideographic comma & full stop (U+3001, U+3002). (#8540) 2025-04-01 22:57:07 +02:00
ocornut fcab22f80f Fonts: fixed CalcWordWrapPositionA() fallback when width is too small to wrap with multibyte codepoints.. (#8540) 2025-04-01 22:57:07 +02:00
ocornut dbd9ae287a Windows: fixed SetNextWindowCollapsed()/SetWindowCollapsed() breaking codepath that preserve last contents size when collapsed. (#7691) 2025-03-23 12:57:14 +01:00
ocornut 5679de60c5 Error Handling: added better report and recovery for extraneous EndPopup() call. (#1651, #8499) 2025-03-18 17:35:43 +01:00
ocornut 97428e8ac9 Version 1.91.9 2025-03-14 17:13:11 +01:00
ocornut ea2a12112d Misc: Various zealous warning fixes for newer version of Clang. 2025-03-14 17:13:11 +01:00
ocornut 09654f4e8c Revert "Examples: Updated all .vcxproj from VS2015 to VS2019 (toolset v140 to v142), Windows SDK 8.1 to 10."
This reverts commit 6da230636b.
2025-03-11 18:42:12 +01:00
ocornut 557c77e455 Added ImGuiKey_AbntC1, ImGuiKey_AbntC2 + Backends: GLFW, Win32: added support. (#8468) 2025-03-11 18:38:45 +01:00
ocornut 6da230636b Examples: Updated all .vcxproj from VS2015 to VS2019 (toolset v140 to v142), Windows SDK 8.1 to 10. 2025-03-11 12:25:19 +01:00
ocornut 51e4cba909 Backends: Fixed zealous warnings. 2025-03-11 12:05:23 +01:00
ocornut 1ec99f4fd3 Internals: added ImStrlen/ImMemchr #define to facilitate experimenting with variations. (#8421) 2025-03-07 11:09:07 +01:00
ocornut 4819eae867 Clipper: Fixed an issue where passing an out of bound index to IncludeItemByIndex() could incorrectly offset the final cursor.
One case where it would manifest was calling Combo() with an out of range index. (#8450)
2025-03-02 14:15:11 +01:00
ocornut c5ade6591e TextLink(), TextLinkOpenURL(): fixed honoring text baseline alignment. (#8451, #7660) 2025-03-02 13:40:51 +01:00
ocornut aa83d5d455 Backends: SDL2, SDL3: Only start SDL_CaptureMouse() when mouse is being dragged. (#6410, #3650)
To mitigate issues with e.g. Linux debuggers not claiming capture back.
2025-02-26 15:34:31 +01:00
ocornut 9996a2d51b Backends: WebGPU: update code for latest webgpu-native changes. Fix for Emscripten. (#8426) 2025-02-26 15:16:38 +01:00
ocornut 6aa0810de5 Backends: WebGPU: update code for latest webgpu-native changes. Amend. (#8426) 2025-02-26 15:10:28 +01:00
ocornut 242d856ede Examples: SDL3+SDL_Renderer: removed reference to OpenGL to remove confusion. (#8434)
Amend
2025-02-26 14:40:41 +01:00
ocornut 6e29450f76 Internals: added IsItemActiveAsInputText() helper. 2025-02-25 16:02:10 +01:00
ocornut edc66d79c7 Nav: extract code into a NavUpdateWindowingApplyFocus() so it may be reused elsewhere. 2025-02-21 23:11:11 +01:00
ocornutandocornut 434b7710f3 Internals: packing ImGuiDataVarInfo + misc renaming + value of ImGuiDataType_Pointer doesn't need to be Count+1 2025-02-21 19:26:24 +01:00
ocornut 1e18a6cf60 Examples: GLFW+Vulkan: make GLFW_DIR overridable in cmake bit. (#8419) 2025-02-21 16:55:35 +01:00
ocornut 05742f9b6f Tables: share code between TableSetupColumn() and TableLoadSettings(). (#7934) 2025-02-19 10:55:44 +01:00
ocornut 8b7b3ce03e Tables: fixed an issue where Columns Width state wouldn't be correctly restored when hot-reloading .ini state. (#7934)
Amend 7cd31c355
column->SortDirection initialized setting was wrong in first block but without side-effect, since sorting always stored explicitly in .ini data.
2025-02-19 10:50:57 +01:00
ocornut ec4cd2cb8c Backends: Vulkan: Fixed crash with using no prototypes + *BREAKING* Added ApiVersion to ImGui_ImplVulkan_LoadFunctions(). (#8326, #8365, #8400) 2025-02-14 12:19:39 +01:00
ocornut 2d20e13746 Backends: GLFW: Added comment about io.AddMouseSourceEvent() not being properly called. (#8374) 2025-02-04 20:19:57 +01:00
ocornut 96e3b147f0 Fixed build with IMGUI_ENABLE_FREETYPE (#8346) 2025-01-25 01:14:46 +01:00
ocornut 1d962820d8 Error Handling: Turned common EndTable() and other TableXXX functions fail cases into recoverable errors. (#1651, #8314) 2025-01-12 15:20:27 +01:00
ocornut 3115ae0815 Demo: Font selector combo sets default focus. 2025-01-07 14:53:00 +01:00
ocornut 6982ce43f5 InputText: fixed badly broken clipboard copy/bug (#8254, #8242)
Broken by 32f1140
2024-12-22 17:53:09 +01:00
ocornut f5f11e94be InputText: Fixed a bug where character replacements performed from a callback were not applied when pasting from clipbard. (#8229) 2024-12-15 15:46:33 +01:00
ocornut c3ffd4c53e Misc: Added IMGUI_USE_LEGACY_CRC32_ADLER to use old tables. (#8169, #4933) 2024-12-11 12:13:28 +01:00
ocornut d78e823449 InputText: added ImGuiInputTextFlags_ElideLeft. (#1442, #1440, #4391, #7208, #8216) 2024-12-09 15:00:04 +01:00
ocornut d2645423de InputText: reactivating last activated InputText() doesn't restore horizontal scrolling.
Honestly not sure if the opposite is preferable or not (added commented out in the inactivate render path to test that).
Current behavior added along with recycling: f9928e96c7
2024-12-09 14:31:15 +01:00
ocornut f3147f446a Backends: OpenGL3: call glGetString(GL_VERSION) even in GS ES 2.0 path. (#8197)
Apparently as per specs works. I reckon the best way to confirm it is to try.
2024-12-09 12:58:32 +01:00
ocornut 921c22f5ad Examples: GLFW+OpenGL3, SDL3+OpenGL3: Provide ES3 context creation code + failure handling. (#8197)
Untested for GLFW example.
2024-12-09 12:56:38 +01:00
ocornut fce07bb1cb Don't enable SSE4 under Emscripten - Fix. (#8213, #8169, #4933) 2024-12-09 12:43:49 +01:00
ocornut 3f3c62a3c9 ScrollbarEx: clarify use of flags and make them optional. (#8215) 2024-12-09 11:43:00 +01:00
ocornut ee2119d7cb imgui_freetype: Fix build broken by 19a1f2a (#8107) 2024-11-29 19:10:39 +01:00
ocornut 19a1f2a5d2 Fonts: fixed AddCustomRect() not being packed with TexGlyphPadding + not accounted in surface area. (#8107) 2024-11-29 18:58:01 +01:00
ocornutandocornut 90dd510df1 Backends: DX11: create sampler outside of ImGui_ImplDX11_CreateFontsTexture(). 2024-11-27 14:57:33 +01:00
ocornut e97b97467e Error Handling: fixed cases where recoverable error handling would crash. (#1651) 2024-11-12 19:09:00 +01:00
ocornut ec2f1d69c8 Docs: word-wrap some the older changelogs. 2024-11-05 13:18:16 +01:00