summaryrefslogtreecommitdiff
path: root/src/attributes/splines.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/splines.rs
parent0c8eb45449e578cae1f27e93df3f9cc92ba68219 (diff)
downloaddotavious-c95ff86e2c8fbdd8e0cf6550aadc7ffc676dcc16.zip
trying to organize files and use declarations
Diffstat (limited to 'src/attributes/splines.rs')
-rw-r--r--src/attributes/splines.rs31
1 files changed, 31 insertions, 0 deletions
diff --git a/src/attributes/splines.rs b/src/attributes/splines.rs
new file mode 100644
index 0000000..5ac9b65
--- /dev/null
+++ b/src/attributes/splines.rs
@@ -0,0 +1,31 @@
+use crate::dot::DotString;
+use std::borrow::Cow;
+
+/// Spline, edges are drawn as splines routed around nodes
+/// Line, edges are drawn as line segments
+/// Polygon, specifies that edges should be drawn as polylines.
+/// Ortho, specifies edges should be routed as polylines of axis-aligned segments.
+/// Curved, specifies edges should be drawn as curved arcs.
+/// splines=line and splines=spline can be used as synonyms for
+/// splines=false and splines=true, respectively.
+pub enum Splines {
+ Line,
+ Spline,
+ None,
+ Curved,
+ Polyline,
+ Ortho,
+}
+
+impl<'a> DotString<'a> for Splines {
+ fn dot_string(&self) -> Cow<'a, str> {
+ match self {
+ Splines::Line => "line".into(),
+ Splines::Spline => "spline".into(),
+ Splines::None => "none".into(),
+ Splines::Curved => "curved".into(),
+ Splines::Polyline => "polyline".into(),
+ Splines::Ortho => "ortho".into(),
+ }
+ }
+}