funcmp-1.9: Functional MetaPost is a Haskell frontend to the MetaPost language

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 # 
Instance details

Defined in FMP.Picture

IsPicture Int # 
Instance details

Defined in FMP.Picture

IsPicture Integer # 
Instance details

Defined in FMP.Picture

IsPicture () # 
Instance details

Defined in FMP.Picture

Methods

toPicture :: () -> Picture #

toPictureList :: [()] -> Picture #

IsPicture Numeric # 
Instance details

Defined in FMP.Picture

IsPicture Frame # 
Instance details

Defined in FMP.Picture

IsPicture Area # 
Instance details

Defined in FMP.Picture

IsPicture Path # 
Instance details

Defined in FMP.Picture

IsPicture Picture # 
Instance details

Defined in FMP.Picture

IsPicture Tree # 
Instance details

Defined in FMP.Tree

IsPicture Canvas # 
Instance details

Defined in FMP.Canvas

IsPicture Turtle # 
Instance details

Defined in FMP.Turtle

IsPicture a => IsPicture [a] # 
Instance details

Defined in FMP.Picture

Methods

toPicture :: [a] -> Picture #

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

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

Defined in FMP.Picture

Methods

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

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

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

Defined in FMP.Picture

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 # 
Instance details

Defined in FMP.Picture

Methods

toPath :: Char -> Path #

toPathList :: [Char] -> Path #

IsPath Point # 
Instance details

Defined in FMP.Picture

Methods

toPath :: Point -> Path #

toPathList :: [Point] -> Path #

IsPath Name # 
Instance details

Defined in FMP.Picture

Methods

toPath :: Name -> Path #

toPathList :: [Name] -> Path #

IsPath Path # 
Instance details

Defined in FMP.Picture

Methods

toPath :: Path -> Path #

toPathList :: [Path] -> Path #

IsPath a => IsPath [a] # 
Instance details

Defined in FMP.Picture

Methods

toPath :: [a] -> Path #

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

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

Defined in FMP.Picture

Methods

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

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

class IsArea a where #

Minimal complete definition

toArea

Methods

toArea :: a -> Area #

Instances
IsArea Area # 
Instance details

Defined in FMP.Picture

Methods

toArea :: Area -> Area #

IsArea Path # 
Instance details

Defined in FMP.Picture

Methods

toArea :: Path -> Area #

IsPath a => IsArea [a] # 
Instance details

Defined in FMP.Picture

Methods

toArea :: [a] -> Area #

class HasPicture a where #

Minimal complete definition

fromPicture

Methods

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

Instances
HasPicture Turtle # 
Instance details

Defined in FMP.Turtle

Methods

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

class HasName a where #

Minimal complete definition

setName, getNames

Methods

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

getNames :: a -> [Name] #

Instances
HasName Frame # 
Instance details

Defined in FMP.Picture

Methods

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

getNames :: Frame -> [Name] #

HasName FrameAttrib # 
Instance details

Defined in FMP.Picture

HasName Picture # 
Instance details

Defined in FMP.Picture

Methods

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

getNames :: Picture -> [Name] #

HasName Tree # 
Instance details

Defined in FMP.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 #

Instances
HasDXY Frame # 
Instance details

Defined in FMP.Picture

class HasExtent a where #

Methods

setWidth :: Numeric -> a -> a #

removeWidth :: a -> a #

getWidth :: a -> Maybe Numeric #

setHeight :: Numeric -> a -> a #

removeHeight :: a -> a #

getHeight :: a -> Maybe Numeric #

class HasLabel a where #

Minimal complete definition

setLabel, removeLabel

Methods

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

removeLabel :: a -> a #

Instances
HasLabel Path # 
Instance details

Defined in FMP.Picture

Methods

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

removeLabel :: Path -> Path #

HasLabel PathElemDescr # 
Instance details

Defined in FMP.Picture

HasLabel Edge # 
Instance details

Defined in FMP.Tree

Methods

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

removeLabel :: Edge -> Edge #

class HasPen a where #

Minimal complete definition

setPen, setDefaultPen, getPen

Methods

setPen :: Pen -> a -> a #

setDefaultPen :: a -> a #

getPen :: a -> Pen #

Instances
HasPen Frame # 
Instance details

Defined in FMP.Picture

HasPen Area # 
Instance details

Defined in FMP.Picture

Methods

setPen :: Pen -> Area -> Area #

setDefaultPen :: Area -> Area #

