Commit Graph

755 Commits

Author SHA1 Message Date
ocornut 14614f561b Textures: Ensure UpdateBox is set on texture _WantCreate state too. 2025-06-11 15:45:01 +02:00
ocornut b06f3c6d1d Fonts: turn public facing BuildRegisterGlyph() into ImFontAtlasBuildAddFontGlyph() thats sets up UV. 2025-06-11 15:44:38 +02:00
ocornut 4ff1631b31 Fonts: Rasterizing ellipsis character from dot as one glyph + avoid preloading if it not needed.
# Conflicts:
#	imgui.cpp
2025-06-11 15:44:37 +02:00
ocornut a2bc3d81c2 Fonts: Fixed support for multiple contexts. 2025-06-11 15:43:07 +02:00
ocornut cec3e945f0 Fonts: added ImFontAtlas::RemoveFont(), fixed various leaks. 2025-06-11 15:43:07 +02:00
ocornut df8450d928 Fonts: marked ImFontAtlas::Build() as obsolete 2025-06-11 15:43:07 +02:00
ocornut 4399599de9 Fonts: ClearCache(), ImFontAtlasBuildGetTextureSizeEstimate(), tweak clearing functions. 2025-06-11 15:43:06 +02:00
ocornut a51a26e2aa Fonts: use a structure for post-processing - easier to pass things around and iterate on. 2025-06-11 15:43:06 +02:00
ocornut 553b1c301d Fonts: repack without full reload, discard rectangle, fixed CustomRect api with stable id, remove public BuildInit(). 2025-06-11 15:43:01 +02:00
ocornut a6c7801926 Fonts: Measured and tweaked CalcTextSize() computation to minimize cost in our stress tests. 2025-06-11 15:42:55 +02:00
ocornut 076a1ab85c Fonts: Misc amends, remove _PackNodesFactor, comments. 2025-06-11 15:42:54 +02:00
ocornut ac13683c26 Fonts: ImFontAtlas accept DrawListSharedData not being set. 2025-06-11 15:42:54 +02:00
ocornut 43cc3fc8b1 Fonts: optimization bake FallbackAdvanceX into IndexAdvanceX[]. 2025-06-11 15:42:54 +02:00
ocornut 4f27792ffe (Breaking) Removed atlas->TexDesiredWidth now unnecessary (github 327) 2025-06-11 15:42:54 +02:00
ocornut b670f799d5 Fonts: use TexGlyphPadding. Fixed packing issues. Removed old code. 2025-06-11 15:41:21 +02:00
ocornut 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
ocornut c20e160e0f Textures: added texture list pointer in ImDrawData.
# Conflicts:
#	imgui.h
2025-06-11 15:12:02 +02:00
ocornut ee357aaddf Textures: Add ImTextureUserID_Invalid + introducing SetTexID().
Which gives us room for potentially updating ImDrawData during render.
2025-06-11 15:04:02 +02:00
ocornut 2cde9125d6 Fonts: Selecting font config source list done by shared code. 2025-06-11 15:04:02 +02:00
ocornut 0f0473bf1c Fonts, Textures: main code for ImGuiBackendFlags_RendererHasTextures feature.
# Conflicts:
#	imgui.h
#	imgui_demo.cpp
2025-06-11 15:03:46 +02:00
ocornut 191a728ecc (Breaking) added ImTextureRef struct. Changed ImDrawCmd::TextureId to TexRef.
Softly breaking. May require support from language binding generator.
Rebased and reworked completely on 2025/03/19.
2025-06-11 15:02:36 +02:00
ocornut 407a0b972e (Breaking) Fonts: CalcWordWrapPositionA() -> CalcWordWrapPosition(), takes size instead of scale.
This will be needed for upcoming changes.
2025-05-23 16:08:00 +02:00
ocornut f484af34c2 Font: rename ImFont::AddRemapChar() parameters for clarity. (#609) 2025-05-08 18:05:05 +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 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)
build / Windows (push) Has been cancelled
build / Linux (push) Has been cancelled
build / MacOS (push) Has been cancelled
build / iOS (push) Has been cancelled
build / Emscripten (push) Has been cancelled
build / Android (push) Has been cancelled
scheduled / scheduled (push) Has been cancelled
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
tanksdude f5003aff69 Docs: Fix some typos (#8505) 2025-03-21 16:23:09 +01:00
ocornut d467950a5e Style, InputText: added ImGuiCol_InputTextCursor to configure color of the InputText cursor/caret. (#7031)
build / Windows (push) Has been cancelled
build / Linux (push) Has been cancelled
build / MacOS (push) Has been cancelled
build / iOS (push) Has been cancelled
build / Emscripten (push) Has been cancelled
build / Android (push) Has been cancelled
scheduled / scheduled (push) Has been cancelled
2025-03-19 17:50:40 +01:00
ocornut 0ecb2bbe74 Version 1.92.0 WIP 2025-03-19 17:45:20 +01:00
ocornut 93b446a962 Backtrack of version tagging 1.92.0 > 1.91.9b for publishing a hotfix (#8496) 2025-03-17 19:39:52 +01:00
ocornut bfaef8ca17 Version 1.92.0 WIP 2025-03-17 19:09:07 +01:00
ocornut 97428e8ac9 Version 1.91.9
build / Windows (push) Has been cancelled
build / Linux (push) Has been cancelled
build / MacOS (push) Has been cancelled
build / iOS (push) Has been cancelled
build / Emscripten (push) Has been cancelled
build / Android (push) Has been cancelled
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 1ec99f4fd3 Internals: added ImStrlen/ImMemchr #define to facilitate experimenting with variations. (#8421)
build / Windows (push) Has been cancelled
build / Linux (push) Has been cancelled
build / MacOS (push) Has been cancelled
build / iOS (push) Has been cancelled
build / Emscripten (push) Has been cancelled
build / Android (push) Has been cancelled
2025-03-07 11:09:07 +01:00
ocornut 4c0604ec2e Font: shallow refactor, rename ConfigData[] fields to Sources[], ConfigDataCount to SourcesCount.
build / Windows (push) Waiting to run
build / Linux (push) Waiting to run
build / MacOS (push) Waiting to run
build / iOS (push) Waiting to run
build / Emscripten (push) Waiting to run
build / Android (push) Waiting to run
In theory this is all internal stuff.
2025-02-25 17:41:29 +01:00
ocornut 6dc376f676 ImFontAtlas: added software/drawlist version of ImGuiMouseCursor_Wait/ImGuiMouseCursor_Progress + moved GetMouseCursorTexData() to internals.
build / Windows (push) Waiting to run
build / Linux (push) Waiting to run
build / MacOS (push) Waiting to run
build / iOS (push) Waiting to run
build / Emscripten (push) Waiting to run
build / Android (push) Waiting to run
2025-02-20 12:17:21 +01:00
ocornut 85c488ee12 Hot-fix for broken MouseDrawCursor support for ImGuiMouseCursor_Wait/ImGuiMouseCursor_Progress/ImGuiMouseCursor_NotAllowed.
Amend 8a35386, eec097f.
2025-02-20 11:46:56 +01:00
ocornut 78ec1272e9 ImDrawList: added InitialFringeScale in ImDrawListSharedData. Default to 1.0f.
This is to allow some DPI mods with less changes. Only the initial value in SetupDrawListSharedData() will need change.
2025-02-17 11:28:35 +01:00
ocornut 474305c476 ImFont: simpler constructor. 2025-02-14 16:15:09 +01:00
ocornut 914fbcf2e5 Fonts: removed unnecessary const qualifier from ImFont::FindGlyph()
Amend 0bde57c
2025-02-07 16:26:20 +01:00
ocornut cfed18afc7 Add ImFontConfig::GlyphExtraAdvanceX as a replacement for GlyphExtraSpacing.x (#242)
Partly restore 1a31e31.
2025-02-06 12:34:37 +01:00
ocornut 1a31e31ae9 (Breaking) Fonts: removed ImFontConfig::GlyphExtraSpacing option which seems largely obsolete and unused. (#242) 2025-02-03 17:55:35 +01:00
ocornut de962e83d0 ImFont: remove SetGlyphVisible()
Which was never marked public. Added by d284a6cff. (#2149, #515)
Making room by removing stuff that are inconvenient to implement in our scaling system.
If you were using this function please post an issue to report it.
2025-02-03 17:50:12 +01:00
ocornut f820bf7cd4 Version 1.91.9 WIP 2025-02-03 12:33:40 +01:00
ocornut dbb5eeaadf Version 1.91.8
build / Windows (push) Waiting to run
build / Linux (push) Waiting to run
build / MacOS (push) Waiting to run
build / iOS (push) Waiting to run
build / Emscripten (push) Waiting to run
build / Android (push) Waiting to run
2025-01-31 16:08:17 +01:00
ocornut 96e3b147f0 Fixed build with IMGUI_ENABLE_FREETYPE (#8346)
build / Windows (push) Has been cancelled
build / Linux (push) Has been cancelled
build / MacOS (push) Has been cancelled
build / iOS (push) Has been cancelled
build / Emscripten (push) Has been cancelled
build / Android (push) Has been cancelled
2025-01-25 01:14:46 +01:00
ocornut afb6e9a879 Fonts: OversampleH auto-selection uses 36 as heuristic for now. 2025-01-24 20:03:04 +01:00
ocornut 8a1613a382 Fonts: OversampleH/OversampleV value defaults to 0 for automatic selection. 2025-01-24 19:32:30 +01:00
ocornut 9eafb7bbfb ImFont: IndexLookup[] table hold 16-bit values even in ImWchar32 mode. 2025-01-24 16:54:59 +01:00