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
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
ocornut
4cf85ee543
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_osx.mm
# backends/imgui_impl_wgpu.cpp
# backends/imgui_impl_wgpu.h
2025-06-13 17:43:30 +02:00
ocornut
cfa43e721a
Windows: clicking on a window close button doesn't claim focus and bring to front. ( #8683 )
...
Added ImGuiItemFlags_NoFocus, ImGuiButtonFlags_NoFocus. Neither are well specified so marking as experimental.
2025-06-13 17:40:17 +02:00
ocornut
41f4acfb4f
Fonts: add has_textures parameters to ImFontAtlasUpdateNewFrame().
2025-06-12 11:44:11 +02:00
ocornut
e4055e763f
Fonts: Misc merge fixes.
2025-06-11 18:12:42 +02:00
ocornut
6af6cec23f
Merge branch 'master_fonts' into docking
...
# Conflicts:
# backends/imgui_impl_dx10.cpp
# backends/imgui_impl_dx10.h
# backends/imgui_impl_dx11.cpp
# backends/imgui_impl_dx12.cpp
# backends/imgui_impl_dx9.cpp
# backends/imgui_impl_glfw.cpp
# backends/imgui_impl_metal.h
# backends/imgui_impl_metal.mm
# backends/imgui_impl_opengl2.cpp
# backends/imgui_impl_opengl2.h
# backends/imgui_impl_opengl3.cpp
# backends/imgui_impl_opengl3.h
# backends/imgui_impl_sdl2.cpp
# backends/imgui_impl_sdl3.cpp
# backends/imgui_impl_sdlgpu3.cpp
# backends/imgui_impl_sdlgpu3.h
# backends/imgui_impl_vulkan.cpp
# examples/example_glfw_opengl3/main.cpp
# examples/example_sdl2_directx11/main.cpp
# examples/example_sdl2_opengl2/main.cpp
# examples/example_sdl2_opengl3/main.cpp
# examples/example_sdl2_vulkan/main.cpp
# examples/example_sdl3_opengl3/main.cpp
# examples/example_sdl3_sdlgpu3/main.cpp
# examples/example_sdl3_vulkan/main.cpp
# examples/example_win32_directx10/main.cpp
# examples/example_win32_directx11/main.cpp
# examples/example_win32_directx12/main.cpp
# examples/example_win32_directx9/main.cpp
# imgui.cpp
# imgui.h
# imgui_demo.cpp
# imgui_internal.h
2025-06-11 18:07:19 +02:00
ocornut
2e67bd4de7
Fonts: rename to ImFontAtlasBuildLegacyPreloadAllGlyphRanges().
2025-06-11 16:25:06 +02:00
ocornut
2d2b1cee6b
Fonts: internals: renamed g.FontSizeBeforeScaling to g.FontSizeBase for consistency.
...
# Conflicts:
# imgui_internal.h
2025-06-11 16:10:45 +02:00
ocornut
3c27c643a9
Fonts: internals: renamed g.FontScale to g.FontBakedScale for clarity. Comments.
2025-06-11 16:10:18 +02:00
ocornut
8766efcba6
(Breaking) Renamed io.FontGlobalScale to style.FontScaleMain.
...
# Conflicts:
# imgui.cpp
2025-06-11 16:07:21 +02:00
ocornut
1e118ab891
Fonts: added ImGuiStyle::FontSizeBase. Ensuring PushFontSize() works before main loop and across NewFrame().
...
# Conflicts:
# imgui.cpp
2025-06-11 16:06:21 +02:00
ocornut
e3860aa6ac
(Breaking) Fonts: removing obsolete ImFont::Scale.
2025-06-11 16:05:54 +02:00
ocornut
25f9c318e3
Fonts: added "Input Glyphs Overlap Detection Tool". Added "Clear bakes", "Clear unused" buttons. Move code.
2025-06-11 16:05:54 +02:00
ocornut
5926c877a1
Fonts: detect if ImFontAtlasUpdateNewFrame() is not being called.
2025-06-11 16:05:54 +02:00
ocornut
83aad81279
Fonts: comments + made IMGUI_DEBUG_LOG_FONT() work without an ImGui context.
2025-06-11 16:02:10 +02:00
ocornut
f3780c7354
Fonts: adding GetFontBaked() in public API.
2025-06-11 16:02:10 +02:00
ocornut
92ff153763
Fonts: added notes/comments and dummy type about renaming ImFontBuilderIO::GetBuilderForFreeType() to ImFontLoader::GetFontLoader().
2025-06-11 16:02:10 +02:00
ocornut
3d848a886a
Fonts: fixed support for IMGUI_STB_NAMESPACE.
2025-06-11 16:02:10 +02:00
ocornut
1b51a88bba
Fonts: moved compare operators to internal. Removed commented out ones aimed legacy backends: not needed anymore since we didn't rename ImTextureID.
2025-06-11 15:59:20 +02:00
ocornut
39f6c793b3
Fonts: proof of concept support for user textures.
...
# Conflicts:
# imgui.h
# imgui_internal.h
2025-06-11 15:59:19 +02:00
ocornut
91ed6e67b4
Fonts: fixed support for multiple atlases.
...
Moved FontAtlasOwnedByContext to OwnerContext
# Conflicts:
# imgui.cpp
# imgui_internal.h
2025-06-11 15:58:29 +02:00
ocornut
65e6039979
Fonts: remove unnecessary ImDrawListSharedData::FontAtlas which is actually getting in the way of using multiple atlases.
2025-06-11 15:57:44 +02:00
ocornut
46fa9e8efb
Fonts: Debug display status. Fixed truncated raw texture id. Fixed FormatTextureIDForDebugDisplay(). Comments.
2025-06-11 15:57:35 +02:00
ocornut
f6735c223c
Fonts: remove ImFontHooks in favor of a AddRemapChar() implementation.
2025-06-11 15:57:35 +02:00
ocornut
89e880dfd1
Fonts: adding ImFontHooks for codepoint remapping.
2025-06-11 15:57:35 +02:00
ocornut
8523cbdf58
Fonts: rework ImFontLoader::FontBakedLoadGlyph() interface
2025-06-11 15:57:35 +02:00
ocornut
b32ef3c05d
Fonts: make RasterizerDensity a dynamic field. (temporarily exposed as SetFontRasterizerDensity()).
...
# Conflicts:
# imgui.cpp
# imgui.h
2025-06-11 15:57:35 +02:00
ocornut
5310f5fba3
Fonts: rework toward reducing reliance on ImFontConfig::DstFont since we ought to separate them.
2025-06-11 15:57:23 +02:00
ocornut
890fff92fd
Fonts: rename many internal functions for consistency. No other changes.
2025-06-11 15:57:23 +02:00
ocornut
c4fa9bb61f
Fonts: add ImFontGlyph::SourceIdx. Extract code out of DebugNodeFont() into DebugNodeFontGlyphesForSrcMask().
...
(src_mask unused in this commit)
2025-06-11 15:57:23 +02:00
ocornut
bcd1a94b89
Fonts: Extract ImFontAtlasBuildGetFontBaked() out of ImFont::GetFontBaked() mostly for consistency with upcoming changes + tweak locals in AddFont().
2025-06-11 15:57:23 +02:00
ocornut
7840e453b5
Fonts: ImFontAtlasBuildInit() is always called with atlas->Builder == NULL.
2025-06-11 15:57:23 +02:00
ocornut
c43b138a69
Fonts: no need to load current baked on SkipItems window? + removed unused field.
...
Avoid baked staying active after GC. Might cause issues.
# Conflicts:
# imgui.cpp
2025-06-11 15:56:59 +02:00
ocornut
ed2bb2cff0
Fonts: encode additional data in ImFontAtlasRectId to detect invalid id + added Rects debug browser.
2025-06-11 15:56:39 +02:00
ocornut
0436fba13c
Fonts: fixed compaction gc-ing baked fonts used in the current frame + rename.
2025-06-11 15:56:39 +02:00
ocornut
fb5c537080
Fonts: changing loader/backend or loader flags may be done without losing custom rects. Sharing more code.
2025-06-11 15:56:38 +02:00
ocornut
526a5d0f8a
Fonts: tidying up.
2025-06-11 15:56:24 +02:00
ocornut
23dc46c4f8
Fonts: added RemoveCustomRect().
...
+ internally add ImFontAtlasPackReuseRectEntry()
2025-06-11 15:56:24 +02:00
ocornut
e9cf3de58f
Fonts: moved ImFontAtlasRectId back to public API.
2025-06-11 15:56:24 +02:00
ocornut
69d28f867c
Fonts: added ImFontAtlasRectId_Invalid == -1
2025-06-11 15:56:24 +02:00
ocornut
253dff7656
Fonts: Comments.
2025-06-11 15:55:38 +02:00
ocornut
168b97c291
Fonts: removed size rounding in AddFont() which breaks relative sizing of merged fonts (8502)
...
# Conflicts:
# imgui.cpp
2025-06-11 15:54:52 +02:00
ocornut
cc65015e4e
Fonts: fixed crashing password fields.
...
# Conflicts:
# imgui_internal.h
2025-06-11 15:53:41 +02:00
ocornut
4048494aa1
Fonts: rename ImFontAtlasBuildClearTexture() to ImFontAtlasBuildClear().
2025-06-11 15:52:21 +02:00
ocornut
f816b861fc
(Breaking) Fonts: rename GetCustomRectByIndex() to GetCustomRect(). Made return struct const.
2025-06-11 15:52:12 +02:00
ocornut
85d0507580
Fonts: narrowed invalid value for ImFontAtlasRectId to -1 a we will change implementation.
2025-06-11 15:52:12 +02:00
ocornut
b12c42e75d
Fonts: change uses of ImFontAtlasRect to ImTextureRect for simplicity.
2025-06-11 15:52:12 +02:00
ocornut
41a0e991f0
Fonts: Added UI to edit FreeType loader flags. Added ImFontAtlasBuildReloadAll() / ImFontAtlasBuildReloadFont()
2025-06-11 15:51:56 +02:00