Sharadh Rajaraman
08fbbd9624
backends: prepare for inclusion in a C++20 module purview
...
Each backend becomes its own module that imports 'imgui' and includes
its header and source in the purview. Do the same preparation as for
the core:
- Skip system, platform and graphics API includes under
IMGUI_CXX_MODULE, because the module includes them in its global
module fragment.
- Skip the forward declarations of platform types (GLFWwindow,
SDL_Window, ID3D11Device...). Declared in the purview, they would be
new types attached to the backend module instead of the real ones.
For the same reason, sdl2 drops the elaborated
'struct _SDL_GameController'.
- Wrap each header's API in IMGUI_EXPORT_BEGIN/END.
- win32: export ImGui_ImplWin32_WndProcHandler() under IMGUI_CXX_MODULE.
The header keeps it commented out to avoid pulling in <windows.h>,
but a module user can't forward-declare it themselves.
- glfw: skip the local GetIO(ImGuiContext*) declaration, because
'imgui' exports it.
2026-09-28 16:11:53 +00:00
ocornut
420f179341
Backends: fixed Clang -Wold-style-cast warnings.
...
Amend 8e17468
2026-09-18 22:31:58 +02:00
ocornut
b5135f270f
Backends: SDLRenderer3: added support for platform_io.DrawCallback_SetSamplerFromTex. ( #9378 )
2026-09-17 19:08:19 +02:00
ocornut
09b7ff9385
Backends: rework header comments about ImGui_ImplXXX_GetRenderState() functions.
...
Amend 8e17468
2026-09-17 19:08:18 +02:00
ocornut
8d3e37eb53
Backends: SDLRenderer3: restore modified texture scale modes at the end of RenderDrawData(). ( #9378 , #9543 )
2026-09-17 15:17:26 +02:00
ocornut
7cb5ded5d2
Backends: SDLRenderer2, SDLRenderer3: reduce includes. ( #9543 )
...
Amend a5b5f2d
2026-09-17 11:36:57 +02:00
Clownacy
a5b5f2d85a
Backends: SDLRenderer3: expose CurrentScaleMode in ImGui_ImplSDLRenderer3_RenderState. ( #9543 )
2026-09-17 11:36:46 +02:00
ocornut
9b7699f325
Backends: amend comments to state that bilinear filtering is required ahead of 1.93.
2026-07-31 22:07:01 +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
86ebb3bc11
Backends: removed samplers from ImGui_ImplDX10_RenderState, ImGui_ImplDX11_RenderState + fixed all Changelogs. ( #9378 )
2026-04-23 22:03:11 +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
ac06ad7b48
ImDrawList: made AddCallback() user data default to NULL + minor amends/comments.
2026-04-23 15:58:44 +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
358d3912c9
Backends: SDLRenderer2/3: fixed build, typo in 0500e54.
2026-03-19 12:34:11 +01:00
ocornut
0500e546b5
Backends: DX9, Metal, SDLRenderer2/3: fixed more assumptions that ImTextureID_Invald == 0 + Amend Changelogs. ( #9310 , #9293 )
2026-03-19 11:47:01 +01:00
ocornut
6dbda97fee
Backends: OpenGL2, OpenGL3, SDLRenderer3: replaced erroneous IM_ASSERT(tex->TexID == 0) calls. ( #9295 , #9293 )
...
Amend/fix 0db5919 which revealed this.
2026-03-12 19:29:39 +01:00
ocornut
fc4105c8a8
Backends: DX9,DX10,DX11,DX12,Metal,Vulkan,WGPU,SDLRenderer2,SDLRenderer3: ensure that a texture in _WantDestroy state always turn to _Destroyed. ( #8977 )
...
Amend 9809b0b. Strictly speaking this is not necessary anymore but it seems generally sane to promote this.
2025-10-01 17:49:22 +02:00
ocornut
d4f722d5b2
IO: added ImGuiPlatformIO::ClearPlatformHandlers(), ClearRendererHandlers(). Backends: call those on Shutdown(). ( #8945 , #2769 )
2025-09-18 16:58:50 +02:00
ocornut
336d9212fc
Backends: using range-for to iterate draw_data->CmdLists[].
2025-07-11 17:41: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
df068ce11e
Various/misc fixes following back-and-forth dynamic_fonts->master->docking merges. Added missing API BREAKING CHANGES section.
2025-06-11 18:50:16 +02:00
ocornut
e538883a20
Backends: SDL_Renderer3: added ImGuiBackendFlags_RendererHasTextures support.
2025-06-11 15:38:13 +02:00
fdsa
4f1d3809c3
Fixed tabs and spaces ( #8377 )
2025-02-06 19:54:43 +01:00
ocornut
8b0af7fddc
Backends: SDL: update comments regarding API stability, regarding SDL_GPU and SDL_Renderer.
2025-01-20 14:30:40 +01:00
Daniel K. O. (dkosmari)
aa23f3801b
Backends: SDL_Renderer2/3: Use endian-dependent RGBA32 texture format, to match SDL_Color. ( #8327 )
2025-01-18 17:26:36 +01:00
ocornut
43fbd7ce84
Backends: standardized top of file comments.
2024-12-05 12:43:04 +01:00
ocornut
566558b17c
Replacing NULL with nullptr in examples/backends when they creeped back. ( #6313 , #7071 , #4537 )
2024-12-05 12:25:02 +01:00
ocornut
a0b811dd37
Backends: SDLRenderer2/3: expose selected state in ImGui_ImplXXXX_RenderState structures during render loop. ( #6969 , #5834 , #7468 , #3590 + #7616 )
2024-10-09 16:39:36 +02:00
ocornut
9bd5d8a240
Backends: misc renaming of locals. Use 'draw_list' instead of 'cmd_list'. Avoid using 'ctx'.
...
This is likely to trigger merging issues. If it does, best to always get "theirs" and rename in there.
2024-10-07 17:57:11 +02:00
ocornut
0af2c4ef76
Backends: SDL3: Update for API changes: SDL_bool removal. SDL_INIT_TIMER removal. ( #7999 )
2024-09-19 16:02:23 +02:00
ocornut
4832027eb6
Examples: SDL3: Update for API changes: SDL_Init() returns 0 on failure.
2024-09-03 19:11:51 +02:00
ocornut
751bbf38ba
Backends: SDLRenderer3: Update for SDL_RenderGeometryRaw() API changes.
2024-07-01 12:07:59 +02:00
ocornut
5d973a87d4
Backends: SDL_Renderer2/SDL_Renderer3: and ImGui_ImplSDLRenderer2_RenderDrawData() and ImGui_ImplSDLRenderer3_RenderDrawData() now takes a SDL_Renderer* parameter.
2024-05-15 13:44:54 +02:00
ocornut
5e23680454
Backends: all backends + demo now call IMGUI_CHECKVERSION() to verify ABI compatibility between caller code and compiled version of dear imgui. ( #7568 )
2024-05-13 15:07:13 +02:00
ocornut
d15574ce2a
Backends: Win32: Removed silent return when calling ImGui_ImplWin32_WndProcHandler() with no active context! ( #6275 )
...
Better standardized similar checks in other backends.
2024-05-07 16:53:03 +02:00
ocornut
2af01baffd
Backends: SDLRenderer3: query newly added SDL_RenderViewportSet() to not restore a wrong viewport if none was initially set.
...
https://github.com/libsdl-org/SDL/issues/9029
2024-02-12 14:57:39 +01:00
ocornut
ab522dd18c
Removed IM_OFFSETOF() macro in favor of using offsetof() available in C++11. Kept redirection define. ( #4537 )
2023-11-09 16:44:39 +01:00
ocornut
357f752bed
Docs: add more links to the top of every examples and backends files.
2023-09-11 14:01:40 +02:00
ocornut
0e8eb8c48e
Removed _MSC_VER <= 1500 checks for Visual Studio 2008 or earlier.
...
Our codebase requires VS2012+ since a while.
2023-07-13 12:38:16 +02:00
ocornut
33e13c85e1
Backends: Made all backends sources files support global IMGUI_DISABLE. ( #6601 )
2023-07-13 11:27:52 +02:00
ocornut
b476184574
Backends: SDLRenderer3: Amend/finish SDL_Renderer3 patch + add example. ( #6286 )
2023-05-30 20:36:07 +02:00
Andrea Carcone
0b57c07c79
Backends: SDL3: Add SDL_Renderer for SDL3 implementation. ( #6286 )
...
This is mostly a duplicate of SDL2 version with a few changes:
SDL_GetRenderScale -> SDL_RenderGetScale
SDL_ScaleModeLinear -> SDL_SCALEMODE_LINEAR
2023-05-30 20:30:30 +02:00