The PicMisc module defines various operators that come in handy once in a while:
{- A ResizeablePicture is a function that may produce
a different picture depending on the size it should
be displayed at.
-}
type ResizeablePicture = Size -> Picture
{-
create a pie given the radius and a list of samples
giving the sizes of the slices
-}
pie :: Unit -> [Unit] -> Picture
{- translate a picture using polar coordinates -}
translatePolar :: (Unit,Rotation) -> Picture -> Picture
{- fill the picture or not -}
fillPicture :: Picture -> Picture
noFillPicture :: Picture -> Picture
{- filled circles and rectangles -}
fcircle :: Unit -> Picture
frectangle :: Unit -> Picture
{- return picture of an arrowed line with a filled triangle arrow -}
leftArrow :: Unit -> Picture
rightArrow :: Unit -> Picture
upArrow :: Unit -> Picture
downArrow :: Unit -> Picture
{- pictures of triangles (not filled), argument gives length of sides. -}
leftTriangle :: Unit -> Picture
rightTriangle :: Unit -> Picture
downTriangle :: Unit -> Picture
upTriangle :: Unit -> Picture
{- combinators for emedding a picture inside
an oval or rectangular box
-}
ovalBox :: Picture -> Picture
rectBox :: String -> Picture
{- arrange a label within a `frame' picture. -}
overlayAnchor :: Picture -- the frame
-> Size -- internal padding/border width
-> Picture -- label
-> CompassDirection --anchor point for label
-> Picture -- label overlaid at anchor point within frame