diff --git a/HelloWorld.hs b/HelloWorld.hs
index 00d210f..4d8d89f 100644
--- a/HelloWorld.hs
+++ b/HelloWorld.hs
@@ -5,28 +5,48 @@
import Diagrams.Prelude
import Diagrams.Backend.SVG.CmdLine
+data StepType
+ = StartType
+ | RegularStep
+ | EndType
+
data Step = Step {
originCoordinates :: Point V2 Double,
- name :: Double }
+ name :: Double,
+ stepType :: StepType }
stepName :: Step -> Double
-stepName Step { originCoordinates = x, name = y } = y
+stepName Step { originCoordinates = x, name = y, stepType = z } = y
stepShape :: Double -> Diagram B
-stepShape x = rect 0.75 0.5 # showOrigin # named x
+stepShape x = rect 0.95 0.4 # showOrigin # named x
+
+startShape :: Double -> Diagram B
+startShape x = roundedRect 0.95 0.4 0.5 # showOrigin # named x
+
+endShape :: Double -> Diagram B
+endShape = startShape
uniqueName :: Double -> Double -> Double
-uniqueName x y = x * 10 + y
+uniqueName x y = x * 10 + (abs y)
steps :: [Step]
-steps = [ Step { originCoordinates = p2 (x, y), name = uniqueName x y } | x <- [0], y <- [0, -1, -2, -3]]
+steps =
+ Step { originCoordinates = p2 (0, 0), name = uniqueName 0 0, stepType = StartType }
+ : [Step { originCoordinates = p2 (x, y), name = uniqueName x y, stepType = RegularStep } | x <- [0], y <- [-1, -2, -3]]
+ ++ [Step { originCoordinates = p2 (0, -4), name = uniqueName 0 4, stepType = EndType }]
connections :: [Step] -> [QDiagram B V2 Double Any -> QDiagram B V2 Double Any]
connections (x1: x2: xn) = connectOutside (stepName x1) (stepName x2): connections (x2: xn)
connections (x1: []) = []
connections [] = []
+correctShape :: StepType -> Double -> Diagram B
+correctShape StartType = startShape
+correctShape EndType = endShape
+correctShape _ = stepShape
+
main = mainWith $
- position [(x, (stepShape y)) | Step { originCoordinates = x, name = y } <- steps]
+ position [(x, correctShape z y) | Step { originCoordinates = x, name = y, stepType = z } <- steps]
# applyAll (connections steps)
# lw veryThin
diff --git a/hello-world.svg b/hello-world.svg
index df10cb0..e358736 100644
--- a/hello-world.svg
+++ b/hello-world.svg
@@ -1,3 +1,3 @@
\ No newline at end of file
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
\ No newline at end of file