From acbfa5711f3aa09add136eada0305dce394ee0c6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pontus=20Granstr=C3=B6m?= Date: Wed, 6 Aug 2014 16:15:05 +0200 Subject: [PATCH 1/3] Added `arrowFromLocatedTrail` --- src/Diagrams/TwoD/Arrow.hs | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/Diagrams/TwoD/Arrow.hs b/src/Diagrams/TwoD/Arrow.hs index c00da8e2..48cb3b54 100644 --- a/src/Diagrams/TwoD/Arrow.hs +++ b/src/Diagrams/TwoD/Arrow.hs @@ -497,6 +497,23 @@ arrowV' => ArrowOpts -> R2 -> Diagram b R2 arrowV' opts = arrowAt' opts origin +-- | Turn a located trail into a default arrow by putting an +-- arrowhead at the end of the trail. +arrowFromLocatedTrail + :: Renderable (Path R2) b + => Located (Trail R2) -> Diagram b R2 +arrowFromLocatedTrail = arrowFromLocatedTrail' def + +-- | Turn a located trail into an arrow using the given options. +arrowFromLocatedTrail' + :: Renderable (Path R2) b + => ArrowOpts -> Located (Trail R2) -> Diagram b R2 +arrowFromLocatedTrail' opts trail = arrowBetween' opts' start end + where + opts' = opts & arrowShaft .~ unLoc trail + start = atStart trail + end = atEnd trail + -- | Connect two diagrams with a straight arrow. connect :: (Renderable (Path R2) b, IsName n1, IsName n2) From 5d824f4a1f315618b0dc5f99ea5ab49537796d15 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pontus=20Granstr=C3=B6m?= Date: Wed, 6 Aug 2014 17:50:29 +0200 Subject: [PATCH 2/3] Missed some imports --- src/Diagrams/TwoD/Arrow.hs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Diagrams/TwoD/Arrow.hs b/src/Diagrams/TwoD/Arrow.hs index 48cb3b54..4219c9bd 100644 --- a/src/Diagrams/TwoD/Arrow.hs +++ b/src/Diagrams/TwoD/Arrow.hs @@ -114,10 +114,10 @@ import Data.VectorSpace import Data.Colour hiding (atop) import Diagrams.Core import Diagrams.Core.Types (QDiaLeaf (..), mkQD') - import Diagrams.Angle import Diagrams.Attributes import Diagrams.Direction +import Diagrams.Located (Located(..), unLoc) import Diagrams.Parametric import Diagrams.Path import Diagrams.Solve (quadForm) From 3c9374fd1835a121a352e8edb69612d389751146 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pontus=20Granstr=C3=B6m?= Date: Wed, 6 Aug 2014 19:24:45 +0200 Subject: [PATCH 3/3] Missed some exports --- src/Diagrams/TwoD/Arrow.hs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/Diagrams/TwoD/Arrow.hs b/src/Diagrams/TwoD/Arrow.hs index 4219c9bd..07b246a1 100644 --- a/src/Diagrams/TwoD/Arrow.hs +++ b/src/Diagrams/TwoD/Arrow.hs @@ -72,6 +72,9 @@ module Diagrams.TwoD.Arrow , arrow , arrow' + + , arrowFromLocatedTrail + , arrowFromLocatedTrail' -- * Options , ArrowOpts(..) @@ -114,6 +117,7 @@ import Data.VectorSpace import Data.Colour hiding (atop) import Diagrams.Core import Diagrams.Core.Types (QDiaLeaf (..), mkQD') + import Diagrams.Angle import Diagrams.Attributes import Diagrams.Direction