Commit Graph

  • 25f9c318e3 Fonts: added "Input Glyphs Overlap Detection Tool". Added "Clear bakes", "Clear unused" buttons. Move code. ocornut 2025-05-22 17:45:22 +0200
  • 5926c877a1 Fonts: detect if ImFontAtlasUpdateNewFrame() is not being called. ocornut 2025-05-22 16:32:46 +0200
  • 9f8b4bdaf1 Fonts: fixed edge case calling RenderText() without priming with CalcTextSize(). ocornut 2025-05-21 20:35:04 +0200
  • b2343d6247 Fonts: fallback to default default rasterizer density + pick one from existing viewports at the time of calling AddUpdateViewport(). ocornut 2025-05-20 19:56:27 +0200
  • 83aad81279 Fonts: comments + made IMGUI_DEBUG_LOG_FONT() work without an ImGui context. ocornut 2025-05-20 18:12:08 +0200
  • f3780c7354 Fonts: adding GetFontBaked() in public API. ocornut 2025-05-19 18:14:12 +0200
  • 92ff153763 Fonts: added notes/comments and dummy type about renaming ImFontBuilderIO::GetBuilderForFreeType() to ImFontLoader::GetFontLoader(). ocornut 2025-05-19 14:03:45 +0200
  • 3d848a886a Fonts: fixed support for IMGUI_STB_NAMESPACE. ocornut 2025-05-19 13:43:16 +0200
  • 822903e56d Fonts: fixed ImFontAtlas::RemoveFont() with multiple sources. ocornut 2025-05-16 16:55:29 +0200
  • 5ee9845559 Fonts: automatically set current rasterizer density to viewport density. Effectively should fix most things on macOS. ocornut 2025-05-16 18:04:44 +0200
  • ea756ede16 Fonts: reorder ImFontFlags according likelihood of being useful. ocornut 2025-05-15 16:14:08 +0200
  • 1b51a88bba Fonts: moved compare operators to internal. Removed commented out ones aimed legacy backends: not needed anymore since we didn't rename ImTextureID. ocornut 2025-05-15 16:08:05 +0200
  • 39f6c793b3 Fonts: proof of concept support for user textures. ocornut 2025-05-12 10:22:15 +0200
  • 91ed6e67b4 Fonts: fixed support for multiple atlases. ocornut 2025-05-09 22:17:48 +0200
  • fad5280d4c Fonts: fixed broken support for legacy backend due to a mismatch with initial pre-build baked id. ocornut 2025-05-11 23:51:45 +0200
  • 65e6039979 Fonts: remove unnecessary ImDrawListSharedData::FontAtlas which is actually getting in the way of using multiple atlases. ocornut 2025-05-09 22:46:39 +0200
  • 46fa9e8efb Fonts: Debug display status. Fixed truncated raw texture id. Fixed FormatTextureIDForDebugDisplay(). Comments. ocornut 2025-05-09 21:55:07 +0200
  • f6735c223c Fonts: remove ImFontHooks in favor of a AddRemapChar() implementation. ocornut 2025-05-08 17:59:18 +0200
  • 89e880dfd1 Fonts: adding ImFontHooks for codepoint remapping. ocornut 2025-05-08 17:35:20 +0200
  • 8523cbdf58 Fonts: rework ImFontLoader::FontBakedLoadGlyph() interface ocornut 2025-05-08 17:03:52 +0200
  • 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