diagrams-core-1.4: Core libraries for diagrams EDSL

Copyright(c) 2011 diagrams-core team (see LICENSE)
LicenseBSD-style (see LICENSE)
Maintainerdiagrams-discuss@googlegroups.com
Safe HaskellNone
LanguageHaskell2010

Diagrams.Core.Juxtapose

Description

Things which can be placed "next to" other things, for some appropriate notion of "next to".

Synopsis

Documentation

class Juxtaposable a where #

Class of things which can be placed "next to" other things, for some appropriate notion of "next to".

Minimal complete definition

juxtapose

Methods

juxtapose :: Vn a -> a -> a -> a #

juxtapose v a1 a2 positions a2 next to a1 in the direction of v. In particular, place a2 so that v points from the local origin of a1 towards the old local origin of a2; a1's local origin becomes a2's new local origin. The result is just a translated version of a2. (In particular, this operation does not combine a1 and a2 in any way.)

Instances

(Enveloped b, HasOrigin b) => Juxtaposable [b] # 

Methods

juxtapose :: Vn [b] -> [b] -> [b] -> [b] #

(Enveloped b, HasOrigin b, Ord b) => Juxtaposable (Set b) # 

Methods

juxtapose :: Vn (Set b) -> Set b -> Set b -> Set b #

Juxtaposable a => Juxtaposable (b -> a) # 

Methods

juxtapose :: Vn (b -> a) -> (b -> a) -> (b -> a) -> b -> a #

(Enveloped a, HasOrigin a, Enveloped b, HasOrigin b, (~) (* -> *) (V a) (V b), (~) * (N a) (N b)) => Juxtaposable (a, b) # 

Methods

juxtapose :: Vn (a, b) -> (a, b) -> (a, b) -> (a, b) #

(Enveloped b, HasOrigin b) => Juxtaposable (Map k b) # 

Methods

juxtapose :: Vn (Map k b) -> Map k b -> Map k b -> Map k b #

Juxtaposable a => Juxtaposable (Measured n a) # 

Methods

juxtapose :: Vn (Measured n a) -> Measured n a -> Measured n a -> Measured n a #

(Metric v, OrderedField n) => Juxtaposable (Envelope v n) # 

Methods

juxtapose :: Vn (Envelope v n) -> Envelope v n -> Envelope v n -> Envelope v n #

(Metric v, OrderedField n, Monoid' m) => Juxtaposable (QDiagram b v n m) # 

Methods

juxtapose :: Vn (QDiagram b v n m) -> QDiagram b v n m -> QDiagram b v n m -> QDiagram b v n m #

juxtaposeDefault :: (Enveloped a, HasOrigin a) => Vn a -> a -> a -> a #

Default implementation of juxtapose for things which are instances of Enveloped and HasOrigin. If either envelope is empty, the second object is returned unchanged.