summaryrefslogtreecommitdiff
path: root/engine
diff options
context:
space:
mode:
authorHampusM <hampus@hampusmat.com>2026-08-04 15:50:16 +0200
committerHampusM <hampus@hampusmat.com>2026-08-04 15:50:16 +0200
commit6d275bd299736b8d5539f41a709d628dec14c478 (patch)
tree05343c57476e696b926639272ef391277e6e1226 /engine
parent5bbc9b819c4e0afabe4d73d80f29cfef023716cd (diff)
feat(engine): use Fira Mono as default font for dear imgui
Diffstat (limited to 'engine')
-rw-r--r--engine/Cargo.toml1
-rw-r--r--engine/res/FiraMono-Regular.ttfbin0 -> 170204 bytes
-rw-r--r--engine/src/ui/dear_imgui.rs24
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
new file mode 100644
index 0000000..67bbd42
--- /dev/null
+++ b/engine/res/FiraMono-Regular.ttf
Binary files differ
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()