diff options
| author | HampusM <hampus@hampusmat.com> | 2026-08-04 15:50:16 +0200 |
|---|---|---|
| committer | HampusM <hampus@hampusmat.com> | 2026-08-04 15:50:16 +0200 |
| commit | 6d275bd299736b8d5539f41a709d628dec14c478 (patch) | |
| tree | 05343c57476e696b926639272ef391277e6e1226 /engine | |
| parent | 5bbc9b819c4e0afabe4d73d80f29cfef023716cd (diff) | |
feat(engine): use Fira Mono as default font for dear imgui
Diffstat (limited to 'engine')
| -rw-r--r-- | engine/Cargo.toml | 1 | ||||
| -rw-r--r-- | engine/res/FiraMono-Regular.ttf | bin | 0 -> 170204 bytes | |||
| -rw-r--r-- | engine/src/ui/dear_imgui.rs | 24 |
3 files changed, 25 insertions, 0 deletions
diff --git a/engine/Cargo.toml b/engine/Cargo.toml index df29fd3..0c1f5c3 100644 --- a/engine/Cargo.toml +++ b/engine/Cargo.toml @@ -46,6 +46,7 @@ git = "https://github.com/Latias94/dear-imgui-rs" # This commit has a fix for linking with libstdc++ on non-msvc Windows targets. When a # release with this fix is available, it should be used instead rev = "cd2425b699e746852757e9290257bbf09129cfa7" +features = ["freetype"] [build-dependencies] build-rs = "0.3.4" diff --git a/engine/res/FiraMono-Regular.ttf b/engine/res/FiraMono-Regular.ttf Binary files differnew file mode 100644 index 0000000..67bbd42 --- /dev/null +++ b/engine/res/FiraMono-Regular.ttf diff --git a/engine/src/ui/dear_imgui.rs b/engine/src/ui/dear_imgui.rs index b571cee..4bf34c9 100644 --- a/engine/src/ui/dear_imgui.rs +++ b/engine/src/ui/dear_imgui.rs @@ -160,6 +160,25 @@ impl ecs::extension::Extension for Extension tracing::error!("Failed to set path of imgui settings ini file: {err}"); } + assert!( + dear_imgui_rs::HAS_FREETYPE, + "Freetype font rasterizer support is not enabled" + ); + + context.ctx.font_atlas_mut().add_font_from_memory_ttf( + include_bytes!("../../res/FiraMono-Regular.ttf"), + 14.0, + Some( + &dear_imgui_rs::FontConfig::default() + .name("FiraMono-Regular.ttf") + .font_loader_flags( + dear_imgui_rs::FontLoaderFlags::BITMAP + | dear_imgui_rs::FontLoaderFlags::FORCE_AUTOHINT, + ), + ), + None, + ); + collector.add_sole(context).ok(); collector.add_system( @@ -983,6 +1002,11 @@ mod inner_context_wrapper self.ctx.io_mut() } + pub fn font_atlas_mut(&mut self) -> dear_imgui_rs::FontAtlas + { + self.ctx.font_atlas_mut() + } + pub fn render(&mut self) -> &mut dear_imgui_rs::DrawData { self.ctx.render() |
