Commit Graph

  • 4dec946ae6 Fonts: don't pretend to half recover from OOM for now + debug log filename on load failure. ocornut 2025-05-05 20:58:38 +0200
  • b32ef3c05d Fonts: make RasterizerDensity a dynamic field. (temporarily exposed as SetFontRasterizerDensity()). ocornut 2025-04-30 21:29:09 +0200
  • 8140a9d8a6 Fonts: comments on ImTextureData fields. ocornut 2025-04-27 15:33:44 +0200
  • 42e7bb80b6 imgui_freetype: removed anonymous namespace + extracting two functions outside of ImGui_ImplFreeType_FontSrcData. ocornut 2025-04-26 17:24:38 +0200
  • 6a455e1281 imgui_freetype: moving data out of ImGui_ImplFreeType_FontSrcData. ocornut 2025-04-26 17:05:36 +0200
  • 5310f5fba3 Fonts: rework toward reducing reliance on ImFontConfig::DstFont since we ought to separate them. ocornut 2025-04-24 18:27:55 +0200
  • 2b0d49a905 Fonts: make ImFont::Sources a vector. ocornut 2025-04-24 17:54:16 +0200
  • e7efe94fd2 Fonts: shallow rework of ImFontAtlasBakedAddFontGlyph() to facilitate upcoming change. ocornut 2025-04-22 17:56:00 +0200
  • 890fff92fd Fonts: rename many internal functions for consistency. No other changes. ocornut 2025-04-22 12:08:28 +0200
  • c4fa9bb61f Fonts: add ImFontGlyph::SourceIdx. Extract code out of DebugNodeFont() into DebugNodeFontGlyphesForSrcMask(). ocornut 2025-04-21 18:06:50 +0200
  • bcd1a94b89 Fonts: Extract ImFontAtlasBuildGetFontBaked() out of ImFont::GetFontBaked() mostly for consistency with upcoming changes + tweak locals in AddFont(). ocornut 2025-04-17 17:48:29 +0200
  • 7840e453b5 Fonts: ImFontAtlasBuildInit() is always called with atlas->Builder == NULL. ocornut 2025-04-17 16:53:12 +0200
  • eb650c468a Fonts: fixed unused variable warning. ocornut 2025-04-17 16:47:54 +0200
  • c43b138a69 Fonts: no need to load current baked on SkipItems window? + removed unused field. ocornut 2025-04-17 15:00:35 +0200
  • cdfa537adf Fonts: packing of shared basic/line/cursor data uses more public API. ocornut 2025-04-14 16:20:31 +0200
  • ed2bb2cff0 Fonts: encode additional data in ImFontAtlasRectId to detect invalid id + added Rects debug browser. ocornut 2025-04-11 17:16:06 +0200
  • 0436fba13c Fonts: fixed compaction gc-ing baked fonts used in the current frame + rename. ocornut 2025-03-31 22:38:05 +0200
  • e8035b94e5 Fonts: misc tidying up. ocornut 2025-04-09 17:16:40 +0200
  • d789263e08 Fonts: internal rendering uses higher level functions. ocornut 2025-04-07 18:42:06 +0200
  • 12599da53d Fonts: do not mark whole ImTextureData struct as IMGUI_API to fix warning when used in ImVector<> (8559) ocornut 2025-04-09 15:16:59 +0200
  • fb5c537080 Fonts: changing loader/backend or loader flags may be done without losing custom rects. Sharing more code. ocornut 2025-04-03 19:10:16 +0200
  • 526a5d0f8a Fonts: tidying up. ocornut 2025-04-02 15:10:11 +0200
  • 1ea9ff3677 Fonts: add optional out parameter to AddCustomRect() ocornut 2025-03-31 22:18:42 +0200
  • 074bf39e40 Fonts: GC Compact All exposed in Metrics->Memory Allocations includes compacting texture data. ocornut 2025-03-31 21:43:15 +0200
  • 23dc46c4f8 Fonts: added RemoveCustomRect(). ocornut 2025-03-31 19:24:59 +0200
  • e9cf3de58f Fonts: moved ImFontAtlasRectId back to public API. ocornut 2025-03-31 18:37:11 +0200
  • 69d28f867c Fonts: added ImFontAtlasRectId_Invalid == -1 ocornut 2025-03-31 18:36:32 +0200
  • db30e1b5b6 (Breaking) Fonts: rework GetCustomRect() api. Reintroduce ImFontAtlasRect. ocornut 2025-03-31 17:36:24 +0200
  • f40274702d (Breaking) Fonts: renamed AddCustomRectRegular() -> AddCustomRect(). ocornut 2025-03-31 17:03:03 +0200
  • 253dff7656 Fonts: Comments. ocornut 2025-03-30 16:00:29 +0200
  • fc87081133 Fonts: fixed GetCustomRectUV(). ocornut 2025-03-22 15:15:10 +0100
  • 9324961cd2 Fonts: fixed calling AddFontXXX not invalidating texture for legacy backends. ocornut 2025-03-26 14:38:49 +0100
  • 44498825cd (Breaking) Fonts: PushFont() default to preserve current font size. ocornut 2025-03-21 19:13:23 +0100
  • 168b97c291 Fonts: removed size rounding in AddFont() which breaks relative sizing of merged fonts (8502) ocornut 2025-03-20 15:45:27 +0100
  • 2de15dc64b Fonts: fixed legacy backend path preloading all sources sizes erroneously + failing to use ellipsis. ocornut 2025-03-20 15:44:35 +0100
  • 5460903f96 Fonts: awkwardly alias old TexID name to TexRef using an union (may backtrack and just keep old name) ocornut 2025-03-19 20:12:02 +0100
  • cb4c03756a Fonts: detect if backend assign to texture on creation but doesn't update Status. ocornut 2025-03-19 19:57:03 +0100
  • a548cd9934 Fonts: avoid both ImTextureRef fields being set simultaneously. ocornut 2025-03-19 15:00:13 +0100
  • 0fff7ceda4 Fonts: comments, tweaks, minor amends. ocornut 2025-03-19 14:06:08 +0100
  • e41bf16ff1 Fonts: fixed ImTextureID() being zero-cleared instead of using ImTextureUserID_Invalid. . ocornut 2025-03-18 18:03:40 +0100
  • 8bd1fc4f04 Textures: Added ImTextureRef::GetTexID() mostly for consistency. ocornut 2025-03-17 22:08:58 +0100
  • cc65015e4e Fonts: fixed crashing password fields. ocornut 2025-03-17 17:18:05 +0100
  • 41517bca0c (Breaking) Fonts: renamed CalcCustomRectUV() to GetCustomRectUV() for simplicity. ocornut 2025-03-13 19:14:10 +0100
  • 4048494aa1 Fonts: rename ImFontAtlasBuildClearTexture() to ImFontAtlasBuildClear(). ocornut 2025-03-13 17:28:13 +0100
  • f816b861fc (Breaking) Fonts: rename GetCustomRectByIndex() to GetCustomRect(). Made return struct const. ocornut 2025-03-13 17:10:52 +0100
  • 85d0507580 Fonts: narrowed invalid value for ImFontAtlasRectId to -1 a we will change implementation. ocornut 2025-03-13 16:54:39 +0100
  • b12c42e75d Fonts: change uses of ImFontAtlasRect to ImTextureRect for simplicity. ocornut 2025-03-13 16:50:19 +0100
  • e76cfe5aad Fonts: fixed implicit init when calling AddCustomRectRegular(). LoaderShutdown match BuildDestroy. ocornut 2025-03-13 16:30:20 +0100
  • 7ac1bff482 Fonts: fixed an issue calling legacy ImFontAtlas::Clear(). ocornut 2025-03-11 19:54:33 +0100
  • 144f444217 Fonts: fixed memory leaks, shutting down font loader, and on AddFont() failure in FreeType backend. ocornut 2025-03-11 11:46:18 +0100
  • 52a6863771 Textures: ImTextureData pixels are not immediately destroyed on setting ImTextureStatus_WantDestroy. ocornut 2025-03-10 10:55:29 +0100
  • 8ea0ae454f Fonts: fixed a bug using size specified by secondary font sources. ocornut 2025-03-09 21:36:44 +0100
  • 735d31e54a Demo: Exposed some basic UI in demo for sanity. ocornut 2025-03-06 20:50:00 +0100
  • 41a0e991f0 Fonts: Added UI to edit FreeType loader flags. Added ImFontAtlasBuildReloadAll() / ImFontAtlasBuildReloadFont() ocornut 2025-03-06 20:34:18 +0100
  • 40f988ce2a Fonts: in ShowFontAtlas() preserve open-state for latest texture. Improve debug display. ocornut 2025-03-06 19:57:49 +0100
  • c98e3c0eff Fonts: ImFontConfig::GlyphExcludeRanges is owner and copied. ocornut 2025-03-06 18:39:32 +0100
  • da51485e17 Fonts: Obsolete GetGlyphRangesXXX() functions. Update font documentation. ocornut 2025-03-06 18:15:25 +0100
  • 93410c47e1 Fonts: Fixed various small warnings / build issues. ocornut 2025-03-05 18:42:41 +0100
  • dec8d3863a Fonts: Added a ImFontFlags_NoLoadError flag to let user code try file paths. (3611) ocornut 2025-03-05 20:08:00 +0100
  • 131f5c57ab Textures: Detect when using a texture that's about to be destroyed. ocornut 2025-03-05 17:18:54 +0100
  • 0b71339122 Demo: Add a "Fonts" section for visibility. ocornut 2025-03-05 17:05:24 +0100
  • 161e222322 Fonts: GetFontBaked() default to searching for closest size font. ocornut 2025-03-03 16:14:41 +0100
  • e98a314e06 Textures: Added ImTextureData::UsedRect. ocornut 2025-02-19 15:41:26 +0100
  • 2bf6879dae Fonts: tidying up font scale logic. ocornut 2025-02-19 15:16:19 +0100
  • ef6beaeff6 Fonts: removed LockSingleSrcConfigIdx which isn't needed anymore since we don't load glyphs in ImFontAtlasBuildAddFont(). ocornut 2025-02-10 22:53:33 +0100
  • d8a612f73b Fonts: Fallback glyph is now lazily loaded on demand (yay!). Moving ImFontBaked:: functions outside of class. ocornut 2025-02-10 22:32:09 +0100
  • 78a17038c2 imgui_freetype: no need to store metrics locally. ocornut 2025-02-10 15:09:46 +0100
  • 18c8a93cca Fonts: Rework ImFontLoader signatures. ocornut 2025-02-07 18:48:01 +0100
  • c06a7585a3 Fonts: A font source can specify its own loader/backend. ocornut 2025-02-06 19:31:13 +0100
  • 1cfc0de31d Fonts: Core allocates per-baked-per-src backend buffers, to allow having custom backend per font source. Backend BakedInit/Destroy/AddGlyph process a single source. ocornut 2025-02-06 15:19:23 +0100
  • d59f10d7f5 Fonts: reinstated ImFontAtlasBuildSetupFontCreateEllipsisFromDot() compatible with baked system, lazily baked. ocornut 2025-02-07 15:58:16 +0100
  • 76b252f80a Fonts: Added ImFontAtlasBakedSetFontGlyphBitmap(). ocornut 2025-02-07 14:51:37 +0100
  • 92993e68c8 Fonts: Baked system, fix subsequent sources overriding shared font metrics. ocornut 2025-02-06 13:06:05 +0100
  • dc1320df64 Fonts: ImFontFlags: ImFontFlags_NoLoadGlyphs + add ImFontFlags_LockBakedSizes ocornut 2025-02-06 11:57:30 +0100
  • 8a8d8a7b38 Fonts: Exposed CompactCache(). Hide ClearCache(). ocornut 2025-02-05 18:25:52 +0100
  • eb79e3ab3d Fonts: Restore a functional AddCustomRectFontGlyph(). ocornut 2025-02-05 17:51:46 +0100
  • 815553c4b4 Fonts: ImFontConfig: added GlyphExcludeRanges[]. ocornut 2025-02-05 14:41:59 +0100
  • 96786a183b Fonts: Create a fallback glyph if none is available (fix crash on fonts with no fallback) ocornut 2025-02-05 14:04:05 +0100
  • 066b24d741 Fonts: Fixed _OnChangedTextureID() asserting when calling on e.g. finalized drawlists. ocornut 2025-02-04 20:02:10 +0100
  • 82b81fce68 Fonts: PushFontSize() with -1 uses sources[0]'s size for now (backward compat design) ocornut 2025-02-03 19:36:11 +0100
  • 6580590226 Fonts: Allow PushFont/NewFrame/PopFont idioms to function. ocornut 2025-02-03 19:15:26 +0100
  • 842c313db2 Fonts: Reordered ImFont fields. ocornut 2025-02-07 19:47:41 +0100
  • 99f6b305c1 Fonts: Baked system, v12: support GlyphOffset / GlyphMinAdvanceX / GlyphMaxAdvanceX by scaling from ref value. ocornut 2025-02-03 17:46:59 +0100
  • df694c89b0 Fonts: Baked system, v11. ocornut 2025-02-03 17:16:34 +0100
  • 57d345ff80 Textures: Comments around ImTextureID type. ocornut 2025-01-30 17:49:52 +0100
  • 3ce753c489 Fonts: Debug dump to disk, debug log. ocornut 2025-01-28 14:36:06 +0100
  • be151977ca Fonts: Texture resizing favor growing height, halve pack nodes. ocornut 2025-01-28 14:31:13 +0100
  • daaf0e4ef3 Fonts: Added PushFontSize(), PopFontSize() api. Added font_size param to PushFont() as well. ocornut 2025-01-27 20:24:05 +0100
  • 80404fae30 Fonts: clarify ClearTexData() as not supported with dynamic atlases. ocornut 2025-01-30 16:32:25 +0100
  • 093d01269a Fonts: Baked system, with auto-bind, v10. ocornut 2025-01-23 15:46:22 +0100
  • 7aba8da551 (Breaking) Fonts: CalcWordWrapPositionA() -> CalcWordWrapPosition(), takes size instead of scale as this will be needed. ocornut 2025-01-24 18:10:42 +0100
  • a2371ef90b Internals: added ImStableVector<> helper. ocornut 2025-01-22 20:01:26 +0100
  • fb69a09d6e Fonts: Fixed leak due to indirectly recursing ImFontAtlasPackInit(). ocornut 2025-01-23 12:12:07 +0100
  • c5653d5f34 Fonts: stb_truetype loader: Reworked scale handling to suggest this is not required caching. ocornut 2025-01-20 20:01:21 +0100
  • b203ac1e0d Fonts: Reduced reliance on ImFontConfig::DstFont. ocornut 2025-01-18 15:01:05 +0100
  • 722f6013ff Fonts: Added a bit of user facing tooling. ocornut 2025-01-16 15:41:46 +0100
  • bd19bc5085 Fonts: Removed BuildClearGlyphs(), conflated with ClearOutputData() ocornut 2025-01-16 14:57:33 +0100
  • 2bf6552f2f Fonts: Fixed/improved support for legacy backend. SetTexID() writes into our ImTextureData to keep the indirection, clear TexIsBuilt. ocornut 2025-01-16 11:35:55 +0100
  • ba62becb7d (Breaking) Fonts: remove ImFontAtlasCustomRect which is now the same as ImTextureRect ocornut 2025-01-15 11:53:24 +0100
  • a509790a1c Fonts: Added back support for AddCustomRectFontGlyph() ocornut 2025-01-13 20:33:36 +0100