use rusttype::{point, Font, Scale};
pub fn measure_text(font: &Font, text: &str, scale: Scale) -> (u32, u32) {
let v_metrics = font.v_metrics(scale);
let ascent = v_metrics.ascent;
let descent = v_metrics.descent;
let height = (ascent - descent).ceil() as u32;
let width = font
.layout(text, scale, point(0.0, 0.0))
.last()
.map(|g| {
let bb = g.pixel_bounding_box();
if let Some(bb) = bb {
bb.max.x as f32
} else {
g.position().x
}
})
.unwrap_or(0.0)
.ceil() as u32;
(width, height)
}