use crate::MathML;
use std::fmt::{Display, Formatter};
mod display;
#[derive(Clone, Debug, PartialEq)]
pub struct MathFraction {
numerator: MathML,
denominator: MathML,
line_thickness: LineThickness,
}
#[derive(Debug, Clone, Copy, PartialEq)]
pub enum LineThickness {
Thin,
Medium,
Thick,
Length(u8),
}
impl Default for LineThickness {
fn default() -> Self {
LineThickness::Medium
}
}
impl MathFraction {
pub fn new<N, D>(numerator: N, denominator: D) -> Self
where
N: Into<MathML>,
D: Into<MathML>,
{
Self { numerator: numerator.into(), denominator: denominator.into(), line_thickness: Default::default() }
}
pub fn with_thickness<T>(mut self, line_thickness: T) -> Self
where
T: Into<LineThickness>,
{
self.line_thickness = line_thickness.into();
self
}
}