use encoding_rs::Encoding;
use crate::string::PascalString;
#[derive(Clone, Eq, PartialEq)]
pub struct DialogFont {
pub(crate) name: PascalString,
pub(crate) size: u32,
pub(crate) standard_height: u32,
pub(crate) base_scale_height: u32,
pub(crate) base_scale_width: u32,
}
impl DialogFont {
pub(crate) fn decode(&mut self, codepage: &'static Encoding) {
self.name.decode(codepage);
}
#[must_use]
#[inline]
pub fn name(&self) -> &str {
self.name.as_str()
}
#[must_use]
#[inline]
pub const fn size(&self) -> u32 {
self.size
}
#[must_use]
#[inline]
pub const fn standard_height(&self) -> u32 {
self.standard_height
}
#[must_use]
#[inline]
pub const fn base_scale_height(&self) -> u32 {
self.base_scale_height
}
#[must_use]
#[inline]
pub const fn base_scale_width(&self) -> u32 {
self.base_scale_width
}
}
impl Default for DialogFont {
fn default() -> Self {
Self {
name: PascalString::from("Segoe UI"),
size: 9,
standard_height: 0,
base_scale_width: 7,
base_scale_height: 15,
}
}
}