getPen :: Area -> Pen #

HasPen Path # 
Instance details

Defined in FMP.Picture

Methods

setPen :: Pen -> Path -> Path #

setDefaultPen :: Path -> Path #

getPen :: Path -> Pen #

HasPen PathElemDescr # 
Instance details

Defined in FMP.Picture

HasPen FrameAttrib # 
Instance details

Defined in FMP.Picture

HasPen Edge # 
Instance details

Defined in FMP.Tree

Methods

setPen :: Pen -> Edge -> Edge #

setDefaultPen :: Edge -> Edge #

getPen :: Edge -> Pen #

HasPen Turtle # 
Instance details

Defined in FMP.Turtle

class HasStartEndCut a where #

Minimal complete definition

setStartCut, removeStartCut, setEndCut, removeEndCut

Methods

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

removeStartCut :: a -> a #

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

removeEndCut :: 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 #

Instances
HasJoin Path # 
Instance details

Defined in FMP.Picture

HasJoin PathElemDescr # 
Instance details

Defined in FMP.Picture

class HasShadow a where #

Minimal complete definition

setShadow, clearShadow, getShadow

Methods

setShadow :: (Numeric, Numeric) -> a -> a #

clearShadow :: a -> a #

getShadow :: a -> Maybe (Numeric, Numeric) #

class HasLayer a where #

Minimal complete definition

setBack, setFront, getLayer

Methods

setBack :: a -> a #

setFront :: a -> a #

getLayer :: a -> Layer #

Instances
HasLayer Area # 
Instance details

Defined in FMP.Picture

Methods

setBack :: Area -> Area #

setFront :: Area -> Area #

getLayer :: Area -> Layer #

class HasConcat a where #

Minimal complete definition

(&)

Methods

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

Instances
HasConcat Path # 
Instance details

Defined in FMP.Picture

Methods

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

HasConcat Transformation # 
Instance details

Defined in FMP.Picture

HasConcat MetaPost # 
Instance details

Defined in FMP.Syntax

Methods

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

HasConcat SymNum # 
Instance details

Defined in FMP.Symbols

Methods

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

HasConcat SymPoint # 
Instance details

Defined in FMP.Symbols

Methods

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

HasConcat Symbols # 
Instance details

Defined in FMP.Symbols

Methods

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

HasConcat Canvas # 
Instance details

Defined in FMP.Canvas

Methods

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

HasConcat Turtle # 
Instance details

Defined in FMP.Turtle

Methods

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

FromList a => HasConcat [a] # 
Instance details

Defined in FMP.Picture

Methods

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

class IsHideable a where #

Minimal complete definition

hide

Methods

hide :: a -> a #

Instances
IsHideable Frame # 
Instance details

Defined in FMP.Picture

Methods

hide :: Frame -> Frame #

IsHideable Path # 
Instance details

Defined in FMP.Picture

Methods

hide :: Path -> Path #

IsHideable PathElemDescr # 
Instance details

Defined in FMP.Picture

IsHideable FrameAttrib # 
Instance details

Defined in FMP.Picture

IsHideable Edge # 
Instance details

Defined in FMP.Tree

Methods

hide :: Edge -> Edge #

IsHideable Turtle # 
Instance details

Defined in FMP.Turtle

Methods

hide :: Turtle -> Turtle #

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

data Picture #

Instances
Eq Picture # 
Instance details

Defined in FMP.Picture

Methods

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

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

Read Picture # 
Instance details

Defined in FMP.Picture

Show Picture # 
Instance details

Defined in FMP.Picture

HasBGColor Picture # 
Instance details

Defined in FMP.Picture

HasColor Picture # 
Instance details

Defined in FMP.Picture

HasRelax Picture # 
Instance details

Defined in FMP.Picture

Methods

relax :: Picture #

HasDefine Picture # 
Instance details

Defined in FMP.Picture

Methods

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

HasName Picture # 
Instance details

Defined in FMP.Picture

Methods

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

getNames :: Picture -> [Name] #

IsPicture Picture # 
Instance details

Defined in FMP.Picture

data Layer #

Constructors

Front 
Back 
Instances
Eq Layer # 
Instance details

Defined in FMP.Picture

Methods

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

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

Read Layer # 
Instance details

Defined in FMP.Picture

Show Layer # 
Instance details

Defined in FMP.Picture

Methods

showsPrec :: Int -> Layer -> ShowS #

show :: Layer -> String #

showList :: [Layer] -> ShowS #

