use std::path::PathBuf; #[derive(Debug, Clone, Copy)] pub enum ImageFormat { Png, Svg, } impl ImageFormat { pub fn extension(&self) -> &'static str { match self { ImageFormat::Png => "png", ImageFormat::Svg => "svg", } } pub fn mime_type(&self) -> &'static str { match self { ImageFormat::Png => "image/png", ImageFormat::Svg => "image/svg+xml", } } } #[derive(Debug)] pub enum Action { ChangeOrientation, StageTypeSelected(usize), SourceChanged, Zoom(f64), ZoomOut, ZoomIn, ExportImage, ExportToFile { path: PathBuf, format: ImageFormat }, New, Open, Save { close_after: bool }, SaveAs { close_after: bool }, LoadFile(PathBuf), SaveToFile { path: PathBuf, close_after: bool }, MarkInitialized, CloseWindow, }