use crate::clock_display::DisplayPart;
use super::DisplayView;
pub struct DateDisplayView;
impl DateDisplayView {
pub fn new() -> Self {
Self
}
}
impl Default for DateDisplayView {
fn default() -> Self {
Self::new()
}
}
impl DisplayView for DateDisplayView {
fn update_display(
&mut self,
state: &crate::clock_state::ClockState,
display: &mut crate::clock_display::ClockDisplay,
) -> Result<(), super::DisplayViewError> {
let calendar = state.calendar();
display.show_ordinal(DisplayPart::SideDisplay1, calendar.day() as u32, true)?;
display.show_ordinal(DisplayPart::SideDisplay2, calendar.month() as u32, true)?;
display.show_number(DisplayPart::MainDisplay, calendar.year() as u32, false)?;
display.set_colon(false);
Ok(())
}
}