pub struct FontFamilyBuilder { /* private fields */ }Expand description
Builder for composing multiple font families
This builder allows you to add multiple font families and their weights,
then install them all at once into the egui context. This is more efficient
and safer than calling load_font_family multiple times.
§Example
ⓘ
use armas_basic::fonts::FontFamilyBuilder;
use eframe::egui;
fn setup(ctx: &egui::Context) {
let mut builder = FontFamilyBuilder::new();
builder.add_family(
"Inter",
include_bytes!("../../fonts/Inter-Regular.ttf"),
Some(include_bytes!("../../fonts/Inter-Medium.ttf")),
Some(include_bytes!("../../fonts/Inter-SemiBold.ttf")),
Some(include_bytes!("../../fonts/Inter-Bold.ttf")),
);
// Install and set Inter as default
builder.install(ctx, true);
}Implementations§
Source§impl FontFamilyBuilder
impl FontFamilyBuilder
Sourcepub fn add_family(
&mut self,
family_name: &str,
regular: &'static [u8],
medium: Option<&'static [u8]>,
semibold: Option<&'static [u8]>,
bold: Option<&'static [u8]>,
) -> &mut Self
pub fn add_family( &mut self, family_name: &str, regular: &'static [u8], medium: Option<&'static [u8]>, semibold: Option<&'static [u8]>, bold: Option<&'static [u8]>, ) -> &mut Self
Add a font family with multiple weights
§Naming Convention
Fonts are registered with the following names:
- Regular:
{family_name}(e.g., “Inter”) - Medium:
{family_name}Medium(e.g., “InterMedium”) SemiBold:{family_name}SemiBold(e.g., “InterSemiBold”)- Bold:
{family_name}Bold(e.g., “InterBold”)
Sourcepub fn set_default(&mut self, family_name: &str) -> &mut Self
pub fn set_default(&mut self, family_name: &str) -> &mut Self
Set which family should be the default proportional font
Sourcepub fn install(self, ctx: &Context, set_as_default: bool)
pub fn install(self, ctx: &Context, set_as_default: bool)
Install the fonts into the egui context
This merges with existing font definitions, preserving egui’s default fonts.
§Arguments
ctx- The egui context (use fromCreationContextor before first frame)set_as_default- If true, sets the first added family as default proportional font
Sourcepub fn build(self) -> FontDefinitions
pub fn build(self) -> FontDefinitions
Build FontDefinitions without installing to context
Useful if you want to customize further before applying.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for FontFamilyBuilder
impl RefUnwindSafe for FontFamilyBuilder
impl Send for FontFamilyBuilder
impl Sync for FontFamilyBuilder
impl Unpin for FontFamilyBuilder
impl UnsafeUnpin for FontFamilyBuilder
impl UnwindSafe for FontFamilyBuilder
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more