funcmp-1.8: Functional MetaPost

Copyright(c) 2003-2010 Peter Simons
(c) 2002-2003 Ferenc Wágner
(c) 2002-2003 Meik Hellmund
(c) 1998-2002 Ralf Hinze
(c) 1998-2002 Joachim Korittky
(c) 1998-2002 Marco Kuhlmann
LicenseGPLv3
Maintainersimons@cryp.to
Stabilityprovisional
Portabilityportable
Safe HaskellSafe
LanguageHaskell98

FMP.Picture

Contents

Description

 

Documentation

(|-|) :: (IsPicture a, IsPicture b) => a -> b -> Picture infixl 5 #

(|||) :: (IsPicture a, IsPicture b) => a -> b -> Picture infixl 6 #

(|=|) :: (IsPicture a, IsPicture b) => a -> b -> Picture infixl 5 #

(||||) :: (IsPicture a, IsPicture b) => a -> b -> Picture infixl 6 #

(#) :: a -> (a -> b) -> b infixl 0 #

(.&.) :: (IsPath a, IsPath b) => a -> b -> Path infixr 1 #

(...) :: (IsPath a, IsPath b) => a -> b -> Path infixr 1 #

(.-.) :: (IsPath a, IsPath b) => a -> b -> Path infixr 1 #

(....) :: (IsPath a, IsPath b) => a -> b -> Path infixr 1 #

(.--.) :: (IsPath a, IsPath b) => a -> b -> Path infixr 1 #

class Show a => IsPicture a where #

Methods

toPicture :: a -> Picture #

toPictureList :: [a] -> Picture #

Instances

IsPicture Char # 
IsPicture Int # 
IsPicture Integer # 
IsPicture () # 

Methods

toPicture :: () -> Picture #

toPictureList :: [()] -> Picture #

IsPicture Numeric # 
IsPicture Frame # 
IsPicture Area # 
IsPicture Path # 
IsPicture Picture # 
IsPicture Tree # 
IsPicture Canvas # 
IsPicture Turtle # 
IsPicture a => IsPicture [a] # 

Methods

toPicture :: [a] -> Picture #

toPictureList :: [[a]] -> Picture #

(IsPicture a, IsPicture b) => IsPicture (a, b) # 

Methods

toPicture :: (a, b) -> Picture #

toPictureList :: [(a, b)] -> Picture #

(IsPicture a, IsPicture b, IsPicture c) => IsPicture (a, b, c) # 

Methods

toPicture :: (a, b, c) -> Picture #

toPictureList :: [(a, b, c)] -> Picture #

class IsPath a where #

Minimal complete definition

toPath

Methods

toPath :: a -> Path #

toPathList :: [a] -> Path #

Instances

IsPath Char # 

Methods

toPath :: Char -> Path #

toPathList :: [Char] -> Path #

IsPath Point # 

Methods

toPath :: Point -> Path #

toPathList :: [Point] -> Path #

IsPath Name # 

Methods

toPath :: Name -> Path #

toPathList :: [Name] -> Path #

IsPath Path # 

Methods

toPath :: Path -> Path #

toPathList :: [Path] -> Path #

IsPath a => IsPath [a] # 

Methods

toPath :: [a] -> Path #

toPathList :: [[a]] -> Path #

(Real a, Real b) => IsPath (a, b) # 

Methods

toPath :: (a, b) -> Path #

toPathList :: [(a, b)] -> Path #

class IsArea a where #

Minimal complete definition

toArea

Methods

toArea :: a -> Area #

Instances

IsArea Area # 

Methods

toArea :: Area -> Area #

IsArea Path # 

Methods

toArea :: Path -> Area #

IsPath a => IsArea [a] # 

Methods

toArea :: [a] -> Area #

class HasPicture a where #

Minimal complete definition

fromPicture

Methods

fromPicture :: IsPicture b => b -> a #

Instances

class HasName a where #

Minimal complete definition

setName, getNames

Methods

setName :: IsName b => b -> a -> a #

getNames :: a -> [Name] #

Instances

HasName Frame # 

Methods

setName :: IsName b => b -> Frame -> Frame #

getNames :: Frame -> [Name] #

HasName FrameAttrib # 
HasName Picture # 

Methods

setName :: IsName b => b -> Picture -> Picture #

getNames :: Picture -> [Name] #

HasName Tree # 

Methods

setName :: IsName b => b -> Tree -> Tree #

getNames :: Tree -> [Name] #

class HasDXY a where #

Minimal complete definition

setDX, getDX, setDY, getDY

Methods

setDX :: Numeric -> a -> a #

getDX :: a -> Maybe Numeric #

setDY :: Numeric -> a -> a #

getDY :: a -> Maybe Numeric #

class HasLabel a where #

Minimal complete definition

setLabel, removeLabel

Methods

setLabel :: IsPicture b => Double -> Dir -> b -> a -> a #

removeLabel :: a -> a #

class HasStartEndDir a where #

Methods

setStartAngle :: Numeric -> a -> a #

setEndAngle :: Numeric -> a -> a #

setStartCurl :: Numeric -> a -> a #

setEndCurl :: Numeric -> a -> a #

setStartVector :: Point -> a -> a #

setEndVector :: Point -> a -> a #

removeStartDir :: a -> a #

removeEndDir :: a -> a #

class HasJoin a where #

Minimal complete definition

setJoin, getJoin

Methods

setJoin :: BasicJoin -> a -> a #

getJoin :: a -> BasicJoin #

class HasLayer a where #

Minimal complete definition

setBack, setFront, getLayer

Methods

setBack :: a -> a #

setFront :: a -> a #

getLayer :: a -> Layer #

Instances

class HasConcat a where #

Minimal complete definition

(&)

Methods

(&) :: a -> a -> a infixr 1 #

Instances

HasConcat Path # 

Methods

(&) :: Path -> Path -> Path #

HasConcat Transformation # 
HasConcat SymNum # 

Methods

(&) :: SymNum -> SymNum -> SymNum #

HasConcat SymPoint # 

Methods

(&) :: SymPoint -> SymPoint -> SymPoint #

HasConcat Symbols # 

Methods

(&) :: Symbols -> Symbols -> Symbols #

HasConcat MetaPost # 

Methods

(&) :: MetaPost -> MetaPost -> MetaPost #

HasConcat Canvas # 

Methods

(&) :: Canvas -> Canvas -> Canvas #

HasConcat Turtle # 

Methods

(&) :: Turtle -> Turtle -> Turtle #

FromList a => HasConcat [a] # 

Methods

(&) :: [a] -> [a] -> [a] #

class IsHideable a where #

Minimal complete definition

hide

Methods

hide :: a -> a #

enumPics :: HasName a => [a] -> [a] #

data Layer #

Constructors

Front 
Back 

row :: IsPicture a => [a] -> Picture #

column :: IsPicture a => [a] -> Picture #

rowSepBy :: IsPicture a => Numeric -> [a] -> Picture #

fill :: (IsPicture a, IsArea b) => [b] -> a -> Picture #

clip :: IsPicture a => Path -> a -> Picture #

draw :: IsPicture a => [Path] -> a -> Picture #

at :: (IsPicture a, IsPicture b) => Dir -> a -> b -> Picture #

label :: (IsPicture a, IsPicture b) => Dir -> a -> b -> Picture #

overlay :: IsPicture a => [Equation] -> [a] -> Picture #

overlay' :: IsPicture a => [Equation] -> Maybe Int -> [a] -> Picture #

ooalign :: IsPicture a => [a] -> Picture #

class HasDefine a where #

Minimal complete definition

define

Methods

define :: [Equation] -> a -> a #

Instances

HasDefine Area # 

Methods

define :: [Equation] -> Area -> Area #

HasDefine Path # 

Methods

define :: [Equation] -> Path -> Path #

HasDefine Picture # 

Methods

define :: [Equation] -> Picture -> Picture #

scale :: IsPicture a => Numeric -> a -> Picture #

rotate :: IsPicture a => Numeric -> a -> Picture #

skewX :: IsPicture a => Numeric -> a -> Picture #

skewY :: IsPicture a => Numeric -> a -> Picture #

line :: (IsPath a, IsPath b) => a -> b -> Path #

curve :: (IsPath a, IsPath b) => a -> b -> Path #

arrow :: (IsPath b, IsPath a) => a -> b -> Path #

data FrameAttrib #

data PathElemDescr #

Instances

Eq PathElemDescr # 
Read PathElemDescr # 
Show PathElemDescr # 
HasColor PathElemDescr # 
IsHideable PathElemDescr # 
HasJoin PathElemDescr # 
HasStartEndDir PathElemDescr # 
HasStartEndCut PathElemDescr # 
HasArrowHead PathElemDescr # 
HasPen PathElemDescr # 
HasPattern PathElemDescr # 
HasLabel PathElemDescr # 

data Path #

Instances

Eq Path # 

Methods

(==) :: Path -> Path -> Bool #

(/=) :: Path -> Path -> Bool #

Read Path # 
Show Path # 

Methods

showsPrec :: Int -> Path -> ShowS #

show :: Path -> String #

showList :: [Path] -> ShowS #

HasColor Path # 
IsArea Path # 

Methods

toArea :: Path -> Area #

IsPath Path # 

Methods

toPath :: Path -> Path #

toPathList :: [Path] -> Path #

IsHideable Path # 

Methods

hide :: Path -> Path #

HasDefine Path # 

Methods

define :: [Equation] -> Path -> Path #

HasJoin Path # 
HasStartEndDir Path # 
HasStartEndCut Path # 

Methods

setStartCut :: IsName b => b -> Path -> Path #

removeStartCut :: Path -> Path #

setEndCut :: IsName b => b -> Path -> Path #

removeEndCut :: Path -> Path #

HasArrowHead Path # 
HasPen Path # 

Methods

setPen :: Pen -> Path -> Path #

setDefaultPen :: Path -> Path #

getPen :: Path -> Pen #

HasPattern Path # 
HasLabel Path # 

Methods

setLabel :: IsPicture b => Double -> Dir -> b -> Path -> Path #

removeLabel :: Path -> Path #

IsPicture Path # 
HasConcat Path # 

Methods

(&) :: Path -> Path -> Path #

pathLength :: Num a => Path -> a #

getDefault :: Maybe a -> a -> a #

data Frame #

box :: IsPicture a => a -> Frame #

triangle :: IsPicture a => a -> Frame #

triAngle :: IsPicture a => Numeric -> a -> Frame #

rbox :: IsPicture a => Numeric -> a -> Frame #

oval :: IsPicture a => a -> Frame #

circle :: IsPicture a => a -> Frame #

Orphan instances