data BitDepth #

Constructors

Depth1 
Depth8 
Depth24 
Instances
Eq BitDepth # 
Instance details

Defined in FMP.Picture

Read BitDepth # 
Instance details

Defined in FMP.Picture

Show BitDepth # 
Instance details

Defined in FMP.Picture

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 # 
Instance details

Defined in FMP.Picture

Methods

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

HasDefine Path # 
Instance details

Defined in FMP.Picture

Methods

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

HasDefine Picture # 
Instance details

Defined in FMP.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 Attrib #

Constructors

Attrib 

Fields

Instances
Eq Attrib # 
Instance details

Defined in FMP.Picture

Methods

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

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

Read Attrib # 
Instance details

Defined in FMP.Picture

Show Attrib # 
Instance details

Defined in FMP.Picture

data FrameAttrib #

Instances
Eq FrameAttrib # 
Instance details

Defined in FMP.Picture

Read FrameAttrib # 
Instance details

Defined in FMP.Picture

Show FrameAttrib # 
Instance details

Defined in FMP.Picture

HasBGColor FrameAttrib # 
Instance details

Defined in FMP.Picture

HasColor FrameAttrib # 
Instance details

Defined in FMP.Picture

HasShadow FrameAttrib # 
Instance details

Defined in FMP.Picture

IsHideable FrameAttrib # 
Instance details

Defined in FMP.Picture

HasPen FrameAttrib # 
Instance details

Defined in FMP.Picture

HasPattern FrameAttrib # 
Instance details

Defined in FMP.Picture

HasName FrameAttrib # 
Instance details

Defined in FMP.Picture

data PathElemDescr #

Instances
Eq PathElemDescr # 
Instance details

Defined in FMP.Picture

Read PathElemDescr # 
Instance details

Defined in FMP.Picture

Show PathElemDescr # 
Instance details

Defined in FMP.Picture

HasColor PathElemDescr # 
Instance details

Defined in FMP.Picture

IsHideable PathElemDescr # 
Instance details

Defined in FMP.Picture

HasJoin PathElemDescr # 
Instance details

Defined in FMP.Picture

HasStartEndDir PathElemDescr # 
Instance details

Defined in FMP.Picture

HasStartEndCut PathElemDescr # 
Instance details

Defined in FMP.Picture

HasArrowHead PathElemDescr # 
Instance details

Defined in FMP.Picture

HasPen PathElemDescr # 
Instance details

Defined in FMP.Picture

HasPattern PathElemDescr # 
Instance details

Defined in FMP.Picture

HasLabel PathElemDescr # 
Instance details

Defined in FMP.Picture

data Path #

Instances
Eq Path # 
Instance details

Defined in FMP.Picture

Methods

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

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

Read Path # 
Instance details

Defined in FMP.Picture

Show Path # 
Instance details

Defined in FMP.Picture

Methods

showsPrec :: Int -> Path -> ShowS #

show :: Path -> String #

showList :: [Path] -> ShowS #

HasColor Path # 
Instance details

Defined in FMP.Picture

IsArea Path # 
Instance details

Defined in FMP.Picture

Methods

toArea :: Path -> Area #

IsPath Path # 
Instance details

Defined in FMP.Picture

Methods

toPath :: Path -> Path #

toPathList :: [Path] -> Path #

IsHideable Path # 
Instance details

Defined in FMP.Picture

Methods

hide :: Path -> Path #

HasDefine Path # 
Instance details

Defined in FMP.Picture

Methods

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

HasJoin Path # 
Instance details

Defined in FMP.Picture

HasStartEndDir Path # 
Instance details

Defined in FMP.Picture

HasStartEndCut Path # 
Instance details

Defined in FMP.Picture

Methods

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

removeStartCut :: Path -> Path #

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

removeEndCut :: Path -> Path #

HasArrowHead Path # 
Instance details

Defined in FMP.Picture

HasPen Path # 
Instance details

Defined in FMP.Picture

Methods

setPen :: Pen -> Path -> Path #

setDefaultPen :: Path -> Path #

getPen :: Path -> Pen #

HasPattern Path # 
Instance details

Defined in FMP.Picture

HasLabel Path # 
Instance details

Defined in FMP.Picture

Methods

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

removeLabel :: Path -> Path #

IsPicture Path # 
Instance details

Defined in FMP.Picture

HasConcat Path # 
Instance details

Defined in FMP.Picture

Methods

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

data PathLabel #

