use sdl3::{Sdl, pixels::Color, render::Canvas, ttf::Font, video::Window}; use serde::{Serialize, Deserialize}; pub struct Screen<'a> { pub(crate) canvas: Box>, pub(crate) font: Box>, pub(crate) color: Color, pub(crate) context: Box } #[derive(Debug, PartialEq, Serialize, Deserialize)] pub struct Prefs { #[serde(rename = "font-path")] pub font_path: String, #[serde(rename = "width")] pub screen_width: u32, #[serde(rename = "height")] pub screen_height: u32, } pub struct DisplayEntry { pub route: String, pub destination: String, pub departure_time: u32, } pub struct DisplayData { pub lines: Vec, pub status: Option }