summaryrefslogtreecommitdiff
path: root/src/attributes/image.rs
diff options
context:
space:
mode:
authorseancarroll <seanc28@gmail.com>2021-01-06 21:11:57 -0600
committerseancarroll <seanc28@gmail.com>2021-01-06 21:11:57 -0600
commitc95ff86e2c8fbdd8e0cf6550aadc7ffc676dcc16 (patch)
treecfc0db9248e14f2ea675cf3b6dc67bf7243d1701 /src/attributes/image.rs
parent0c8eb45449e578cae1f27e93df3f9cc92ba68219 (diff)
downloaddotavious-c95ff86e2c8fbdd8e0cf6550aadc7ffc676dcc16.zip
trying to organize files and use declarations
Diffstat (limited to 'src/attributes/image.rs')
-rw-r--r--src/attributes/image.rs46
1 files changed, 46 insertions, 0 deletions
diff --git a/src/attributes/image.rs b/src/attributes/image.rs
new file mode 100644
index 0000000..360191a
--- /dev/null
+++ b/src/attributes/image.rs
@@ -0,0 +1,46 @@
+use crate::dot::DotString;
+use std::borrow::Cow;
+
+pub enum ImagePosition {
+ TopLeft,
+ TopCentered,
+ TopRight,
+ MiddleLeft,
+ MiddleCentered,
+ MiddleRight,
+ BottomLeft,
+ BottomCentered,
+ BottomRight,
+}
+
+impl<'a> DotString<'a> for ImagePosition {
+ fn dot_string(&self) -> Cow<'a, str> {
+ match self {
+ ImagePosition::TopLeft => "tl".into(),
+ ImagePosition::TopCentered => "tc".into(),
+ ImagePosition::TopRight => "tr".into(),
+ ImagePosition::MiddleLeft => "ml".into(),
+ ImagePosition::MiddleCentered => "mc".into(),
+ ImagePosition::MiddleRight => "mr".into(),
+ ImagePosition::BottomLeft => "bl".into(),
+ ImagePosition::BottomCentered => "bc".into(),
+ ImagePosition::BottomRight => "br".into(),
+ }
+ }
+}
+
+pub enum ImageScale {
+ Width,
+ Height,
+ Both,
+}
+
+impl<'a> DotString<'a> for ImageScale {
+ fn dot_string(&self) -> Cow<'a, str> {
+ match self {
+ ImageScale::Width => "width".into(),
+ ImageScale::Height => "height".into(),
+ ImageScale::Both => "both".into(),
+ }
+ }
+}