Constructors

PathLabel Picture Double Dir 
Instances
Eq PathLabel # 
Instance details

Defined in FMP.Picture

Read PathLabel # 
Instance details

Defined in FMP.Picture

Show PathLabel # 
Instance details

Defined in FMP.Picture

data ArrowHead #

Instances
Eq ArrowHead # 
Instance details

Defined in FMP.Picture

Read ArrowHead # 
Instance details

Defined in FMP.Picture

Show ArrowHead # 
Instance details

Defined in FMP.Picture

HasDefault ArrowHead # 
Instance details

Defined in FMP.Picture

Methods

default' :: ArrowHead #

data CutPic #

Instances
Eq CutPic # 
Instance details

Defined in FMP.Picture

Methods

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

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

Read CutPic # 
Instance details

Defined in FMP.Picture

Show CutPic # 
Instance details

Defined in FMP.Picture

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

data Dir' #

Instances
Eq Dir' # 
Instance details

Defined in FMP.Picture

Methods

(==) :: Dir' -> Dir' -> Bool #

(/=) :: Dir' -> Dir' -> Bool #

Read Dir' # 
Instance details

Defined in FMP.Picture

Show Dir' # 
Instance details

Defined in FMP.Picture

Methods

showsPrec :: Int -> Dir' -> ShowS #

show :: Dir' -> String #

showList :: [Dir'] -> ShowS #

data Tension #

Instances
Eq Tension # 
Instance details

Defined in FMP.Picture

Methods

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

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

Read Tension # 
Instance details

Defined in FMP.Picture

Show Tension # 
Instance details

Defined in FMP.Picture

data Area #

Constructors

Area AreaDescr Path 
Instances
Eq Area # 
Instance details

Defined in FMP.Picture

Methods

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

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

Read Area # 
Instance details

Defined in FMP.Picture

Show Area # 
Instance details

Defined in FMP.Picture

Methods

showsPrec :: Int -> Area -> ShowS #

show :: Area -> String #

showList :: [Area] -> ShowS #

HasColor Area # 
Instance details

Defined in FMP.Picture

IsArea Area # 
Instance details

Defined in FMP.Picture

Methods

toArea :: Area -> Area #

HasLayer Area # 
Instance details

Defined in FMP.Picture

Methods

setBack :: Area -> Area #

setFront :: Area -> Area #

getLayer :: Area -> Layer #

HasDefine Area # 
Instance details

Defined in FMP.Picture

Methods

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

HasPen Area # 
Instance details

Defined in FMP.Picture

Methods

setPen :: Pen -> Area -> Area #

setDefaultPen :: Area -> Area #

getPen :: Area -> Pen #

IsPicture Area # 
Instance details

Defined in FMP.Picture

data AreaDescr #

Constructors

AreaDescr 

Fields

Instances
Eq AreaDescr # 
Instance details

Defined in FMP.Picture

Read AreaDescr # 
Instance details

Defined in FMP.Picture

Show AreaDescr # 
Instance details

Defined in FMP.Picture

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

data Frame #

Instances
Show Frame # 
Instance details

Defined in FMP.Picture

Methods

showsPrec :: Int -> Frame -> ShowS #

show :: Frame -> String #

showList :: [Frame] -> ShowS #

HasBGColor Frame # 
Instance details

Defined in FMP.Picture

HasColor Frame # 
Instance details

Defined in FMP.Picture

HasRelax Frame # 
Instance details

Defined in FMP.Picture

Methods

relax :: Frame #

HasShadow Frame # 
Instance details

Defined in FMP.Picture

IsHideable Frame # 
Instance details

Defined in FMP.Picture

Methods

hide :: Frame -> Frame #

HasPen Frame # 
Instance details

Defined in FMP.Picture

HasPattern Frame # 
Instance details

Defined in FMP.Picture

HasExtent Frame # 
Instance details

Defined in FMP.Picture

HasDXY Frame # 
Instance details

Defined in FMP.Picture

HasName Frame # 
Instance details

Defined in FMP.Picture

Methods

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

getNames :: Frame -> [Name] #

IsPicture Frame # 
Instance details

Defined in FMP.Picture

data AbsOrRel #

Instances
Show AbsOrRel # 
Instance details

Defined in FMP.Picture

data ExtentAttrib #

Instances
Show ExtentAttrib # 
Instance details

Defined in FMP.Picture

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

HasDefault Color # 
Instance details

Methods

default' :: Color #