aboutsummaryrefslogtreecommitdiff
path: root/src/actions.rs
diff options
context:
space:
mode:
authorRubén Beltrán del Río <jj@r.bdr.sh>2026-01-16 00:36:23 +0100
committerRubén Beltrán del Río <jj@r.bdr.sh>2026-01-16 00:58:35 +0100
commit4211b2ae06777d5bbe8261a1ab5c0dd057829a35 (patch)
tree15d501e3c101abfa5f6657b023f385e4272fbcc4 /src/actions.rs
parent04b1e6080d99601b8d6343be3140f545cd8f9eae (diff)
Add export image
Diffstat (limited to 'src/actions.rs')
-rw-r--r--src/actions.rs23
1 files changed, 23 insertions, 0 deletions
diff --git a/src/actions.rs b/src/actions.rs
index 119df04..efb9f53 100644
--- a/src/actions.rs
+++ b/src/actions.rs
@@ -1,5 +1,27 @@
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,
@@ -9,6 +31,7 @@ pub enum Action {
ZoomOut,
ZoomIn,
ExportImage,
+ ExportToFile { path: PathBuf, format: ImageFormat },
New,
Open,
Save { close_after: bool },