packages feed

wumpus-basic 0.4.0 → 0.5.0

raw patch · 24 files changed

+2925/−2797 lines, 24 filesdep −monadLibdep ~wumpus-corePVP ok

version bump matches the API change (PVP)

Dependencies removed: monadLib

Dependency ranges changed: wumpus-core

API changes (from Hackage documentation)

- Wumpus.Basic.Monads.TurtleMonad: instance MonadT (TurtleT u)
- Wumpus.Basic.Paths.Base: BCurveSeg :: u -> (Curve u) -> BPathSeg u
- Wumpus.Basic.Paths.Base: BLineSeg :: u -> (Line u) -> BPathSeg u
- Wumpus.Basic.Paths.Base: BPath :: u -> Seq (BPathSeg u) -> BPath u
- Wumpus.Basic.Paths.Base: data BPath u
- Wumpus.Basic.Paths.Base: data BPathSeg u
- Wumpus.Basic.Paths.Base: instance (Eq u) => Eq (BPath u)
- Wumpus.Basic.Paths.Base: instance (Eq u) => Eq (BPathSeg u)
- Wumpus.Basic.Paths.Base: instance (Ord u) => Ord (BPath u)
- Wumpus.Basic.Paths.Base: instance (Ord u) => Ord (BPathSeg u)
- Wumpus.Basic.Paths.Base: instance (Show u) => Show (BPath u)
- Wumpus.Basic.Paths.Base: instance (Show u) => Show (BPathSeg u)
- Wumpus.Basic.Paths.Base: toPath :: BPath u -> Maybe (Path u)
- Wumpus.Basic.Paths.Base: toPathU :: BPath u -> Path u
- Wumpus.Basic.Paths.Base: type BPathF u = Point2 u -> Point2 u -> BPath u
- Wumpus.Basic.SVGColours: aliceBlue :: DRGB
- Wumpus.Basic.SVGColours: antiqueWhite :: DRGB
- Wumpus.Basic.SVGColours: aqua :: DRGB
- Wumpus.Basic.SVGColours: aquamarine :: DRGB
- Wumpus.Basic.SVGColours: azure :: DRGB
- Wumpus.Basic.SVGColours: beige :: DRGB
- Wumpus.Basic.SVGColours: bisque :: DRGB
- Wumpus.Basic.SVGColours: black :: DRGB
- Wumpus.Basic.SVGColours: blanchedAlmond :: DRGB
- Wumpus.Basic.SVGColours: blue :: DRGB
- Wumpus.Basic.SVGColours: blueViolet :: DRGB
- Wumpus.Basic.SVGColours: brown :: DRGB
- Wumpus.Basic.SVGColours: burlywood :: DRGB
- Wumpus.Basic.SVGColours: cadetBlue :: DRGB
- Wumpus.Basic.SVGColours: chartreuse :: DRGB
- Wumpus.Basic.SVGColours: chocolate :: DRGB
- Wumpus.Basic.SVGColours: coral :: DRGB
- Wumpus.Basic.SVGColours: cornflowerBlue :: DRGB
- Wumpus.Basic.SVGColours: cornsilk :: DRGB
- Wumpus.Basic.SVGColours: crimson :: DRGB
- Wumpus.Basic.SVGColours: cyan :: DRGB
- Wumpus.Basic.SVGColours: darkBlue :: DRGB
- Wumpus.Basic.SVGColours: darkCyan :: DRGB
- Wumpus.Basic.SVGColours: darkGoldenrod :: DRGB
- Wumpus.Basic.SVGColours: darkGray :: DRGB
- Wumpus.Basic.SVGColours: darkGreen :: DRGB
- Wumpus.Basic.SVGColours: darkGrey :: DRGB
- Wumpus.Basic.SVGColours: darkKhaki :: DRGB
- Wumpus.Basic.SVGColours: darkMagenta :: DRGB
- Wumpus.Basic.SVGColours: darkOliveGreen :: DRGB
- Wumpus.Basic.SVGColours: darkOrange :: DRGB
- Wumpus.Basic.SVGColours: darkOrchid :: DRGB
- Wumpus.Basic.SVGColours: darkRed :: DRGB
- Wumpus.Basic.SVGColours: darkSalmon :: DRGB
- Wumpus.Basic.SVGColours: darkSeaGreen :: DRGB
- Wumpus.Basic.SVGColours: darkSlateBlue :: DRGB
- Wumpus.Basic.SVGColours: darkSlateGray :: DRGB
- Wumpus.Basic.SVGColours: darkSlateGrey :: DRGB
- Wumpus.Basic.SVGColours: darkTurquoise :: DRGB
- Wumpus.Basic.SVGColours: darkViolet :: DRGB
- Wumpus.Basic.SVGColours: deepPink :: DRGB
- Wumpus.Basic.SVGColours: deepSkyBlue :: DRGB
- Wumpus.Basic.SVGColours: dimGray :: DRGB
- Wumpus.Basic.SVGColours: dimGrey :: DRGB
- Wumpus.Basic.SVGColours: dodgerBlue :: DRGB
- Wumpus.Basic.SVGColours: firebrick :: DRGB
- Wumpus.Basic.SVGColours: floralWhite :: DRGB
- Wumpus.Basic.SVGColours: forestGreen :: DRGB
- Wumpus.Basic.SVGColours: fuchsia :: DRGB
- Wumpus.Basic.SVGColours: gainsboro :: DRGB
- Wumpus.Basic.SVGColours: ghostWhite :: DRGB
- Wumpus.Basic.SVGColours: gold :: DRGB
- Wumpus.Basic.SVGColours: goldenrod :: DRGB
- Wumpus.Basic.SVGColours: gray :: DRGB
- Wumpus.Basic.SVGColours: green :: DRGB
- Wumpus.Basic.SVGColours: greenYellow :: DRGB
- Wumpus.Basic.SVGColours: grey :: DRGB
- Wumpus.Basic.SVGColours: honeydew :: DRGB
- Wumpus.Basic.SVGColours: hotPink :: DRGB
- Wumpus.Basic.SVGColours: indianRed :: DRGB
- Wumpus.Basic.SVGColours: indigo :: DRGB
- Wumpus.Basic.SVGColours: ivory :: DRGB
- Wumpus.Basic.SVGColours: khaki :: DRGB
- Wumpus.Basic.SVGColours: lavender :: DRGB
- Wumpus.Basic.SVGColours: lavenderBlush :: DRGB
- Wumpus.Basic.SVGColours: lawnGreen :: DRGB
- Wumpus.Basic.SVGColours: lemonChiffon :: DRGB
- Wumpus.Basic.SVGColours: lightBlue :: DRGB
- Wumpus.Basic.SVGColours: lightCoral :: DRGB
- Wumpus.Basic.SVGColours: lightCyan :: DRGB
- Wumpus.Basic.SVGColours: lightGoldenrodYellow :: DRGB
- Wumpus.Basic.SVGColours: lightGray :: DRGB
- Wumpus.Basic.SVGColours: lightGreen :: DRGB
- Wumpus.Basic.SVGColours: lightGrey :: DRGB
- Wumpus.Basic.SVGColours: lightPink :: DRGB
- Wumpus.Basic.SVGColours: lightSalmon :: DRGB
- Wumpus.Basic.SVGColours: lightSeaGreen :: DRGB
- Wumpus.Basic.SVGColours: lightSkyBlue :: DRGB
- Wumpus.Basic.SVGColours: lightSlateGray :: DRGB
- Wumpus.Basic.SVGColours: lightSlateGrey :: DRGB
- Wumpus.Basic.SVGColours: lightSteelBlue :: DRGB
- Wumpus.Basic.SVGColours: lightYellow :: DRGB
- Wumpus.Basic.SVGColours: lime :: DRGB
- Wumpus.Basic.SVGColours: limeGreen :: DRGB
- Wumpus.Basic.SVGColours: linen :: DRGB
- Wumpus.Basic.SVGColours: magenta :: DRGB
- Wumpus.Basic.SVGColours: maroon :: DRGB
- Wumpus.Basic.SVGColours: mediumAquamarine :: DRGB
- Wumpus.Basic.SVGColours: mediumBlue :: DRGB
- Wumpus.Basic.SVGColours: mediumOrchid :: DRGB
- Wumpus.Basic.SVGColours: mediumPurple :: DRGB
- Wumpus.Basic.SVGColours: mediumSeaGreen :: DRGB
- Wumpus.Basic.SVGColours: mediumSlateBlue :: DRGB
- Wumpus.Basic.SVGColours: mediumSpringGreen :: DRGB
- Wumpus.Basic.SVGColours: mediumTurquoise :: DRGB
- Wumpus.Basic.SVGColours: mediumVioletRed :: DRGB
- Wumpus.Basic.SVGColours: midnightBlue :: DRGB
- Wumpus.Basic.SVGColours: mintcream :: DRGB
- Wumpus.Basic.SVGColours: mistyrose :: DRGB
- Wumpus.Basic.SVGColours: moccasin :: DRGB
- Wumpus.Basic.SVGColours: navajoWhite :: DRGB
- Wumpus.Basic.SVGColours: navy :: DRGB
- Wumpus.Basic.SVGColours: oldlace :: DRGB
- Wumpus.Basic.SVGColours: olive :: DRGB
- Wumpus.Basic.SVGColours: oliveDrab :: DRGB
- Wumpus.Basic.SVGColours: orange :: DRGB
- Wumpus.Basic.SVGColours: orangeRed :: DRGB
- Wumpus.Basic.SVGColours: orchid :: DRGB
- Wumpus.Basic.SVGColours: paleGoldenrod :: DRGB
- Wumpus.Basic.SVGColours: paleGreen :: DRGB
- Wumpus.Basic.SVGColours: paleTurquoise :: DRGB
- Wumpus.Basic.SVGColours: paleVioletRed :: DRGB
- Wumpus.Basic.SVGColours: papayawhip :: DRGB
- Wumpus.Basic.SVGColours: peachpuff :: DRGB
- Wumpus.Basic.SVGColours: peru :: DRGB
- Wumpus.Basic.SVGColours: pink :: DRGB
- Wumpus.Basic.SVGColours: plum :: DRGB
- Wumpus.Basic.SVGColours: powderBlue :: DRGB
- Wumpus.Basic.SVGColours: purple :: DRGB
- Wumpus.Basic.SVGColours: red :: DRGB
- Wumpus.Basic.SVGColours: rosyBrown :: DRGB
- Wumpus.Basic.SVGColours: royalBlue :: DRGB
- Wumpus.Basic.SVGColours: saddleBrown :: DRGB
- Wumpus.Basic.SVGColours: salmon :: DRGB
- Wumpus.Basic.SVGColours: sandyBrown :: DRGB
- Wumpus.Basic.SVGColours: seaGreen :: DRGB
- Wumpus.Basic.SVGColours: seashell :: DRGB
- Wumpus.Basic.SVGColours: sienna :: DRGB
- Wumpus.Basic.SVGColours: silver :: DRGB
- Wumpus.Basic.SVGColours: skyBlue :: DRGB
- Wumpus.Basic.SVGColours: slateBlue :: DRGB
- Wumpus.Basic.SVGColours: slateGray :: DRGB
- Wumpus.Basic.SVGColours: slateGrey :: DRGB
- Wumpus.Basic.SVGColours: snow :: DRGB
- Wumpus.Basic.SVGColours: springGreen :: DRGB
- Wumpus.Basic.SVGColours: steelBlue :: DRGB
- Wumpus.Basic.SVGColours: tan :: DRGB
- Wumpus.Basic.SVGColours: teal :: DRGB
- Wumpus.Basic.SVGColours: thistle :: DRGB
- Wumpus.Basic.SVGColours: tomato :: DRGB
- Wumpus.Basic.SVGColours: turquoise :: DRGB
- Wumpus.Basic.SVGColours: violet :: DRGB
- Wumpus.Basic.SVGColours: wheat :: DRGB
- Wumpus.Basic.SVGColours: white :: DRGB
- Wumpus.Basic.SVGColours: whitesmoke :: DRGB
- Wumpus.Basic.SVGColours: yellow :: DRGB
- Wumpus.Basic.SVGColours: yellowGreen :: DRGB
- Wumpus.Basic.X11Colours: antiqueWhite1 :: DRGB
- Wumpus.Basic.X11Colours: antiqueWhite2 :: DRGB
- Wumpus.Basic.X11Colours: antiqueWhite3 :: DRGB
- Wumpus.Basic.X11Colours: antiqueWhite4 :: DRGB
- Wumpus.Basic.X11Colours: aquamarine1 :: DRGB
- Wumpus.Basic.X11Colours: aquamarine2 :: DRGB
- Wumpus.Basic.X11Colours: aquamarine3 :: DRGB
- Wumpus.Basic.X11Colours: aquamarine4 :: DRGB
- Wumpus.Basic.X11Colours: azure1 :: DRGB
- Wumpus.Basic.X11Colours: azure2 :: DRGB
- Wumpus.Basic.X11Colours: azure3 :: DRGB
- Wumpus.Basic.X11Colours: azure4 :: DRGB
- Wumpus.Basic.X11Colours: bisque1 :: DRGB
- Wumpus.Basic.X11Colours: bisque2 :: DRGB
- Wumpus.Basic.X11Colours: bisque3 :: DRGB
- Wumpus.Basic.X11Colours: bisque4 :: DRGB
- Wumpus.Basic.X11Colours: blue1 :: DRGB
- Wumpus.Basic.X11Colours: blue2 :: DRGB
- Wumpus.Basic.X11Colours: blue3 :: DRGB
- Wumpus.Basic.X11Colours: blue4 :: DRGB
- Wumpus.Basic.X11Colours: brown1 :: DRGB
- Wumpus.Basic.X11Colours: brown2 :: DRGB
- Wumpus.Basic.X11Colours: brown3 :: DRGB
- Wumpus.Basic.X11Colours: brown4 :: DRGB
- Wumpus.Basic.X11Colours: burlywood1 :: DRGB
- Wumpus.Basic.X11Colours: burlywood2 :: DRGB
- Wumpus.Basic.X11Colours: burlywood3 :: DRGB
- Wumpus.Basic.X11Colours: burlywood4 :: DRGB
- Wumpus.Basic.X11Colours: cadetBlue1 :: DRGB
- Wumpus.Basic.X11Colours: cadetBlue2 :: DRGB
- Wumpus.Basic.X11Colours: cadetBlue3 :: DRGB
- Wumpus.Basic.X11Colours: cadetBlue4 :: DRGB
- Wumpus.Basic.X11Colours: chartreuse1 :: DRGB
- Wumpus.Basic.X11Colours: chartreuse2 :: DRGB
- Wumpus.Basic.X11Colours: chartreuse3 :: DRGB
- Wumpus.Basic.X11Colours: chartreuse4 :: DRGB
- Wumpus.Basic.X11Colours: chocolate1 :: DRGB
- Wumpus.Basic.X11Colours: chocolate2 :: DRGB
- Wumpus.Basic.X11Colours: chocolate3 :: DRGB
- Wumpus.Basic.X11Colours: chocolate4 :: DRGB
- Wumpus.Basic.X11Colours: coral1 :: DRGB
- Wumpus.Basic.X11Colours: coral2 :: DRGB
- Wumpus.Basic.X11Colours: coral3 :: DRGB
- Wumpus.Basic.X11Colours: coral4 :: DRGB
- Wumpus.Basic.X11Colours: cornsilk1 :: DRGB
- Wumpus.Basic.X11Colours: cornsilk2 :: DRGB
- Wumpus.Basic.X11Colours: cornsilk3 :: DRGB
- Wumpus.Basic.X11Colours: cornsilk4 :: DRGB
- Wumpus.Basic.X11Colours: cyan1 :: DRGB
- Wumpus.Basic.X11Colours: cyan2 :: DRGB
- Wumpus.Basic.X11Colours: cyan3 :: DRGB
- Wumpus.Basic.X11Colours: cyan4 :: DRGB
- Wumpus.Basic.X11Colours: darkGoldenrod1 :: DRGB
- Wumpus.Basic.X11Colours: darkGoldenrod2 :: DRGB
- Wumpus.Basic.X11Colours: darkGoldenrod3 :: DRGB
- Wumpus.Basic.X11Colours: darkGoldenrod4 :: DRGB
- Wumpus.Basic.X11Colours: darkOliveGreen1 :: DRGB
- Wumpus.Basic.X11Colours: darkOliveGreen2 :: DRGB
- Wumpus.Basic.X11Colours: darkOliveGreen3 :: DRGB
- Wumpus.Basic.X11Colours: darkOliveGreen4 :: DRGB
- Wumpus.Basic.X11Colours: darkOrange1 :: DRGB
- Wumpus.Basic.X11Colours: darkOrange2 :: DRGB
- Wumpus.Basic.X11Colours: darkOrange3 :: DRGB
- Wumpus.Basic.X11Colours: darkOrange4 :: DRGB
- Wumpus.Basic.X11Colours: darkOrchid1 :: DRGB
- Wumpus.Basic.X11Colours: darkOrchid2 :: DRGB
- Wumpus.Basic.X11Colours: darkOrchid3 :: DRGB
- Wumpus.Basic.X11Colours: darkOrchid4 :: DRGB
- Wumpus.Basic.X11Colours: darkSeaGreen1 :: DRGB
- Wumpus.Basic.X11Colours: darkSeaGreen2 :: DRGB
- Wumpus.Basic.X11Colours: darkSeaGreen3 :: DRGB
- Wumpus.Basic.X11Colours: darkSeaGreen4 :: DRGB
- Wumpus.Basic.X11Colours: darkSlateGray1 :: DRGB
- Wumpus.Basic.X11Colours: darkSlateGray2 :: DRGB
- Wumpus.Basic.X11Colours: darkSlateGray3 :: DRGB
- Wumpus.Basic.X11Colours: darkSlateGray4 :: DRGB
- Wumpus.Basic.X11Colours: deepPink1 :: DRGB
- Wumpus.Basic.X11Colours: deepPink2 :: DRGB
- Wumpus.Basic.X11Colours: deepPink3 :: DRGB
- Wumpus.Basic.X11Colours: deepPink4 :: DRGB
- Wumpus.Basic.X11Colours: deepSkyBlue1 :: DRGB
- Wumpus.Basic.X11Colours: deepSkyBlue2 :: DRGB
- Wumpus.Basic.X11Colours: deepSkyBlue3 :: DRGB
- Wumpus.Basic.X11Colours: deepSkyBlue4 :: DRGB
- Wumpus.Basic.X11Colours: dodgerBlue1 :: DRGB
- Wumpus.Basic.X11Colours: dodgerBlue2 :: DRGB
- Wumpus.Basic.X11Colours: dodgerBlue3 :: DRGB
- Wumpus.Basic.X11Colours: dodgerBlue4 :: DRGB
- Wumpus.Basic.X11Colours: firebrick1 :: DRGB
- Wumpus.Basic.X11Colours: firebrick2 :: DRGB
- Wumpus.Basic.X11Colours: firebrick3 :: DRGB
- Wumpus.Basic.X11Colours: firebrick4 :: DRGB
- Wumpus.Basic.X11Colours: gold1 :: DRGB
- Wumpus.Basic.X11Colours: gold2 :: DRGB
- Wumpus.Basic.X11Colours: gold3 :: DRGB
- Wumpus.Basic.X11Colours: gold4 :: DRGB
- Wumpus.Basic.X11Colours: goldenrod1 :: DRGB
- Wumpus.Basic.X11Colours: goldenrod2 :: DRGB
- Wumpus.Basic.X11Colours: goldenrod3 :: DRGB
- Wumpus.Basic.X11Colours: goldenrod4 :: DRGB
- Wumpus.Basic.X11Colours: gray0 :: DRGB
- Wumpus.Basic.X11Colours: green0 :: DRGB
- Wumpus.Basic.X11Colours: green1 :: DRGB
- Wumpus.Basic.X11Colours: green2 :: DRGB
- Wumpus.Basic.X11Colours: green3 :: DRGB
- Wumpus.Basic.X11Colours: green4 :: DRGB
- Wumpus.Basic.X11Colours: grey0 :: DRGB
- Wumpus.Basic.X11Colours: honeydew1 :: DRGB
- Wumpus.Basic.X11Colours: honeydew2 :: DRGB
- Wumpus.Basic.X11Colours: honeydew3 :: DRGB
- Wumpus.Basic.X11Colours: honeydew4 :: DRGB
- Wumpus.Basic.X11Colours: hotPink1 :: DRGB
- Wumpus.Basic.X11Colours: hotPink2 :: DRGB
- Wumpus.Basic.X11Colours: hotPink3 :: DRGB
- Wumpus.Basic.X11Colours: hotPink4 :: DRGB
- Wumpus.Basic.X11Colours: indianRed1 :: DRGB
- Wumpus.Basic.X11Colours: indianRed2 :: DRGB
- Wumpus.Basic.X11Colours: indianRed3 :: DRGB
- Wumpus.Basic.X11Colours: indianRed4 :: DRGB
- Wumpus.Basic.X11Colours: ivory1 :: DRGB
- Wumpus.Basic.X11Colours: ivory2 :: DRGB
- Wumpus.Basic.X11Colours: ivory3 :: DRGB
- Wumpus.Basic.X11Colours: ivory4 :: DRGB
- Wumpus.Basic.X11Colours: khaki1 :: DRGB
- Wumpus.Basic.X11Colours: khaki2 :: DRGB
- Wumpus.Basic.X11Colours: khaki3 :: DRGB
- Wumpus.Basic.X11Colours: khaki4 :: DRGB
- Wumpus.Basic.X11Colours: lavenderBlush1 :: DRGB
- Wumpus.Basic.X11Colours: lavenderBlush2 :: DRGB
- Wumpus.Basic.X11Colours: lavenderBlush3 :: DRGB
- Wumpus.Basic.X11Colours: lavenderBlush4 :: DRGB
- Wumpus.Basic.X11Colours: lemonChiffon1 :: DRGB
- Wumpus.Basic.X11Colours: lemonChiffon2 :: DRGB
- Wumpus.Basic.X11Colours: lemonChiffon3 :: DRGB
- Wumpus.Basic.X11Colours: lemonChiffon4 :: DRGB
- Wumpus.Basic.X11Colours: lightBlue1 :: DRGB
- Wumpus.Basic.X11Colours: lightBlue2 :: DRGB
- Wumpus.Basic.X11Colours: lightBlue3 :: DRGB
- Wumpus.Basic.X11Colours: lightBlue4 :: DRGB
- Wumpus.Basic.X11Colours: lightCyan1 :: DRGB
- Wumpus.Basic.X11Colours: lightCyan2 :: DRGB
- Wumpus.Basic.X11Colours: lightCyan3 :: DRGB
- Wumpus.Basic.X11Colours: lightCyan4 :: DRGB
- Wumpus.Basic.X11Colours: lightGoldenrod1 :: DRGB
- Wumpus.Basic.X11Colours: lightGoldenrod2 :: DRGB
- Wumpus.Basic.X11Colours: lightGoldenrod3 :: DRGB
- Wumpus.Basic.X11Colours: lightGoldenrod4 :: DRGB
- Wumpus.Basic.X11Colours: lightPink1 :: DRGB
- Wumpus.Basic.X11Colours: lightPink2 :: DRGB
- Wumpus.Basic.X11Colours: lightPink3 :: DRGB
- Wumpus.Basic.X11Colours: lightPink4 :: DRGB
- Wumpus.Basic.X11Colours: lightSalmon1 :: DRGB
- Wumpus.Basic.X11Colours: lightSalmon2 :: DRGB
- Wumpus.Basic.X11Colours: lightSalmon3 :: DRGB
- Wumpus.Basic.X11Colours: lightSalmon4 :: DRGB
- Wumpus.Basic.X11Colours: lightSkyBlue1 :: DRGB
- Wumpus.Basic.X11Colours: lightSkyBlue2 :: DRGB
- Wumpus.Basic.X11Colours: lightSkyBlue3 :: DRGB
- Wumpus.Basic.X11Colours: lightSkyBlue4 :: DRGB
- Wumpus.Basic.X11Colours: lightSteelBlue1 :: DRGB
- Wumpus.Basic.X11Colours: lightSteelBlue2 :: DRGB
- Wumpus.Basic.X11Colours: lightSteelBlue3 :: DRGB
- Wumpus.Basic.X11Colours: lightSteelBlue4 :: DRGB
- Wumpus.Basic.X11Colours: lightYellow1 :: DRGB
- Wumpus.Basic.X11Colours: lightYellow2 :: DRGB
- Wumpus.Basic.X11Colours: lightYellow3 :: DRGB
- Wumpus.Basic.X11Colours: lightYellow4 :: DRGB
- Wumpus.Basic.X11Colours: magenta1 :: DRGB
- Wumpus.Basic.X11Colours: magenta2 :: DRGB
- Wumpus.Basic.X11Colours: magenta3 :: DRGB
- Wumpus.Basic.X11Colours: magenta4 :: DRGB
- Wumpus.Basic.X11Colours: maroon0 :: DRGB
- Wumpus.Basic.X11Colours: maroon1 :: DRGB
- Wumpus.Basic.X11Colours: maroon2 :: DRGB
- Wumpus.Basic.X11Colours: maroon3 :: DRGB
- Wumpus.Basic.X11Colours: maroon4 :: DRGB
- Wumpus.Basic.X11Colours: mediumOrchid1 :: DRGB
- Wumpus.Basic.X11Colours: mediumOrchid2 :: DRGB
- Wumpus.Basic.X11Colours: mediumOrchid3 :: DRGB
- Wumpus.Basic.X11Colours: mediumOrchid4 :: DRGB
- Wumpus.Basic.X11Colours: mediumPurple1 :: DRGB
- Wumpus.Basic.X11Colours: mediumPurple2 :: DRGB
- Wumpus.Basic.X11Colours: mediumPurple3 :: DRGB
- Wumpus.Basic.X11Colours: mediumPurple4 :: DRGB
- Wumpus.Basic.X11Colours: mistyRose1 :: DRGB
- Wumpus.Basic.X11Colours: mistyRose2 :: DRGB
- Wumpus.Basic.X11Colours: mistyRose3 :: DRGB
- Wumpus.Basic.X11Colours: mistyRose4 :: DRGB
- Wumpus.Basic.X11Colours: navajoWhite1 :: DRGB
- Wumpus.Basic.X11Colours: navajoWhite2 :: DRGB
- Wumpus.Basic.X11Colours: navajoWhite3 :: DRGB
- Wumpus.Basic.X11Colours: navajoWhite4 :: DRGB
- Wumpus.Basic.X11Colours: oliveDrab1 :: DRGB
- Wumpus.Basic.X11Colours: oliveDrab2 :: DRGB
- Wumpus.Basic.X11Colours: oliveDrab3 :: DRGB
- Wumpus.Basic.X11Colours: oliveDrab4 :: DRGB
- Wumpus.Basic.X11Colours: orange1 :: DRGB
- Wumpus.Basic.X11Colours: orange2 :: DRGB
- Wumpus.Basic.X11Colours: orange3 :: DRGB
- Wumpus.Basic.X11Colours: orange4 :: DRGB
- Wumpus.Basic.X11Colours: orangeRed1 :: DRGB
- Wumpus.Basic.X11Colours: orangeRed2 :: DRGB
- Wumpus.Basic.X11Colours: orangeRed3 :: DRGB
- Wumpus.Basic.X11Colours: orangeRed4 :: DRGB
- Wumpus.Basic.X11Colours: orchid1 :: DRGB
- Wumpus.Basic.X11Colours: orchid2 :: DRGB
- Wumpus.Basic.X11Colours: orchid3 :: DRGB
- Wumpus.Basic.X11Colours: orchid4 :: DRGB
- Wumpus.Basic.X11Colours: paleGreen1 :: DRGB
- Wumpus.Basic.X11Colours: paleGreen2 :: DRGB
- Wumpus.Basic.X11Colours: paleGreen3 :: DRGB
- Wumpus.Basic.X11Colours: paleGreen4 :: DRGB
- Wumpus.Basic.X11Colours: paleTurquoise1 :: DRGB
- Wumpus.Basic.X11Colours: paleTurquoise2 :: DRGB
- Wumpus.Basic.X11Colours: paleTurquoise3 :: DRGB
- Wumpus.Basic.X11Colours: paleTurquoise4 :: DRGB
- Wumpus.Basic.X11Colours: paleVioletRed1 :: DRGB
- Wumpus.Basic.X11Colours: paleVioletRed2 :: DRGB
- Wumpus.Basic.X11Colours: paleVioletRed3 :: DRGB
- Wumpus.Basic.X11Colours: paleVioletRed4 :: DRGB
- Wumpus.Basic.X11Colours: peachPuff1 :: DRGB
- Wumpus.Basic.X11Colours: peachPuff2 :: DRGB
- Wumpus.Basic.X11Colours: peachPuff3 :: DRGB
- Wumpus.Basic.X11Colours: peachPuff4 :: DRGB
- Wumpus.Basic.X11Colours: pink1 :: DRGB
- Wumpus.Basic.X11Colours: pink2 :: DRGB
- Wumpus.Basic.X11Colours: pink3 :: DRGB
- Wumpus.Basic.X11Colours: pink4 :: DRGB
- Wumpus.Basic.X11Colours: plum1 :: DRGB
- Wumpus.Basic.X11Colours: plum2 :: DRGB
- Wumpus.Basic.X11Colours: plum3 :: DRGB
- Wumpus.Basic.X11Colours: plum4 :: DRGB
- Wumpus.Basic.X11Colours: purple0 :: DRGB
- Wumpus.Basic.X11Colours: purple1 :: DRGB
- Wumpus.Basic.X11Colours: purple2 :: DRGB
- Wumpus.Basic.X11Colours: purple3 :: DRGB
- Wumpus.Basic.X11Colours: purple4 :: DRGB
- Wumpus.Basic.X11Colours: red1 :: DRGB
- Wumpus.Basic.X11Colours: red2 :: DRGB
- Wumpus.Basic.X11Colours: red3 :: DRGB
- Wumpus.Basic.X11Colours: red4 :: DRGB
- Wumpus.Basic.X11Colours: rosyBrown1 :: DRGB
- Wumpus.Basic.X11Colours: rosyBrown2 :: DRGB
- Wumpus.Basic.X11Colours: rosyBrown3 :: DRGB
- Wumpus.Basic.X11Colours: rosyBrown4 :: DRGB
- Wumpus.Basic.X11Colours: royalBlue1 :: DRGB
- Wumpus.Basic.X11Colours: royalBlue2 :: DRGB
- Wumpus.Basic.X11Colours: royalBlue3 :: DRGB
- Wumpus.Basic.X11Colours: royalBlue4 :: DRGB
- Wumpus.Basic.X11Colours: salmon1 :: DRGB
- Wumpus.Basic.X11Colours: salmon2 :: DRGB
- Wumpus.Basic.X11Colours: salmon3 :: DRGB
- Wumpus.Basic.X11Colours: salmon4 :: DRGB
- Wumpus.Basic.X11Colours: seaGreen1 :: DRGB
- Wumpus.Basic.X11Colours: seaGreen2 :: DRGB
- Wumpus.Basic.X11Colours: seaGreen3 :: DRGB
- Wumpus.Basic.X11Colours: seaGreen4 :: DRGB
- Wumpus.Basic.X11Colours: seashell1 :: DRGB
- Wumpus.Basic.X11Colours: seashell2 :: DRGB
- Wumpus.Basic.X11Colours: seashell3 :: DRGB
- Wumpus.Basic.X11Colours: seashell4 :: DRGB
- Wumpus.Basic.X11Colours: sienna1 :: DRGB
- Wumpus.Basic.X11Colours: sienna2 :: DRGB
- Wumpus.Basic.X11Colours: sienna3 :: DRGB
- Wumpus.Basic.X11Colours: sienna4 :: DRGB
- Wumpus.Basic.X11Colours: skyBlue1 :: DRGB
- Wumpus.Basic.X11Colours: skyBlue2 :: DRGB
- Wumpus.Basic.X11Colours: skyBlue3 :: DRGB
- Wumpus.Basic.X11Colours: skyBlue4 :: DRGB
- Wumpus.Basic.X11Colours: slateBlue1 :: DRGB
- Wumpus.Basic.X11Colours: slateBlue2 :: DRGB
- Wumpus.Basic.X11Colours: slateBlue3 :: DRGB
- Wumpus.Basic.X11Colours: slateBlue4 :: DRGB
- Wumpus.Basic.X11Colours: slateGray1 :: DRGB
- Wumpus.Basic.X11Colours: slateGray2 :: DRGB
- Wumpus.Basic.X11Colours: slateGray3 :: DRGB
- Wumpus.Basic.X11Colours: slateGray4 :: DRGB
- Wumpus.Basic.X11Colours: snow1 :: DRGB
- Wumpus.Basic.X11Colours: snow2 :: DRGB
- Wumpus.Basic.X11Colours: snow3 :: DRGB
- Wumpus.Basic.X11Colours: snow4 :: DRGB
- Wumpus.Basic.X11Colours: springGreen1 :: DRGB
- Wumpus.Basic.X11Colours: springGreen2 :: DRGB
- Wumpus.Basic.X11Colours: springGreen3 :: DRGB
- Wumpus.Basic.X11Colours: springGreen4 :: DRGB
- Wumpus.Basic.X11Colours: steelBlue1 :: DRGB
- Wumpus.Basic.X11Colours: steelBlue2 :: DRGB
- Wumpus.Basic.X11Colours: steelBlue3 :: DRGB
- Wumpus.Basic.X11Colours: steelBlue4 :: DRGB
- Wumpus.Basic.X11Colours: tan1 :: DRGB
- Wumpus.Basic.X11Colours: tan2 :: DRGB
- Wumpus.Basic.X11Colours: tan3 :: DRGB
- Wumpus.Basic.X11Colours: tan4 :: DRGB
- Wumpus.Basic.X11Colours: thistle1 :: DRGB
- Wumpus.Basic.X11Colours: thistle2 :: DRGB
- Wumpus.Basic.X11Colours: thistle3 :: DRGB
- Wumpus.Basic.X11Colours: thistle4 :: DRGB
- Wumpus.Basic.X11Colours: tomato1 :: DRGB
- Wumpus.Basic.X11Colours: tomato2 :: DRGB
- Wumpus.Basic.X11Colours: tomato3 :: DRGB
- Wumpus.Basic.X11Colours: tomato4 :: DRGB
- Wumpus.Basic.X11Colours: turquoise1 :: DRGB
- Wumpus.Basic.X11Colours: turquoise2 :: DRGB
- Wumpus.Basic.X11Colours: turquoise3 :: DRGB
- Wumpus.Basic.X11Colours: turquoise4 :: DRGB
- Wumpus.Basic.X11Colours: violetRed1 :: DRGB
- Wumpus.Basic.X11Colours: violetRed2 :: DRGB
- Wumpus.Basic.X11Colours: violetRed3 :: DRGB
- Wumpus.Basic.X11Colours: violetRed4 :: DRGB
- Wumpus.Basic.X11Colours: wheat1 :: DRGB
- Wumpus.Basic.X11Colours: wheat2 :: DRGB
- Wumpus.Basic.X11Colours: wheat3 :: DRGB
- Wumpus.Basic.X11Colours: wheat4 :: DRGB
- Wumpus.Basic.X11Colours: yellow1 :: DRGB
- Wumpus.Basic.X11Colours: yellow2 :: DRGB
- Wumpus.Basic.X11Colours: yellow3 :: DRGB
- Wumpus.Basic.X11Colours: yellow4 :: DRGB
- Wumpus.Deprecated.PictureLanguage: (-//-) :: (Vertical a, Composite a, Num u, u ~ (PUnit a)) => a -> a -> a
- Wumpus.Deprecated.PictureLanguage: (-<-) :: (Horizontal a, Composite a, Num u, u ~ (PUnit a)) => a -> a -> a
- Wumpus.Deprecated.PictureLanguage: (->-) :: (Horizontal a, Composite a, Num u, u ~ (PUnit a)) => a -> a -> a
- Wumpus.Deprecated.PictureLanguage: (-@-) :: (Horizontal a, Vertical a, Composite a, Move a, Fractional u, u ~ (PUnit a)) => a -> a -> a
- Wumpus.Deprecated.PictureLanguage: HBottom :: HAlign
- Wumpus.Deprecated.PictureLanguage: HCenter :: HAlign
- Wumpus.Deprecated.PictureLanguage: HTop :: HAlign
- Wumpus.Deprecated.PictureLanguage: VCenter :: VAlign
- Wumpus.Deprecated.PictureLanguage: VLeft :: VAlign
- Wumpus.Deprecated.PictureLanguage: VRight :: VAlign
- Wumpus.Deprecated.PictureLanguage: above :: (Vertical a, Composite a, Num u, u ~ (PUnit a)) => a -> a -> a
- Wumpus.Deprecated.PictureLanguage: alignH :: (Fractional u, Composite a, Horizontal a, Vertical a, Move a, u ~ (PUnit a)) => HAlign -> a -> a -> a
- Wumpus.Deprecated.PictureLanguage: alignV :: (Fractional u, Composite a, Horizontal a, Vertical a, Move a, u ~ (PUnit a)) => VAlign -> a -> a -> a
- Wumpus.Deprecated.PictureLanguage: at :: (Move a, u ~ (PUnit a)) => a -> Point2 u -> a
- Wumpus.Deprecated.PictureLanguage: below :: (Vertical a, Composite a, Num u, u ~ (PUnit a)) => a -> a -> a
- Wumpus.Deprecated.PictureLanguage: beneath :: (Composite a) => a -> a -> a
- Wumpus.Deprecated.PictureLanguage: blank :: (Blank a) => PUnit a -> PUnit a -> a
- Wumpus.Deprecated.PictureLanguage: bottomBound :: (Vertical a) => a -> PUnit a
- Wumpus.Deprecated.PictureLanguage: bottomleft :: (Horizontal a, Vertical a, u ~ (PUnit a)) => a -> Point2 u
- Wumpus.Deprecated.PictureLanguage: bottomright :: (Horizontal a, Vertical a, u ~ (PUnit a)) => a -> Point2 u
- Wumpus.Deprecated.PictureLanguage: center :: (Horizontal a, Vertical a, Fractional u, u ~ (PUnit a)) => a -> Point2 u
- Wumpus.Deprecated.PictureLanguage: centeredAt :: (Horizontal a, Vertical a, Move a, Composite a, Blank a, Fractional u, u ~ (PUnit a)) => a -> Point2 u -> a
- Wumpus.Deprecated.PictureLanguage: class Blank a
- Wumpus.Deprecated.PictureLanguage: class Composite a
- Wumpus.Deprecated.PictureLanguage: class Horizontal a
- Wumpus.Deprecated.PictureLanguage: class Move a
- Wumpus.Deprecated.PictureLanguage: class Vertical a
- Wumpus.Deprecated.PictureLanguage: data HAlign
- Wumpus.Deprecated.PictureLanguage: data VAlign
- Wumpus.Deprecated.PictureLanguage: hcat :: (Horizontal a, Composite a, Num u, u ~ (PUnit a)) => a -> [a] -> a
- Wumpus.Deprecated.PictureLanguage: hcatA :: (Fractional u, Horizontal a, Vertical a, Composite a, Move a, u ~ (PUnit a)) => HAlign -> a -> [a] -> a
- Wumpus.Deprecated.PictureLanguage: hsep :: (Num u, Composite a, Horizontal a, Blank a, u ~ (PUnit a)) => u -> a -> [a] -> a
- Wumpus.Deprecated.PictureLanguage: hsepA :: (Fractional u, Horizontal a, Vertical a, Composite a, Move a, Blank a, u ~ (PUnit a)) => HAlign -> u -> a -> [a] -> a
- Wumpus.Deprecated.PictureLanguage: hspace :: (Num u, Composite a, Horizontal a, Blank a, u ~ (PUnit a)) => u -> a -> a -> a
- Wumpus.Deprecated.PictureLanguage: instance (Num u, Ord u) => Blank (Picture u)
- Wumpus.Deprecated.PictureLanguage: instance (Num u, Ord u) => Composite (Picture u)
- Wumpus.Deprecated.PictureLanguage: instance (Num u, Ord u) => Horizontal (Picture u)
- Wumpus.Deprecated.PictureLanguage: instance (Num u, Ord u) => Move (Picture u)
- Wumpus.Deprecated.PictureLanguage: instance (Num u, Ord u) => Vertical (Picture u)
- Wumpus.Deprecated.PictureLanguage: instance Eq HAlign
- Wumpus.Deprecated.PictureLanguage: instance Eq VAlign
- Wumpus.Deprecated.PictureLanguage: instance Show HAlign
- Wumpus.Deprecated.PictureLanguage: instance Show VAlign
- Wumpus.Deprecated.PictureLanguage: leftBound :: (Horizontal a) => a -> PUnit a
- Wumpus.Deprecated.PictureLanguage: move :: (Move a) => PUnit a -> PUnit a -> a -> a
- Wumpus.Deprecated.PictureLanguage: moveH :: (Horizontal a) => PUnit a -> a -> a
- Wumpus.Deprecated.PictureLanguage: moveV :: (Vertical a) => PUnit a -> a -> a
- Wumpus.Deprecated.PictureLanguage: multilabel :: (Real u, Floating u, FromPtSize u, TextLabel t) => t -> u -> VAlign -> [String] -> Point2 u -> Picture u
- Wumpus.Deprecated.PictureLanguage: over :: (Composite a) => a -> a -> a
- Wumpus.Deprecated.PictureLanguage: rightBound :: (Horizontal a) => a -> PUnit a
- Wumpus.Deprecated.PictureLanguage: stackOnto :: (Composite a) => [a] -> a -> a
- Wumpus.Deprecated.PictureLanguage: stackOntoCenter :: (Horizontal a, Vertical a, Composite a, Move a, Fractional u, u ~ (PUnit a)) => [a] -> a -> a
- Wumpus.Deprecated.PictureLanguage: topBound :: (Vertical a) => a -> PUnit a
- Wumpus.Deprecated.PictureLanguage: topleft :: (Horizontal a, Vertical a, u ~ (PUnit a)) => a -> Point2 u
- Wumpus.Deprecated.PictureLanguage: topright :: (Horizontal a, Vertical a, u ~ (PUnit a)) => a -> Point2 u
- Wumpus.Deprecated.PictureLanguage: vcat :: (Vertical a, Composite a, Num u, u ~ (PUnit a)) => a -> [a] -> a
- Wumpus.Deprecated.PictureLanguage: vcatA :: (Fractional u, Horizontal a, Vertical a, Composite a, Move a, u ~ (PUnit a)) => VAlign -> a -> [a] -> a
- Wumpus.Deprecated.PictureLanguage: vsep :: (Num u, Composite a, Vertical a, Blank a, u ~ (PUnit a)) => u -> a -> [a] -> a
- Wumpus.Deprecated.PictureLanguage: vsepA :: (Fractional u, Horizontal a, Vertical a, Composite a, Move a, Blank a, u ~ (PUnit a)) => VAlign -> u -> a -> [a] -> a
- Wumpus.Deprecated.PictureLanguage: vspace :: (Num u, Composite a, Vertical a, Blank a, u ~ (PUnit a)) => u -> a -> a -> a
+ Wumpus.Basic.Colour.SVGColours: alice_blue :: RGBi
+ Wumpus.Basic.Colour.SVGColours: antique_white :: RGBi
+ Wumpus.Basic.Colour.SVGColours: aqua :: RGBi
+ Wumpus.Basic.Colour.SVGColours: aquamarine :: RGBi
+ Wumpus.Basic.Colour.SVGColours: azure :: RGBi
+ Wumpus.Basic.Colour.SVGColours: beige :: RGBi
+ Wumpus.Basic.Colour.SVGColours: bisque :: RGBi
+ Wumpus.Basic.Colour.SVGColours: black :: RGBi
+ Wumpus.Basic.Colour.SVGColours: blanched_almond :: RGBi
+ Wumpus.Basic.Colour.SVGColours: blue :: RGBi
+ Wumpus.Basic.Colour.SVGColours: blue_violet :: RGBi
+ Wumpus.Basic.Colour.SVGColours: brown :: RGBi
+ Wumpus.Basic.Colour.SVGColours: burlywood :: RGBi
+ Wumpus.Basic.Colour.SVGColours: cadet_blue :: RGBi
+ Wumpus.Basic.Colour.SVGColours: chartreuse :: RGBi
+ Wumpus.Basic.Colour.SVGColours: chocolate :: RGBi
+ Wumpus.Basic.Colour.SVGColours: coral :: RGBi
+ Wumpus.Basic.Colour.SVGColours: cornflower_blue :: RGBi
+ Wumpus.Basic.Colour.SVGColours: cornsilk :: RGBi
+ Wumpus.Basic.Colour.SVGColours: crimson :: RGBi
+ Wumpus.Basic.Colour.SVGColours: cyan :: RGBi
+ Wumpus.Basic.Colour.SVGColours: dark_blue :: RGBi
+ Wumpus.Basic.Colour.SVGColours: dark_cyan :: RGBi
+ Wumpus.Basic.Colour.SVGColours: dark_goldenrod :: RGBi
+ Wumpus.Basic.Colour.SVGColours: dark_gray :: RGBi
+ Wumpus.Basic.Colour.SVGColours: dark_green :: RGBi
+ Wumpus.Basic.Colour.SVGColours: dark_grey :: RGBi
+ Wumpus.Basic.Colour.SVGColours: dark_khaki :: RGBi
+ Wumpus.Basic.Colour.SVGColours: dark_magenta :: RGBi
+ Wumpus.Basic.Colour.SVGColours: dark_olive_green :: RGBi
+ Wumpus.Basic.Colour.SVGColours: dark_orange :: RGBi
+ Wumpus.Basic.Colour.SVGColours: dark_orchid :: RGBi
+ Wumpus.Basic.Colour.SVGColours: dark_red :: RGBi
+ Wumpus.Basic.Colour.SVGColours: dark_salmon :: RGBi
+ Wumpus.Basic.Colour.SVGColours: dark_sea_green :: RGBi
+ Wumpus.Basic.Colour.SVGColours: dark_slate_blue :: RGBi
+ Wumpus.Basic.Colour.SVGColours: dark_slate_gray :: RGBi
+ Wumpus.Basic.Colour.SVGColours: dark_slate_grey :: RGBi
+ Wumpus.Basic.Colour.SVGColours: dark_turquoise :: RGBi
+ Wumpus.Basic.Colour.SVGColours: dark_violet :: RGBi
+ Wumpus.Basic.Colour.SVGColours: deep_pink :: RGBi
+ Wumpus.Basic.Colour.SVGColours: deep_sky_blue :: RGBi
+ Wumpus.Basic.Colour.SVGColours: dim_gray :: RGBi
+ Wumpus.Basic.Colour.SVGColours: dim_grey :: RGBi
+ Wumpus.Basic.Colour.SVGColours: dodger_blue :: RGBi
+ Wumpus.Basic.Colour.SVGColours: firebrick :: RGBi
+ Wumpus.Basic.Colour.SVGColours: floral_white :: RGBi
+ Wumpus.Basic.Colour.SVGColours: forest_green :: RGBi
+ Wumpus.Basic.Colour.SVGColours: fuchsia :: RGBi
+ Wumpus.Basic.Colour.SVGColours: gainsboro :: RGBi
+ Wumpus.Basic.Colour.SVGColours: ghost_white :: RGBi
+ Wumpus.Basic.Colour.SVGColours: gold :: RGBi
+ Wumpus.Basic.Colour.SVGColours: goldenrod :: RGBi
+ Wumpus.Basic.Colour.SVGColours: gray :: RGBi
+ Wumpus.Basic.Colour.SVGColours: green :: RGBi
+ Wumpus.Basic.Colour.SVGColours: green_yellow :: RGBi
+ Wumpus.Basic.Colour.SVGColours: grey :: RGBi
+ Wumpus.Basic.Colour.SVGColours: honeydew :: RGBi
+ Wumpus.Basic.Colour.SVGColours: hot_pink :: RGBi
+ Wumpus.Basic.Colour.SVGColours: indian_red :: RGBi
+ Wumpus.Basic.Colour.SVGColours: indigo :: RGBi
+ Wumpus.Basic.Colour.SVGColours: ivory :: RGBi
+ Wumpus.Basic.Colour.SVGColours: khaki :: RGBi
+ Wumpus.Basic.Colour.SVGColours: lavender :: RGBi
+ Wumpus.Basic.Colour.SVGColours: lavender_blush :: RGBi
+ Wumpus.Basic.Colour.SVGColours: lawn_green :: RGBi
+ Wumpus.Basic.Colour.SVGColours: lemon_chiffon :: RGBi
+ Wumpus.Basic.Colour.SVGColours: light_blue :: RGBi
+ Wumpus.Basic.Colour.SVGColours: light_coral :: RGBi
+ Wumpus.Basic.Colour.SVGColours: light_cyan :: RGBi
+ Wumpus.Basic.Colour.SVGColours: light_goldenrod_yellow :: RGBi
+ Wumpus.Basic.Colour.SVGColours: light_gray :: RGBi
+ Wumpus.Basic.Colour.SVGColours: light_green :: RGBi
+ Wumpus.Basic.Colour.SVGColours: light_grey :: RGBi
+ Wumpus.Basic.Colour.SVGColours: light_pink :: RGBi
+ Wumpus.Basic.Colour.SVGColours: light_salmon :: RGBi
+ Wumpus.Basic.Colour.SVGColours: light_sea_green :: RGBi
+ Wumpus.Basic.Colour.SVGColours: light_sky_blue :: RGBi
+ Wumpus.Basic.Colour.SVGColours: light_slate_gray :: RGBi
+ Wumpus.Basic.Colour.SVGColours: light_slate_grey :: RGBi
+ Wumpus.Basic.Colour.SVGColours: light_steel_blue :: RGBi
+ Wumpus.Basic.Colour.SVGColours: light_yellow :: RGBi
+ Wumpus.Basic.Colour.SVGColours: lime :: RGBi
+ Wumpus.Basic.Colour.SVGColours: lime_green :: RGBi
+ Wumpus.Basic.Colour.SVGColours: linen :: RGBi
+ Wumpus.Basic.Colour.SVGColours: magenta :: RGBi
+ Wumpus.Basic.Colour.SVGColours: maroon :: RGBi
+ Wumpus.Basic.Colour.SVGColours: medium_aquamarine :: RGBi
+ Wumpus.Basic.Colour.SVGColours: medium_blue :: RGBi
+ Wumpus.Basic.Colour.SVGColours: medium_orchid :: RGBi
+ Wumpus.Basic.Colour.SVGColours: medium_purple :: RGBi
+ Wumpus.Basic.Colour.SVGColours: medium_sea_green :: RGBi
+ Wumpus.Basic.Colour.SVGColours: medium_slate_blue :: RGBi
+ Wumpus.Basic.Colour.SVGColours: medium_spring_green :: RGBi
+ Wumpus.Basic.Colour.SVGColours: medium_turquoise :: RGBi
+ Wumpus.Basic.Colour.SVGColours: medium_violet_red :: RGBi
+ Wumpus.Basic.Colour.SVGColours: midnight_blue :: RGBi
+ Wumpus.Basic.Colour.SVGColours: mintcream :: RGBi
+ Wumpus.Basic.Colour.SVGColours: mistyrose :: RGBi
+ Wumpus.Basic.Colour.SVGColours: moccasin :: RGBi
+ Wumpus.Basic.Colour.SVGColours: navajo_white :: RGBi
+ Wumpus.Basic.Colour.SVGColours: navy :: RGBi
+ Wumpus.Basic.Colour.SVGColours: old_lace :: RGBi
+ Wumpus.Basic.Colour.SVGColours: olive :: RGBi
+ Wumpus.Basic.Colour.SVGColours: olive_drab :: RGBi
+ Wumpus.Basic.Colour.SVGColours: orange :: RGBi
+ Wumpus.Basic.Colour.SVGColours: orange_red :: RGBi
+ Wumpus.Basic.Colour.SVGColours: orchid :: RGBi
+ Wumpus.Basic.Colour.SVGColours: pale_goldenrod :: RGBi
+ Wumpus.Basic.Colour.SVGColours: pale_green :: RGBi
+ Wumpus.Basic.Colour.SVGColours: pale_turquoise :: RGBi
+ Wumpus.Basic.Colour.SVGColours: pale_violet_red :: RGBi
+ Wumpus.Basic.Colour.SVGColours: papaya_whip :: RGBi
+ Wumpus.Basic.Colour.SVGColours: peach_puff :: RGBi
+ Wumpus.Basic.Colour.SVGColours: peru :: RGBi
+ Wumpus.Basic.Colour.SVGColours: pink :: RGBi
+ Wumpus.Basic.Colour.SVGColours: plum :: RGBi
+ Wumpus.Basic.Colour.SVGColours: powder_blue :: RGBi
+ Wumpus.Basic.Colour.SVGColours: purple :: RGBi
+ Wumpus.Basic.Colour.SVGColours: red :: RGBi
+ Wumpus.Basic.Colour.SVGColours: rosy_brown :: RGBi
+ Wumpus.Basic.Colour.SVGColours: royal_blue :: RGBi
+ Wumpus.Basic.Colour.SVGColours: saddle_brown :: RGBi
+ Wumpus.Basic.Colour.SVGColours: salmon :: RGBi
+ Wumpus.Basic.Colour.SVGColours: sandy_brown :: RGBi
+ Wumpus.Basic.Colour.SVGColours: sea_green :: RGBi
+ Wumpus.Basic.Colour.SVGColours: seashell :: RGBi
+ Wumpus.Basic.Colour.SVGColours: sienna :: RGBi
+ Wumpus.Basic.Colour.SVGColours: silver :: RGBi
+ Wumpus.Basic.Colour.SVGColours: sky_blue :: RGBi
+ Wumpus.Basic.Colour.SVGColours: slate_blue :: RGBi
+ Wumpus.Basic.Colour.SVGColours: slate_gray :: RGBi
+ Wumpus.Basic.Colour.SVGColours: slate_grey :: RGBi
+ Wumpus.Basic.Colour.SVGColours: snow :: RGBi
+ Wumpus.Basic.Colour.SVGColours: spring_green :: RGBi
+ Wumpus.Basic.Colour.SVGColours: steel_blue :: RGBi
+ Wumpus.Basic.Colour.SVGColours: tan :: RGBi
+ Wumpus.Basic.Colour.SVGColours: teal :: RGBi
+ Wumpus.Basic.Colour.SVGColours: thistle :: RGBi
+ Wumpus.Basic.Colour.SVGColours: tomato :: RGBi
+ Wumpus.Basic.Colour.SVGColours: turquoise :: RGBi
+ Wumpus.Basic.Colour.SVGColours: violet :: RGBi
+ Wumpus.Basic.Colour.SVGColours: wheat :: RGBi
+ Wumpus.Basic.Colour.SVGColours: white :: RGBi
+ Wumpus.Basic.Colour.SVGColours: whitesmoke :: RGBi
+ Wumpus.Basic.Colour.SVGColours: yellow :: RGBi
+ Wumpus.Basic.Colour.SVGColours: yellow_green :: RGBi
+ Wumpus.Basic.Colour.X11Colours: antique_white1 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: antique_white2 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: antique_white3 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: antique_white4 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: aquamarine1 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: aquamarine2 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: aquamarine3 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: aquamarine4 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: azure1 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: azure2 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: azure3 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: azure4 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: bisque1 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: bisque2 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: bisque3 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: bisque4 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: blue1 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: blue2 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: blue3 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: blue4 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: brown1 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: brown2 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: brown3 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: brown4 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: burlywood1 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: burlywood2 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: burlywood3 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: burlywood4 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: cadet_blue1 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: cadet_blue2 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: cadet_blue3 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: cadet_blue4 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: chartreuse1 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: chartreuse2 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: chartreuse3 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: chartreuse4 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: chocolate1 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: chocolate2 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: chocolate3 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: chocolate4 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: coral1 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: coral2 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: coral3 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: coral4 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: cornsilk1 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: cornsilk2 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: cornsilk3 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: cornsilk4 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: cyan1 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: cyan2 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: cyan3 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: cyan4 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: dark_goldenrod1 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: dark_goldenrod2 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: dark_goldenrod3 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: dark_goldenrod4 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: dark_olive_green1 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: dark_olive_green2 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: dark_olive_green3 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: dark_olive_green4 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: dark_orange1 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: dark_orange2 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: dark_orange3 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: dark_orange4 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: dark_orchid1 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: dark_orchid2 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: dark_orchid3 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: dark_orchid4 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: dark_sea_green1 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: dark_sea_green2 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: dark_sea_green3 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: dark_sea_green4 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: dark_slate_gray1 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: dark_slate_gray2 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: dark_slate_gray3 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: dark_slate_gray4 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: deep_pink1 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: deep_pink2 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: deep_pink3 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: deep_pink4 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: deep_sky_blue1 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: deep_sky_blue2 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: deep_sky_blue3 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: deep_sky_blue4 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: dodger_blue1 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: dodger_blue2 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: dodger_blue3 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: dodger_blue4 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: firebrick1 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: firebrick2 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: firebrick3 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: firebrick4 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: gold1 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: gold2 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: gold3 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: gold4 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: goldenrod1 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: goldenrod2 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: goldenrod3 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: goldenrod4 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: green1 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: green2 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: green3 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: green4 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: honeydew1 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: honeydew2 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: honeydew3 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: honeydew4 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: hot_pink1 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: hot_pink2 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: hot_pink3 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: hot_pink4 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: indian_red1 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: indian_red2 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: indian_red3 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: indian_red4 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: ivory1 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: ivory2 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: ivory3 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: ivory4 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: khaki1 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: khaki2 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: khaki3 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: khaki4 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: lavender_blush1 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: lavender_blush2 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: lavender_blush3 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: lavender_blush4 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: lemon_chiffon1 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: lemon_chiffon2 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: lemon_chiffon3 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: lemon_chiffon4 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: light_blue1 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: light_blue2 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: light_blue3 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: light_blue4 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: light_cyan1 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: light_cyan2 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: light_cyan3 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: light_cyan4 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: light_goldenrod1 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: light_goldenrod2 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: light_goldenrod3 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: light_goldenrod4 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: light_pink1 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: light_pink2 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: light_pink3 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: light_pink4 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: light_salmon1 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: light_salmon2 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: light_salmon3 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: light_salmon4 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: light_sky_blue1 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: light_sky_blue2 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: light_sky_blue3 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: light_sky_blue4 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: light_steel_blue1 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: light_steel_blue2 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: light_steel_blue3 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: light_steel_blue4 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: light_yellow1 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: light_yellow2 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: light_yellow3 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: light_yellow4 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: magenta1 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: magenta2 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: magenta3 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: magenta4 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: maroon1 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: maroon2 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: maroon3 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: maroon4 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: medium_orchid1 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: medium_orchid2 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: medium_orchid3 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: medium_orchid4 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: medium_purple1 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: medium_purple2 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: medium_purple3 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: medium_purple4 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: misty_rose1 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: misty_rose2 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: misty_rose3 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: misty_rose4 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: navajo_white1 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: navajo_white2 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: navajo_white3 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: navajo_white4 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: olive_drab1 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: olive_drab2 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: olive_drab3 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: olive_drab4 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: orange1 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: orange2 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: orange3 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: orange4 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: orange_red1 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: orange_red2 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: orange_red3 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: orange_red4 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: orchid1 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: orchid2 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: orchid3 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: orchid4 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: pale_green1 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: pale_green2 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: pale_green3 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: pale_green4 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: pale_turquoise1 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: pale_turquoise2 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: pale_turquoise3 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: pale_turquoise4 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: pale_violet_red1 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: pale_violet_red2 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: pale_violet_red3 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: pale_violet_red4 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: peach_puff1 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: peach_puff2 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: peach_puff3 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: peach_puff4 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: pink1 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: pink2 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: pink3 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: pink4 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: plum1 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: plum2 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: plum3 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: plum4 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: purple1 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: purple2 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: purple3 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: purple4 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: red1 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: red2 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: red3 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: red4 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: rosy_brown1 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: rosy_brown2 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: rosy_brown3 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: rosy_brown4 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: royal_blue1 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: royal_blue2 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: royal_blue3 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: royal_blue4 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: salmon1 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: salmon2 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: salmon3 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: salmon4 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: sea_green1 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: sea_green2 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: sea_green3 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: sea_green4 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: seashell1 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: seashell2 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: seashell3 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: seashell4 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: sienna1 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: sienna2 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: sienna3 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: sienna4 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: sky_blue1 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: sky_blue2 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: sky_blue3 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: sky_blue4 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: slate_blue1 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: slate_blue2 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: slate_blue3 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: slate_blue4 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: slate_gray1 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: slate_gray2 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: slate_gray3 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: slate_gray4 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: snow1 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: snow2 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: snow3 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: snow4 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: spring_green1 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: spring_green2 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: spring_green3 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: spring_green4 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: steel_blue1 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: steel_blue2 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: steel_blue3 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: steel_blue4 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: tan1 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: tan2 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: tan3 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: tan4 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: thistle1 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: thistle2 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: thistle3 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: thistle4 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: tomato1 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: tomato2 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: tomato3 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: tomato4 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: turquoise1 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: turquoise2 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: turquoise3 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: turquoise4 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: violet_red1 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: violet_red2 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: violet_red3 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: violet_red4 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: wheat1 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: wheat2 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: wheat3 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: wheat4 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: yellow1 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: yellow2 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: yellow3 :: RGBi
+ Wumpus.Basic.Colour.X11Colours: yellow4 :: RGBi
+ Wumpus.Basic.Paths.Base: CurveSeg :: u -> (Curve u) -> PathSeg u
+ Wumpus.Basic.Paths.Base: LineSeg :: u -> (Line u) -> PathSeg u
+ Wumpus.Basic.Paths.Base: Path :: u -> Seq (PathSeg u) -> Path u
+ Wumpus.Basic.Paths.Base: data Path u
+ Wumpus.Basic.Paths.Base: data PathSeg u
+ Wumpus.Basic.Paths.Base: instance (Eq u) => Eq (Path u)
+ Wumpus.Basic.Paths.Base: instance (Eq u) => Eq (PathSeg u)
+ Wumpus.Basic.Paths.Base: instance (Ord u) => Ord (Path u)
+ Wumpus.Basic.Paths.Base: instance (Ord u) => Ord (PathSeg u)
+ Wumpus.Basic.Paths.Base: instance (Show u) => Show (Path u)
+ Wumpus.Basic.Paths.Base: instance (Show u) => Show (PathSeg u)
+ Wumpus.Basic.Paths.Base: toPrimPath :: Path u -> Maybe (PrimPath u)
+ Wumpus.Basic.Paths.Base: toPrimPathU :: Path u -> PrimPath u
+ Wumpus.Basic.Paths.Base: type PathF u = Point2 u -> Point2 u -> Path u
+ Wumpus.Basic.PictureLanguage: HBottom :: HAlign
+ Wumpus.Basic.PictureLanguage: HCenter :: HAlign
+ Wumpus.Basic.PictureLanguage: HTop :: HAlign
+ Wumpus.Basic.PictureLanguage: VCenter :: VAlign
+ Wumpus.Basic.PictureLanguage: VLeft :: VAlign
+ Wumpus.Basic.PictureLanguage: VRight :: VAlign
+ Wumpus.Basic.PictureLanguage: alignH :: (Fractional u, Ord u) => HAlign -> Picture u -> Picture u -> Picture u
+ Wumpus.Basic.PictureLanguage: alignHSep :: (Fractional u, Ord u) => HAlign -> u -> Picture u -> Picture u -> Picture u
+ Wumpus.Basic.PictureLanguage: alignV :: (Fractional u, Ord u) => VAlign -> Picture u -> Picture u -> Picture u
+ Wumpus.Basic.PictureLanguage: alignVSep :: (Fractional u, Ord u) => VAlign -> u -> Picture u -> Picture u -> Picture u
+ Wumpus.Basic.PictureLanguage: atPoint :: (Num u, Ord u) => Picture u -> Point2 u -> Picture u
+ Wumpus.Basic.PictureLanguage: centerOver :: (Fractional u, Ord u) => Picture u -> Picture u -> Picture u
+ Wumpus.Basic.PictureLanguage: centerPoint :: (Fractional u) => Picture u -> Point2 u
+ Wumpus.Basic.PictureLanguage: centeredAt :: (Fractional u, Ord u) => Picture u -> Point2 u -> Picture u
+ Wumpus.Basic.PictureLanguage: data HAlign
+ Wumpus.Basic.PictureLanguage: data VAlign
+ Wumpus.Basic.PictureLanguage: hcat :: (Num u, Ord u) => Picture u -> [Picture u] -> Picture u
+ Wumpus.Basic.PictureLanguage: hcatA :: (Fractional u, Ord u) => HAlign -> Picture u -> [Picture u] -> Picture u
+ Wumpus.Basic.PictureLanguage: hsep :: (Num u, Ord u) => u -> Picture u -> [Picture u] -> Picture u
+ Wumpus.Basic.PictureLanguage: hsepA :: (Fractional u, Ord u) => HAlign -> u -> Picture u -> [Picture u] -> Picture u
+ Wumpus.Basic.PictureLanguage: hspace :: (Num u, Ord u) => u -> Picture u -> Picture u -> Picture u
+ Wumpus.Basic.PictureLanguage: instance Eq HAlign
+ Wumpus.Basic.PictureLanguage: instance Eq VAlign
+ Wumpus.Basic.PictureLanguage: instance Show HAlign
+ Wumpus.Basic.PictureLanguage: instance Show VAlign
+ Wumpus.Basic.PictureLanguage: nextToH :: (Num u, Ord u) => Picture u -> Picture u -> Picture u
+ Wumpus.Basic.PictureLanguage: nextToV :: (Num u, Ord u) => Picture u -> Picture u -> Picture u
+ Wumpus.Basic.PictureLanguage: over :: (Num u, Ord u) => Picture u -> Picture u -> Picture u
+ Wumpus.Basic.PictureLanguage: stackOver :: (Num u, Ord u) => [Picture u] -> Picture u -> Picture u
+ Wumpus.Basic.PictureLanguage: stackOverCenter :: (Fractional u, Ord u) => [Picture u] -> Picture u -> Picture u
+ Wumpus.Basic.PictureLanguage: under :: (Num u, Ord u) => Picture u -> Picture u -> Picture u
+ Wumpus.Basic.PictureLanguage: vcat :: (Num u, Ord u) => Picture u -> [Picture u] -> Picture u
+ Wumpus.Basic.PictureLanguage: vcatA :: (Fractional u, Ord u) => VAlign -> Picture u -> [Picture u] -> Picture u
+ Wumpus.Basic.PictureLanguage: vsep :: (Num u, Ord u) => u -> Picture u -> [Picture u] -> Picture u
+ Wumpus.Basic.PictureLanguage: vsepA :: (Fractional u, Ord u) => VAlign -> u -> Picture u -> [Picture u] -> Picture u
+ Wumpus.Basic.PictureLanguage: vspace :: (Num u, Ord u) => u -> Picture u -> Picture u -> Picture u
+ Wumpus.Basic.PictureLanguage: zconcat :: (Num u, Ord u) => Picture u -> [Picture u] -> Picture u
+ Wumpus.Basic.Utils.Intersection: langle :: (Floating u, Real u) => Point2 u -> Point2 u -> Radian
- Wumpus.Basic.Arrows: arrowBarb45 :: (Real u, Floating u, FromPtSize u) => BPathF u -> AConnector u (BPath u)
+ Wumpus.Basic.Arrows: arrowBarb45 :: (Real u, Floating u, FromPtSize u) => PathF u -> AConnector u (Path u)
- Wumpus.Basic.Arrows: arrowBarb60 :: (Real u, Floating u, FromPtSize u) => BPathF u -> AConnector u (BPath u)
+ Wumpus.Basic.Arrows: arrowBarb60 :: (Real u, Floating u, FromPtSize u) => PathF u -> AConnector u (Path u)
- Wumpus.Basic.Arrows: arrowBarb90 :: (Real u, Floating u, FromPtSize u) => BPathF u -> AConnector u (BPath u)
+ Wumpus.Basic.Arrows: arrowBarb90 :: (Real u, Floating u, FromPtSize u) => PathF u -> AConnector u (Path u)
- Wumpus.Basic.Arrows: arrowOTri45 :: (Real u, Floating u, FromPtSize u) => BPathF u -> AConnector u (BPath u)
+ Wumpus.Basic.Arrows: arrowOTri45 :: (Real u, Floating u, FromPtSize u) => PathF u -> AConnector u (Path u)
- Wumpus.Basic.Arrows: arrowOTri60 :: (Real u, Floating u, FromPtSize u) => BPathF u -> AConnector u (BPath u)
+ Wumpus.Basic.Arrows: arrowOTri60 :: (Real u, Floating u, FromPtSize u) => PathF u -> AConnector u (Path u)
- Wumpus.Basic.Arrows: arrowOTri90 :: (Real u, Floating u, FromPtSize u) => BPathF u -> AConnector u (BPath u)
+ Wumpus.Basic.Arrows: arrowOTri90 :: (Real u, Floating u, FromPtSize u) => PathF u -> AConnector u (Path u)
- Wumpus.Basic.Arrows: arrowPerp :: (Real u, Floating u, FromPtSize u) => BPathF u -> AConnector u (BPath u)
+ Wumpus.Basic.Arrows: arrowPerp :: (Real u, Floating u, FromPtSize u) => PathF u -> AConnector u (Path u)
- Wumpus.Basic.Arrows: arrowTri45 :: (Real u, Floating u, FromPtSize u) => BPathF u -> AConnector u (BPath u)
+ Wumpus.Basic.Arrows: arrowTri45 :: (Real u, Floating u, FromPtSize u) => PathF u -> AConnector u (Path u)
- Wumpus.Basic.Arrows: arrowTri60 :: (Real u, Floating u, FromPtSize u) => BPathF u -> AConnector u (BPath u)
+ Wumpus.Basic.Arrows: arrowTri60 :: (Real u, Floating u, FromPtSize u) => PathF u -> AConnector u (Path u)
- Wumpus.Basic.Arrows: arrowTri90 :: (Real u, Floating u, FromPtSize u) => BPathF u -> AConnector u (BPath u)
+ Wumpus.Basic.Arrows: arrowTri90 :: (Real u, Floating u, FromPtSize u) => PathF u -> AConnector u (Path u)
- Wumpus.Basic.Arrows: line :: (Num u) => BPathF u -> AConnector u (BPath u)
+ Wumpus.Basic.Arrows: line :: (Num u) => PathF u -> AConnector u (Path u)
- Wumpus.Basic.Graphic: rectanglePath :: (Num u) => u -> u -> Point2 u -> Path u
+ Wumpus.Basic.Graphic: rectanglePath :: (Num u) => u -> u -> Point2 u -> PrimPath u
- Wumpus.Basic.Graphic.DrawingAttr: DrawingAttr :: Double -> FontAttr -> DRGB -> DRGB -> DrawingAttr
+ Wumpus.Basic.Graphic.DrawingAttr: DrawingAttr :: Double -> FontAttr -> RGBi -> RGBi -> DrawingAttr
- Wumpus.Basic.Graphic.DrawingAttr: fillAttr :: DrawingAttr -> DRGB
+ Wumpus.Basic.Graphic.DrawingAttr: fillAttr :: DrawingAttr -> RGBi
- Wumpus.Basic.Graphic.DrawingAttr: fill_colour :: DrawingAttr -> DRGB
+ Wumpus.Basic.Graphic.DrawingAttr: fill_colour :: DrawingAttr -> RGBi
- Wumpus.Basic.Graphic.DrawingAttr: strokeAttr :: DrawingAttr -> (DRGB, StrokeAttr)
+ Wumpus.Basic.Graphic.DrawingAttr: strokeAttr :: DrawingAttr -> (RGBi, StrokeAttr)
- Wumpus.Basic.Graphic.DrawingAttr: stroke_colour :: DrawingAttr -> DRGB
+ Wumpus.Basic.Graphic.DrawingAttr: stroke_colour :: DrawingAttr -> RGBi
- Wumpus.Basic.Graphic.DrawingAttr: textAttr :: DrawingAttr -> (DRGB, FontAttr)
+ Wumpus.Basic.Graphic.DrawingAttr: textAttr :: DrawingAttr -> (RGBi, FontAttr)
- Wumpus.Basic.Paths: connectS :: (Floating u) => BPathF u
+ Wumpus.Basic.Paths: connectS :: (Floating u) => PathF u
- Wumpus.Basic.Paths: directionL :: (Real u, Floating u) => BPath u -> Radian
+ Wumpus.Basic.Paths: directionL :: (Real u, Floating u) => Path u -> Radian
- Wumpus.Basic.Paths: directionR :: (Real u, Floating u) => BPath u -> Radian
+ Wumpus.Basic.Paths: directionR :: (Real u, Floating u) => Path u -> Radian
- Wumpus.Basic.Paths: midpoint :: (Real u, Floating u) => BPath u -> Point2 u
+ Wumpus.Basic.Paths: midpoint :: (Real u, Floating u) => Path u -> Point2 u
- Wumpus.Basic.Paths: pathGraphic :: (Num u) => BPath u -> DrawingAttr -> Graphic u
+ Wumpus.Basic.Paths: pathGraphic :: (Num u) => Path u -> DrawingAttr -> Graphic u
- Wumpus.Basic.Paths: shorten :: (Real u, Floating u, Ord u) => u -> BPath u -> BPath u
+ Wumpus.Basic.Paths: shorten :: (Real u, Floating u, Ord u) => u -> Path u -> Path u
- Wumpus.Basic.Paths: shortenL :: (Real u, Floating u, Ord u) => u -> BPath u -> BPath u
+ Wumpus.Basic.Paths: shortenL :: (Real u, Floating u, Ord u) => u -> Path u -> Path u
- Wumpus.Basic.Paths: shortenR :: (Real u, Floating u, Ord u) => u -> BPath u -> BPath u
+ Wumpus.Basic.Paths: shortenR :: (Real u, Floating u, Ord u) => u -> Path u -> Path u
- Wumpus.Basic.Paths.Base: addSegment :: (Num u) => BPath u -> BPathSeg u -> BPath u
+ Wumpus.Basic.Paths.Base: addSegment :: (Num u) => Path u -> PathSeg u -> Path u
- Wumpus.Basic.Paths.Base: emptyPath :: (Num u) => BPath u
+ Wumpus.Basic.Paths.Base: emptyPath :: (Num u) => Path u
- Wumpus.Basic.Paths.Base: path_elements :: BPath u -> Seq (BPathSeg u)
+ Wumpus.Basic.Paths.Base: path_elements :: Path u -> Seq (PathSeg u)
- Wumpus.Basic.Paths.Base: path_length :: BPath u -> u
+ Wumpus.Basic.Paths.Base: path_length :: Path u -> u
- Wumpus.Basic.Paths.Base: pcurve :: (Floating u, Ord u) => Point2 u -> Point2 u -> Point2 u -> Point2 u -> BPathSeg u
+ Wumpus.Basic.Paths.Base: pcurve :: (Floating u, Ord u) => Point2 u -> Point2 u -> Point2 u -> Point2 u -> PathSeg u
- Wumpus.Basic.Paths.Base: pline :: (Floating u) => Point2 u -> Point2 u -> BPathSeg u
+ Wumpus.Basic.Paths.Base: pline :: (Floating u) => Point2 u -> Point2 u -> PathSeg u
- Wumpus.Basic.Paths.Base: segmentEnd :: BPathSeg u -> Point2 u
+ Wumpus.Basic.Paths.Base: segmentEnd :: PathSeg u -> Point2 u
- Wumpus.Basic.Paths.Base: segmentLength :: BPathSeg u -> u
+ Wumpus.Basic.Paths.Base: segmentLength :: PathSeg u -> u
- Wumpus.Basic.Paths.Base: segmentStart :: BPathSeg u -> Point2 u
+ Wumpus.Basic.Paths.Base: segmentStart :: PathSeg u -> Point2 u
- Wumpus.Basic.Paths.Construction: execPath :: (Num u) => Point2 u -> MPath u a -> BPath u
+ Wumpus.Basic.Paths.Construction: execPath :: (Num u) => Point2 u -> MPath u a -> Path u
- Wumpus.Basic.Paths.Construction: runPath :: (Num u) => Point2 u -> MPath u a -> (a, BPath u)
+ Wumpus.Basic.Paths.Construction: runPath :: (Num u) => Point2 u -> MPath u a -> (a, Path u)
- Wumpus.Basic.Text.LRText: runTextM :: (Num u, FromPtSize u) => PtSize -> (DRGB, FontAttr) -> (TextM u a) -> (a, GraphicF u)
+ Wumpus.Basic.Text.LRText: runTextM :: (Num u, FromPtSize u) => PtSize -> (RGBi, FontAttr) -> (TextM u a) -> (a, GraphicF u)

Files

demo/ColourCharts.hs view
@@ -40,7 +40,7 @@  -- Note - this is code from an old project that needs tidying up... -mkPic :: [(String,DRGB)] -> [DPoint2] -> DPicture +mkPic :: [(String,RGBi)] -> [DPoint2] -> DPicture  mkPic cs pts = fromMaybe errK $                   drawGraphic $ concatH $ zipWith colourSample cs pts   where@@ -50,7 +50,7 @@ scalePt w (P2 x y) = P2 (x*w) (y*12)   colourSample :: (Fractional u, Floating u, Ord u) -             => (String,DRGB) -> GraphicF u+             => (String,RGBi) -> GraphicF u colourSample (name,rgb) = block `cc` lbl    where     block = filledRectangle rgb  15 10
demo/ColourDefns.hs view
@@ -22,150 +22,150 @@    ) where -import qualified Wumpus.Basic.SVGColours        as SVG-import qualified Wumpus.Basic.X11Colours        as X11+import qualified Wumpus.Basic.Colour.SVGColours    as SVG+import qualified Wumpus.Basic.Colour.X11Colours    as X11 -import Wumpus.Core.Colour ( DRGB )+import Wumpus.Core.Colour ( RGBi )  -all_svg_colours :: [(String,DRGB)]+all_svg_colours :: [(String,RGBi)] all_svg_colours = -  [ ("aliceBlue",               SVG.aliceBlue)-  , ("antiqueWhite",            SVG.antiqueWhite)+  [ ("alice_blue",              SVG.alice_blue)+  , ("antique_white",           SVG.antique_white)   , ("aqua",                    SVG.aqua)   , ("aquamarine",              SVG.aquamarine)   , ("azure",                   SVG.azure)   , ("beige",                   SVG.beige)   , ("bisque",                  SVG.bisque)   , ("black",                   SVG.black)-  , ("blanchedAlmond",          SVG.blanchedAlmond)+  , ("blanched_almond",         SVG.blanched_almond)   , ("blue",                    SVG.blue)-  , ("blueViolet",              SVG.blueViolet)+  , ("blue_violet",             SVG.blue_violet)   , ("brown",                   SVG.brown)   , ("burlywood",               SVG.burlywood)-  , ("cadetBlue",               SVG.cadetBlue)+  , ("cadet_blue",              SVG.cadet_blue)   , ("chartreuse",              SVG.chartreuse)   , ("chocolate",               SVG.chocolate)   , ("coral",                   SVG.coral)-  , ("cornflowerBlue",          SVG.cornflowerBlue)+  , ("cornflower_blue",         SVG.cornflower_blue)   , ("cornsilk",                SVG.cornsilk)   , ("crimson",                 SVG.crimson)   , ("cyan",                    SVG.cyan)-  , ("darkBlue",                SVG.darkBlue)-  , ("darkCyan",                SVG.darkCyan)-  , ("darkGoldenrod",           SVG.darkGoldenrod)-  , ("darkGray",                SVG.darkGray)-  , ("darkGreen",               SVG.darkGreen)-  , ("darkGrey",                SVG.darkGrey)-  , ("darkKhaki",               SVG.darkKhaki)-  , ("darkMagenta",             SVG.darkMagenta)-  , ("darkOliveGreen",          SVG.darkOliveGreen)-  , ("darkOrange",              SVG.darkOrange)-  , ("darkOrchid",              SVG.darkOrchid)-  , ("darkRed",                 SVG.darkRed)-  , ("darkSalmon",              SVG.darkSalmon)-  , ("darkSeaGreen",            SVG.darkSeaGreen)-  , ("darkSlateBlue",           SVG.darkSlateBlue)-  , ("darkSlateGray",           SVG.darkSlateGray)-  , ("darkSlateGrey",           SVG.darkSlateGrey)-  , ("darkTurquoise",           SVG.darkTurquoise)-  , ("darkViolet",              SVG.darkViolet)-  , ("deepPink",                SVG.deepPink)-  , ("deepSkyBlue",             SVG.deepSkyBlue)-  , ("dimGray",                 SVG.dimGray)-  , ("dimGrey",                 SVG.dimGrey)-  , ("dodgerBlue",              SVG.dodgerBlue)+  , ("dark_blue",               SVG.dark_blue)+  , ("dark_cyan",               SVG.dark_cyan)+  , ("dark_goldenrod",          SVG.dark_goldenrod)+  , ("dark_gray",               SVG.dark_gray)+  , ("dark_green",              SVG.dark_green)+  , ("dark_grey",               SVG.dark_grey)+  , ("dark_khaki",              SVG.dark_khaki)+  , ("dark_magenta",            SVG.dark_magenta)+  , ("dark_olive_green",        SVG.dark_olive_green)+  , ("dark_orange",             SVG.dark_orange)+  , ("dark_orchid",             SVG.dark_orchid)+  , ("dark_red",                SVG.dark_red)+  , ("dark_salmon",             SVG.dark_salmon)+  , ("dark_sea_green",          SVG.dark_sea_green)+  , ("dark_slate_blue",         SVG.dark_slate_blue)+  , ("dark_slate_gray",         SVG.dark_slate_gray)+  , ("dark_slate_grey",         SVG.dark_slate_grey)+  , ("dark_turquoise",          SVG.dark_turquoise)+  , ("dark_violet",             SVG.dark_violet)+  , ("deep_pink",               SVG.deep_pink)+  , ("deep_sky_blue",           SVG.deep_sky_blue)+  , ("dim_gray",                SVG.dim_gray)+  , ("dim_grey",                SVG.dim_grey)+  , ("dodger_blue",             SVG.dodger_blue)   , ("firebrick",               SVG.firebrick)-  , ("floralWhite",             SVG.floralWhite)-  , ("forestGreen",             SVG.forestGreen)+  , ("floral_white",            SVG.floral_white)+  , ("forest_green",            SVG.forest_green)   , ("fuchsia",                 SVG.fuchsia)   , ("gainsboro",               SVG.gainsboro)-  , ("ghostWhite",              SVG.ghostWhite)+  , ("ghost_white",             SVG.ghost_white)   , ("gold",                    SVG.gold)   , ("goldenrod",               SVG.goldenrod)   , ("gray",                    SVG.gray)   , ("grey",                    SVG.grey)   , ("green",                   SVG.green)-  , ("greenYellow",             SVG.greenYellow)+  , ("green_yellow",            SVG.green_yellow)   , ("honeydew",                SVG.honeydew)-  , ("hotPink",                 SVG.hotPink)-  , ("indianRed",               SVG.indianRed)+  , ("hot_pink",                SVG.hot_pink)+  , ("indian_red",              SVG.indian_red)   , ("indigo",                  SVG.indigo)   , ("ivory",                   SVG.ivory)   , ("khaki",                   SVG.khaki)   , ("lavender",                SVG.lavender)-  , ("lavenderBlush",           SVG.lavenderBlush)-  , ("lawnGreen",               SVG.lawnGreen)-  , ("lemonChiffon",            SVG.lemonChiffon)-  , ("lightBlue",               SVG.lightBlue)-  , ("lightCoral",              SVG.lightCoral)-  , ("lightCyan",               SVG.lightCyan)-  , ("lightGoldenrodYellow",    SVG.lightGoldenrodYellow)-  , ("lightGray",               SVG.lightGray)-  , ("lightGreen",              SVG.lightGreen)-  , ("lightGrey",               SVG.lightGrey)-  , ("lightPink",               SVG.lightPink)-  , ("lightSalmon",             SVG.lightSalmon)-  , ("lightSeaGreen",           SVG.lightSeaGreen)-  , ("lightSkyBlue",            SVG.lightSkyBlue)-  , ("lightSlateGray",          SVG.lightSlateGray)-  , ("lightSlateGrey",          SVG.lightSlateGrey)-  , ("lightSteelBlue",          SVG.lightSteelBlue)-  , ("lightYellow",             SVG.lightYellow)+  , ("lavender_blush",          SVG.lavender_blush)+  , ("lawn_green",              SVG.lawn_green)+  , ("lemon_chiffon",           SVG.lemon_chiffon)+  , ("light_blue",              SVG.light_blue)+  , ("light_coral",             SVG.light_coral)+  , ("light_cyan",              SVG.light_cyan)+  , ("light_goldenrod_yellow",  SVG.light_goldenrod_yellow)+  , ("light_gray",              SVG.light_gray)+  , ("light_green",             SVG.light_green)+  , ("light_grey",              SVG.light_grey)+  , ("light_pink",              SVG.light_pink)+  , ("light_salmon",            SVG.light_salmon)+  , ("light_sea_green",         SVG.light_sea_green)+  , ("light_sky_blue",          SVG.light_sky_blue)+  , ("light_slate_gray",        SVG.light_slate_gray)+  , ("light_slate_grey",        SVG.light_slate_grey)+  , ("light_steel_blue",        SVG.light_steel_blue)+  , ("light_yellow",            SVG.light_yellow)   , ("lime",                    SVG.lime)-  , ("limeGreen",               SVG.limeGreen)+  , ("lime_green",              SVG.lime_green)   , ("linen",                   SVG.linen)   , ("magenta",                 SVG.magenta)   , ("maroon",                  SVG.maroon)-  , ("mediumAquamarine",        SVG.mediumAquamarine)-  , ("mediumBlue",              SVG.mediumBlue)-  , ("mediumOrchid",            SVG.mediumOrchid)-  , ("mediumPurple",            SVG.mediumPurple)-  , ("mediumSeaGreen",          SVG.mediumSeaGreen)-  , ("mediumSlateBlue",         SVG.mediumSlateBlue)-  , ("mediumSpringGreen",       SVG.mediumSpringGreen)-  , ("mediumTurquoise",         SVG.mediumTurquoise)-  , ("mediumVioletRed",         SVG.mediumVioletRed)-  , ("midnightBlue",            SVG.midnightBlue)+  , ("medium_aquamarine",       SVG.medium_aquamarine)+  , ("medium_blue",             SVG.medium_blue)+  , ("medium_orchid",           SVG.medium_orchid)+  , ("medium_purple",           SVG.medium_purple)+  , ("medium_sea_green",        SVG.medium_sea_green)+  , ("medium_slate_blue",       SVG.medium_slate_blue)+  , ("medium_spring_green",     SVG.medium_spring_green)+  , ("medium_turquoise",        SVG.medium_turquoise)+  , ("medium_violet_red",       SVG.medium_violet_red)+  , ("midnight_blue",           SVG.midnight_blue)   , ("mintcream",               SVG.mintcream)   , ("mistyrose",               SVG.mistyrose)   , ("moccasin",                SVG.moccasin)-  , ("navajoWhite",             SVG.navajoWhite)+  , ("navajo_white",            SVG.navajo_white)   , ("navy",                    SVG.navy)-  , ("oldlace",                 SVG.oldlace)+  , ("old_lace",                SVG.old_lace)   , ("olive",                   SVG.olive)-  , ("oliveDrab",               SVG.oliveDrab)+  , ("olive_drab",              SVG.olive_drab)   , ("orange",                  SVG.orange)-  , ("orangeRed",               SVG.orangeRed)+  , ("orange_red",              SVG.orange_red)   , ("orchid",                  SVG.orchid)-  , ("paleGoldenrod",           SVG.paleGoldenrod)-  , ("paleGreen",               SVG.paleGreen)-  , ("paleTurquoise",           SVG.paleTurquoise)-  , ("paleVioletRed",           SVG.paleVioletRed)-  , ("papayawhip",              SVG.papayawhip)-  , ("peachpuff",               SVG.peachpuff)+  , ("pale_goldenrod",          SVG.pale_goldenrod)+  , ("pale_green",              SVG.pale_green)+  , ("pale_turquoise",          SVG.pale_turquoise)+  , ("pale_violet_red",         SVG.pale_violet_red)+  , ("papaya_whip",             SVG.papaya_whip)+  , ("peach_puff",              SVG.peach_puff)   , ("peru",                    SVG.peru)   , ("pink",                    SVG.pink)   , ("plum",                    SVG.plum)-  , ("powderBlue",              SVG.powderBlue)+  , ("powder_blue",             SVG.powder_blue)   , ("purple",                  SVG.purple)   , ("red",                     SVG.red)-  , ("rosyBrown",               SVG.rosyBrown)-  , ("royalBlue",               SVG.royalBlue)-  , ("saddleBrown",             SVG.saddleBrown)+  , ("rosy_brown",              SVG.rosy_brown)+  , ("royal_blue",              SVG.royal_blue)+  , ("saddle_brown",            SVG.saddle_brown)   , ("salmon",                  SVG.salmon)-  , ("sandyBrown",              SVG.sandyBrown)-  , ("seaGreen",                SVG.seaGreen)+  , ("sandy_brown",             SVG.sandy_brown)+  , ("sea_green",               SVG.sea_green)   , ("seashell",                SVG.seashell)   , ("sienna",                  SVG.sienna)   , ("silver",                  SVG.silver)-  , ("skyBlue",                 SVG.skyBlue)-  , ("slateBlue",               SVG.slateBlue)-  , ("slateGray",               SVG.slateGray)-  , ("slateGrey",               SVG.slateGrey)+  , ("sky_blue",                SVG.sky_blue)+  , ("slate_blue",              SVG.slate_blue)+  , ("slate_gray",              SVG.slate_gray)+  , ("slate_grey",              SVG.slate_grey)   , ("snow",                    SVG.snow)-  , ("springGreen",             SVG.springGreen)-  , ("steelBlue",               SVG.steelBlue)+  , ("spring_green",            SVG.spring_green)+  , ("steel_blue",              SVG.steel_blue)   , ("tan",                     SVG.tan)   , ("teal",                    SVG.teal)   , ("thistle",                 SVG.thistle)@@ -176,17 +176,17 @@   , ("white",                   SVG.white)   , ("whitesmoke",              SVG.whitesmoke)   , ("yellow",                  SVG.yellow)-  , ("yellowGreen",             SVG.yellowGreen)+  , ("yellow_green",            SVG.yellow_green)   ]   -all_x11_colours :: [(String,DRGB)]+all_x11_colours :: [(String,RGBi)] all_x11_colours = -  [ ("antiqueWhite1",           X11.antiqueWhite1)-  , ("antiqueWhite2",           X11.antiqueWhite2)-  , ("antiqueWhite3",           X11.antiqueWhite3)-  , ("antiqueWhite4",           X11.antiqueWhite4)+  [ ("antique_white1",          X11.antique_white1)+  , ("antique_white2",          X11.antique_white2)+  , ("antique_white3",          X11.antique_white3)+  , ("antique_white4",          X11.antique_white4)   , ("aquamarine1",             X11.aquamarine1)   , ("aquamarine2",             X11.aquamarine2)   , ("aquamarine3",             X11.aquamarine3)@@ -211,10 +211,10 @@   , ("burlywood2",              X11.burlywood2)   , ("burlywood3",              X11.burlywood3)   , ("burlywood4",              X11.burlywood4)-  , ("cadetBlue1",              X11.cadetBlue1)-  , ("cadetBlue2",              X11.cadetBlue2)-  , ("cadetBlue3",              X11.cadetBlue3)-  , ("cadetBlue4",              X11.cadetBlue4)+  , ("cadet_blue1",             X11.cadet_blue1)+  , ("cadet_blue2",             X11.cadet_blue2)+  , ("cadet_blue3",             X11.cadet_blue3)+  , ("cadet_blue4",             X11.cadet_blue4)   , ("chartreuse1",             X11.chartreuse1)   , ("chartreuse2",             X11.chartreuse2)   , ("chartreuse3",             X11.chartreuse3)@@ -235,42 +235,42 @@   , ("cyan2",                   X11.cyan2)   , ("cyan3",                   X11.cyan3)   , ("cyan4",                   X11.cyan4)-  , ("darkGoldenrod1",          X11.darkGoldenrod1)-  , ("darkGoldenrod2",          X11.darkGoldenrod2)-  , ("darkGoldenrod3",          X11.darkGoldenrod3)-  , ("darkGoldenrod4",          X11.darkGoldenrod4)-  , ("darkOliveGreen1",         X11.darkOliveGreen1)-  , ("darkOliveGreen2",         X11.darkOliveGreen2)-  , ("darkOliveGreen3",         X11.darkOliveGreen3)-  , ("darkOliveGreen4",         X11.darkOliveGreen4)-  , ("darkOrange1",             X11.darkOrange1)-  , ("darkOrange2",             X11.darkOrange2)-  , ("darkOrange3",             X11.darkOrange3)-  , ("darkOrange4",             X11.darkOrange4)-  , ("darkOrchid1",             X11.darkOrchid1)-  , ("darkOrchid2",             X11.darkOrchid2)-  , ("darkOrchid3",             X11.darkOrchid3)-  , ("darkOrchid4",             X11.darkOrchid4)-  , ("darkSeaGreen1",           X11.darkSeaGreen1)-  , ("darkSeaGreen2",           X11.darkSeaGreen2)-  , ("darkSeaGreen3",           X11.darkSeaGreen3)-  , ("darkSeaGreen4",           X11.darkSeaGreen4)-  , ("darkSlateGray1",          X11.darkSlateGray1)-  , ("darkSlateGray2",          X11.darkSlateGray2)-  , ("darkSlateGray3",          X11.darkSlateGray3)-  , ("darkSlateGray4",          X11.darkSlateGray4)-  , ("deepPink1",               X11.deepPink1)-  , ("deepPink2",               X11.deepPink2)-  , ("deepPink3",               X11.deepPink3)-  , ("deepPink4",               X11.deepPink4)-  , ("deepSkyBlue1",            X11.deepSkyBlue1)-  , ("deepSkyBlue2",            X11.deepSkyBlue2)-  , ("deepSkyBlue3",            X11.deepSkyBlue3)-  , ("deepSkyBlue4",            X11.deepSkyBlue4)-  , ("dodgerBlue1",             X11.dodgerBlue1)-  , ("dodgerBlue2",             X11.dodgerBlue2)-  , ("dodgerBlue3",             X11.dodgerBlue3)-  , ("dodgerBlue4",             X11.dodgerBlue4)+  , ("dark_goldenrod1",         X11.dark_goldenrod1)+  , ("dark_goldenrod2",         X11.dark_goldenrod2)+  , ("dark_goldenrod3",         X11.dark_goldenrod3)+  , ("dark_goldenrod4",         X11.dark_goldenrod4)+  , ("dark_olive_green1",       X11.dark_olive_green1)+  , ("dark_olive_green2",       X11.dark_olive_green2)+  , ("dark_olive_green3",       X11.dark_olive_green3)+  , ("dark_olive_green4",       X11.dark_olive_green4)+  , ("dark_orange1",            X11.dark_orange1)+  , ("dark_orange2",            X11.dark_orange2)+  , ("dark_orange3",            X11.dark_orange3)+  , ("dark_orange4",            X11.dark_orange4)+  , ("dark_orchid1",            X11.dark_orchid1)+  , ("dark_orchid2",            X11.dark_orchid2)+  , ("dark_orchid3",            X11.dark_orchid3)+  , ("dark_orchid4",            X11.dark_orchid4)+  , ("dark_sea_green1",         X11.dark_sea_green1)+  , ("dark_sea_green2",         X11.dark_sea_green2)+  , ("dark_sea_green3",         X11.dark_sea_green3)+  , ("dark_sea_green4",         X11.dark_sea_green4)+  , ("dark_slate_gray1",        X11.dark_slate_gray1)+  , ("dark_slate_gray2",        X11.dark_slate_gray2)+  , ("dark_slate_gray3",        X11.dark_slate_gray3)+  , ("dark_slate_gray4",        X11.dark_slate_gray4)+  , ("deep_pink1",              X11.deep_pink1)+  , ("deep_pink2",              X11.deep_pink2)+  , ("deep_pink3",              X11.deep_pink3)+  , ("deep_pink4",              X11.deep_pink4)+  , ("deep_sky_blue1",          X11.deep_sky_blue1)+  , ("deep_sky_blue2",          X11.deep_sky_blue2)+  , ("deep_sky_blue3",          X11.deep_sky_blue3)+  , ("deep_sky_blue4",          X11.deep_sky_blue4)+  , ("dodger_blue1",            X11.dodger_blue1)+  , ("dodger_blue2",            X11.dodger_blue2)+  , ("dodger_blue3",            X11.dodger_blue3)+  , ("dodger_blue4",            X11.dodger_blue4)   , ("firebrick1",              X11.firebrick1)   , ("firebrick2",              X11.firebrick2)   , ("firebrick3",              X11.firebrick3)@@ -291,14 +291,14 @@   , ("honeydew2",               X11.honeydew2)   , ("honeydew3",               X11.honeydew3)   , ("honeydew4",               X11.honeydew4)-  , ("hotPink1",                X11.hotPink1)-  , ("hotPink2",                X11.hotPink2)-  , ("hotPink3",                X11.hotPink3)-  , ("hotPink4",                X11.hotPink4)-  , ("indianRed1",              X11.indianRed1)-  , ("indianRed2",              X11.indianRed2)-  , ("indianRed3",              X11.indianRed3)-  , ("indianRed4",              X11.indianRed4)+  , ("hot_pink1",               X11.hot_pink1)+  , ("hot_pink2",               X11.hot_pink2)+  , ("hot_pink3",               X11.hot_pink3)+  , ("hot_pink4",               X11.hot_pink4)+  , ("indian_red1",             X11.indian_red1)+  , ("indian_red2",             X11.indian_red2)+  , ("indian_red3",             X11.indian_red3)+  , ("indian_red4",             X11.indian_red4)   , ("ivory1",                  X11.ivory1)   , ("ivory2",                  X11.ivory2)   , ("ivory3",                  X11.ivory3)@@ -307,46 +307,46 @@   , ("khaki2",                  X11.khaki2)   , ("khaki3",                  X11.khaki3)   , ("khaki4",                  X11.khaki4)-  , ("lavenderBlush1",          X11.lavenderBlush1)-  , ("lavenderBlush2",          X11.lavenderBlush2)-  , ("lavenderBlush3",          X11.lavenderBlush3)-  , ("lavenderBlush4",          X11.lavenderBlush4)-  , ("lemonChiffon1",           X11.lemonChiffon1)-  , ("lemonChiffon2",           X11.lemonChiffon2)-  , ("lemonChiffon3",           X11.lemonChiffon3)-  , ("lemonChiffon4",           X11.lemonChiffon4)-  , ("lightBlue1",              X11.lightBlue1)-  , ("lightBlue2",              X11.lightBlue2)-  , ("lightBlue3",              X11.lightBlue3)-  , ("lightBlue4",              X11.lightBlue4)-  , ("lightCyan1",              X11.lightCyan1)-  , ("lightCyan2",              X11.lightCyan2)-  , ("lightCyan3",              X11.lightCyan3)-  , ("lightCyan4",              X11.lightCyan4)-  , ("lightGoldenrod1",         X11.lightGoldenrod1)-  , ("lightGoldenrod2",         X11.lightGoldenrod2)-  , ("lightGoldenrod3",         X11.lightGoldenrod3)-  , ("lightGoldenrod4",         X11.lightGoldenrod4)-  , ("lightPink1",              X11.lightPink1)-  , ("lightPink2",              X11.lightPink2)-  , ("lightPink3",              X11.lightPink3)-  , ("lightPink4",              X11.lightPink4)-  , ("lightSalmon1",            X11.lightSalmon1)-  , ("lightSalmon2",            X11.lightSalmon2)-  , ("lightSalmon3",            X11.lightSalmon3)-  , ("lightSalmon4",            X11.lightSalmon4)-  , ("lightSkyBlue1",           X11.lightSkyBlue1)-  , ("lightSkyBlue2",           X11.lightSkyBlue2)-  , ("lightSkyBlue3",           X11.lightSkyBlue3)-  , ("lightSkyBlue4",           X11.lightSkyBlue4)-  , ("lightSteelBlue1",         X11.lightSteelBlue1)-  , ("lightSteelBlue2",         X11.lightSteelBlue2)-  , ("lightSteelBlue3",         X11.lightSteelBlue3)-  , ("lightSteelBlue4",         X11.lightSteelBlue4)-  , ("lightYellow1",            X11.lightYellow1)-  , ("lightYellow2",            X11.lightYellow2)-  , ("lightYellow3",            X11.lightYellow3)-  , ("lightYellow4",            X11.lightYellow4)+  , ("lavender_blush1",         X11.lavender_blush1)+  , ("lavender_blush2",         X11.lavender_blush2)+  , ("lavender_blush3",         X11.lavender_blush3)+  , ("lavender_blush4",         X11.lavender_blush4)+  , ("lemon_chiffon1",          X11.lemon_chiffon1)+  , ("lemon_chiffon2",          X11.lemon_chiffon2)+  , ("lemon_chiffon3",          X11.lemon_chiffon3)+  , ("lemon_chiffon4",          X11.lemon_chiffon4)+  , ("light_blue1",             X11.light_blue1)+  , ("light_blue2",             X11.light_blue2)+  , ("light_blue3",             X11.light_blue3)+  , ("light_blue4",             X11.light_blue4)+  , ("light_cyan1",             X11.light_cyan1)+  , ("light_cyan2",             X11.light_cyan2)+  , ("light_cyan3",             X11.light_cyan3)+  , ("light_cyan4",             X11.light_cyan4)+  , ("light_goldenrod1",        X11.light_goldenrod1)+  , ("light_goldenrod2",        X11.light_goldenrod2)+  , ("light_goldenrod3",        X11.light_goldenrod3)+  , ("light_goldenrod4",        X11.light_goldenrod4)+  , ("light_pink1",             X11.light_pink1)+  , ("light_pink2",             X11.light_pink2)+  , ("light_pink3",             X11.light_pink3)+  , ("light_pink4",             X11.light_pink4)+  , ("light_salmon1",           X11.light_salmon1)+  , ("light_salmon2",           X11.light_salmon2)+  , ("light_salmon3",           X11.light_salmon3)+  , ("light_salmon4",           X11.light_salmon4)+  , ("light_sky_blue1",         X11.light_sky_blue1)+  , ("light_sky_blue2",         X11.light_sky_blue2)+  , ("light_sky_blue3",         X11.light_sky_blue3)+  , ("light_sky_blue4",         X11.light_sky_blue4)+  , ("light_steel_blue1",       X11.light_steel_blue1)+  , ("light_steel_blue2",       X11.light_steel_blue2)+  , ("light_steel_blue3",       X11.light_steel_blue3)+  , ("light_steel_blue4",       X11.light_steel_blue4)+  , ("light_yellow1",           X11.light_yellow1)+  , ("light_yellow2",           X11.light_yellow2)+  , ("light_yellow3",           X11.light_yellow3)+  , ("light_yellow4",           X11.light_yellow4)   , ("magenta1",                X11.magenta1)   , ("magenta2",                X11.magenta2)   , ("magenta3",                X11.magenta3)@@ -355,54 +355,54 @@   , ("maroon2",                 X11.maroon2)   , ("maroon3",                 X11.maroon3)   , ("maroon4",                 X11.maroon4)-  , ("mediumOrchid1",           X11.mediumOrchid1)-  , ("mediumOrchid2",           X11.mediumOrchid2)-  , ("mediumOrchid3",           X11.mediumOrchid3)-  , ("mediumOrchid4",           X11.mediumOrchid4)-  , ("mediumPurple1",           X11.mediumPurple1)-  , ("mediumPurple2",           X11.mediumPurple2)-  , ("mediumPurple3",           X11.mediumPurple3)-  , ("mediumPurple4",           X11.mediumPurple4)-  , ("mistyRose1",              X11.mistyRose1)-  , ("mistyRose2",              X11.mistyRose2)-  , ("mistyRose3",              X11.mistyRose3)-  , ("mistyRose4",              X11.mistyRose4)-  , ("navajoWhite1",            X11.navajoWhite1)-  , ("navajoWhite2",            X11.navajoWhite2)-  , ("navajoWhite3",            X11.navajoWhite3)-  , ("navajoWhite4",            X11.navajoWhite4)-  , ("oliveDrab1",              X11.oliveDrab1)-  , ("oliveDrab2",              X11.oliveDrab2)-  , ("oliveDrab3",              X11.oliveDrab3)-  , ("oliveDrab4",              X11.oliveDrab4)+  , ("medium_orchid1",          X11.medium_orchid1)+  , ("medium_orchid2",          X11.medium_orchid2)+  , ("medium_orchid3",          X11.medium_orchid3)+  , ("medium_orchid4",          X11.medium_orchid4)+  , ("medium_purple1",          X11.medium_purple1)+  , ("medium_purple2",          X11.medium_purple2)+  , ("medium_purple3",          X11.medium_purple3)+  , ("medium_purple4",          X11.medium_purple4)+  , ("misty_rose1",             X11.misty_rose1)+  , ("misty_rose2",             X11.misty_rose2)+  , ("misty_rose3",             X11.misty_rose3)+  , ("misty_rose4",             X11.misty_rose4)+  , ("navajo_white1",           X11.navajo_white1)+  , ("navajo_white2",           X11.navajo_white2)+  , ("navajo_white3",           X11.navajo_white3)+  , ("navajo_white4",           X11.navajo_white4)+  , ("olive_drab1",             X11.olive_drab1)+  , ("olive_drab2",             X11.olive_drab2)+  , ("olive_drab3",             X11.olive_drab3)+  , ("olive_drab4",             X11.olive_drab4)   , ("orange1",                 X11.orange1)   , ("orange2",                 X11.orange2)   , ("orange3",                 X11.orange3)   , ("orange4",                 X11.orange4)-  , ("orangeRed1",              X11.orangeRed1)-  , ("orangeRed2",              X11.orangeRed2)-  , ("orangeRed3",              X11.orangeRed3)-  , ("orangeRed4",              X11.orangeRed4)+  , ("orange_red1",             X11.orange_red1)+  , ("orange_red2",             X11.orange_red2)+  , ("orange_red3",             X11.orange_red3)+  , ("orange_red4",             X11.orange_red4)   , ("orchid1",                 X11.orchid1)   , ("orchid2",                 X11.orchid2)   , ("orchid3",                 X11.orchid3)   , ("orchid4",                 X11.orchid4)-  , ("paleGreen1",              X11.paleGreen1)-  , ("paleGreen2",              X11.paleGreen2)-  , ("paleGreen3",              X11.paleGreen3)-  , ("paleGreen4",              X11.paleGreen4)-  , ("paleTurquoise1",          X11.paleTurquoise1)-  , ("paleTurquoise2",          X11.paleTurquoise2)-  , ("paleTurquoise3",          X11.paleTurquoise3)-  , ("paleTurquoise4",          X11.paleTurquoise4)-  , ("paleVioletRed1",          X11.paleVioletRed1)-  , ("paleVioletRed2",          X11.paleVioletRed2)-  , ("paleVioletRed3",          X11.paleVioletRed3)-  , ("paleVioletRed4",          X11.paleVioletRed4)-  , ("peachPuff1",              X11.peachPuff1)-  , ("peachPuff2",              X11.peachPuff2)-  , ("peachPuff3",              X11.peachPuff3)-  , ("peachPuff4",              X11.peachPuff4)+  , ("pale_green1",             X11.pale_green1)+  , ("pale_green2",             X11.pale_green2)+  , ("pale_green3",             X11.pale_green3)+  , ("pale_green4",             X11.pale_green4)+  , ("pale_turquoise1",         X11.pale_turquoise1)+  , ("pale_turquoise2",         X11.pale_turquoise2)+  , ("pale_turquoise3",         X11.pale_turquoise3)+  , ("pale_turquoise4",         X11.pale_turquoise4)+  , ("pale_violet_red1",        X11.pale_violet_red1)+  , ("pale_violet_red2",        X11.pale_violet_red2)+  , ("pale_violet_red3",        X11.pale_violet_red3)+  , ("pale_Violet_red4",        X11.pale_violet_red4)+  , ("peach_puff1",             X11.peach_puff1)+  , ("peach_puff2",             X11.peach_puff2)+  , ("peach_puff3",             X11.peach_puff3)+  , ("peach_puff4",             X11.peach_puff4)   , ("pink1",                   X11.pink1)   , ("pink2",                   X11.pink2)   , ("pink3",                   X11.pink3)@@ -419,22 +419,22 @@   , ("red2",                    X11.red2)   , ("red3",                    X11.red3)   , ("red4",                    X11.red4)-  , ("rosyBrown1",              X11.rosyBrown1)-  , ("rosyBrown2",              X11.rosyBrown2)-  , ("rosyBrown3",              X11.rosyBrown3)-  , ("rosyBrown4",              X11.rosyBrown4)-  , ("royalBlue1",              X11.royalBlue1)-  , ("royalBlue2",              X11.royalBlue2)-  , ("royalBlue3",              X11.royalBlue3)-  , ("royalBlue4",              X11.royalBlue4)+  , ("rosy_brown1",             X11.rosy_brown1)+  , ("rosy_brown2",             X11.rosy_brown2)+  , ("rosy_brown3",             X11.rosy_brown3)+  , ("rosy_brown4",             X11.rosy_brown4)+  , ("royal_blue1",             X11.royal_blue1)+  , ("royal_blue2",             X11.royal_blue2)+  , ("royal_blue3",             X11.royal_blue3)+  , ("royal_blue4",             X11.royal_blue4)   , ("salmon1",                 X11.salmon1)   , ("salmon2",                 X11.salmon2)   , ("salmon3",                 X11.salmon3)   , ("salmon4",                 X11.salmon4)-  , ("seaGreen1",               X11.seaGreen1)-  , ("seaGreen2",               X11.seaGreen2)-  , ("seaGreen3",               X11.seaGreen3)-  , ("seaGreen4",               X11.seaGreen4)+  , ("sea_green1",              X11.sea_green1)+  , ("sea_green2",              X11.sea_green2)+  , ("sea_green3",              X11.sea_green3)+  , ("sea_green4",              X11.sea_green4)   , ("seashell1",               X11.seashell1)   , ("seashell2",               X11.seashell2)   , ("seashell3",               X11.seashell3)@@ -443,30 +443,30 @@   , ("sienna2",                 X11.sienna2)   , ("sienna3",                 X11.sienna3)   , ("sienna4",                 X11.sienna4)-  , ("skyBlue1",                X11.skyBlue1)-  , ("skyBlue2",                X11.skyBlue2)-  , ("skyBlue3",                X11.skyBlue3)-  , ("skyBlue4",                X11.skyBlue4)-  , ("slateBlue1",              X11.slateBlue1)-  , ("slateBlue2",              X11.slateBlue2)-  , ("slateBlue3",              X11.slateBlue3)-  , ("slateBlue4",              X11.slateBlue4)-  , ("slateGray1",              X11.slateGray1)-  , ("slateGray2",              X11.slateGray2)-  , ("slateGray3",              X11.slateGray3)-  , ("slateGray4",              X11.slateGray4)+  , ("sky_blue1",               X11.sky_blue1)+  , ("sky_blue2",               X11.sky_blue2)+  , ("sky_blue3",               X11.sky_blue3)+  , ("sky_blue4",               X11.sky_blue4)+  , ("slate_blue1",             X11.slate_blue1)+  , ("slate_blue2",             X11.slate_blue2)+  , ("slate_blue3",             X11.slate_blue3)+  , ("slate_blue4",             X11.slate_blue4)+  , ("slate_gray1",             X11.slate_gray1)+  , ("slate_gray2",             X11.slate_gray2)+  , ("slate_gray3",             X11.slate_gray3)+  , ("slate_gray4",             X11.slate_gray4)   , ("snow1",                   X11.snow1)   , ("snow2",                   X11.snow2)   , ("snow3",                   X11.snow3)   , ("snow4",                   X11.snow4)-  , ("springGreen1",            X11.springGreen1)-  , ("springGreen2",            X11.springGreen2)-  , ("springGreen3",            X11.springGreen3)-  , ("springGreen4",            X11.springGreen4)-  , ("steelBlue1",              X11.steelBlue1)-  , ("steelBlue2",              X11.steelBlue2)-  , ("steelBlue3",              X11.steelBlue3)-  , ("steelBlue4",              X11.steelBlue4)+  , ("spring_green1",           X11.spring_green1)+  , ("spring_green2",           X11.spring_green2)+  , ("spring_green3",           X11.spring_green3)+  , ("spring_green4",           X11.spring_green4)+  , ("steel_blue1",             X11.steel_blue1)+  , ("steel_blue2",             X11.steel_blue2)+  , ("steel_blue3",             X11.steel_blue3)+  , ("steel_blue4",             X11.steel_blue4)   , ("tan1",                    X11.tan1)   , ("tan2",                    X11.tan2)   , ("tan3",                    X11.tan3)@@ -483,10 +483,10 @@   , ("turquoise2",              X11.turquoise2)   , ("turquoise3",              X11.turquoise3)   , ("turquoise4",              X11.turquoise4)-  , ("violetRed1",              X11.violetRed1)-  , ("violetRed2",              X11.violetRed2)-  , ("violetRed3",              X11.violetRed3)-  , ("violetRed4",              X11.violetRed4)+  , ("violet_red1",             X11.violet_red1)+  , ("violet_red2",             X11.violet_red2)+  , ("violet_red3",             X11.violet_red3)+  , ("violet_red4",             X11.violet_red4)   , ("wheat1",                  X11.wheat1)   , ("wheat2",                  X11.wheat2)   , ("wheat3",                  X11.wheat3)@@ -495,11 +495,6 @@   , ("yellow2",                 X11.yellow2)   , ("yellow3",                 X11.yellow3)   , ("yellow4",                 X11.yellow4)-  , ("gray0",                   X11.gray0)-  , ("green0",                  X11.green0)-  , ("grey0",                   X11.grey0)-  , ("maroon0",                 X11.maroon0)-  , ("purple0",                 X11.purple0)   ]  
demo/DotPic.hs view
@@ -3,12 +3,12 @@ module DotPic where  +import Wumpus.Basic.Colour.SVGColours import Wumpus.Basic.Dots.Base import Wumpus.Basic.Graphic import Wumpus.Basic.Graphic.DrawingAttr-import Wumpus.Basic.SVGColours+import Wumpus.Basic.PictureLanguage import Wumpus.Basic.Utils.HList-import Wumpus.Deprecated.PictureLanguage  import Wumpus.Core                      -- package: wumpus-core @@ -29,7 +29,7 @@     writeSVG_latin1 "./out/dots01.svg" pic   where      pic :: Picture Double-    pic = extendBoundary 10 10 $ +    pic = extendBoundary 10 10 $           uniformScale 2       $              vsepA VLeft 10 p1 [p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14                               ,p15,p16,p17]@@ -63,7 +63,7 @@ makeDotPic fn xs = drawGraphicU $ veloH (fn std_attr) xs . dashline   where     dashline = wrapG $ ostroke attr $ vertexPath xs-    attr     = (cadetBlue, DashPattern $ evenDashes 1)+    attr     = (cadet_blue, DashPattern $ evenDashes 1)   errK :: a
demo/FontPic.hs view
@@ -3,9 +3,9 @@ module FontPic where  import Wumpus.Basic.SafeFonts-import Wumpus.Basic.SVGColours ( steelBlue )-import Wumpus.Basic.X11Colours ( indianRed1 )-import Wumpus.Deprecated.PictureLanguage+import Wumpus.Basic.Colour.SVGColours ( steel_blue )+import Wumpus.Basic.Colour.X11Colours ( indian_red1 )+import Wumpus.Basic.PictureLanguage  import Wumpus.Core                              -- package: wumpus-core @@ -29,16 +29,16 @@     writeSVG_latin1 "./out/font_symbol.svg"    symbol_pic  -makeFontLabel :: DRGB -> FontAttr -> DPoint2 -> DPrimitive+makeFontLabel :: RGBi -> FontAttr -> DPoint2 -> DPrimitive makeFontLabel c fa = textlabel (c,fa) msg   where     msg = unwords [ font_name $ font_face fa, (show $ font_size fa) ++ "pt"]  blueLabel :: FontFace -> Int -> DPoint2 -> DPrimitive-blueLabel ff i = makeFontLabel steelBlue (FontAttr i ff)+blueLabel ff i = makeFontLabel steel_blue (FontAttr i ff)  redLabel :: FontFace -> Int -> DPoint2 -> DPrimitive-redLabel ff i = makeFontLabel indianRed1 (FontAttr i ff)+redLabel ff i = makeFontLabel indian_red1 (FontAttr i ff)   point_sizes :: [Int]@@ -48,76 +48,79 @@ -- Times  times_pic :: Picture Double-times_pic = timesroman_pic -//- timesitalic_pic -//- timesbold_pic-                           -//- timesbolditalic_pic+times_pic = timesroman_pic `nextToV` timesitalic_pic     `nextToV` timesbold_pic+                           `nextToV` timesbolditalic_pic    timesroman_pic :: Picture Double timesroman_pic = -    frameMulti $ zipWith (blueLabel timesRoman) point_sizes (mkPoints 1.5)+    frame $ zipWith (blueLabel timesRoman) point_sizes (mkPoints 1.5)  timesitalic_pic :: Picture Double timesitalic_pic = -    frameMulti $ zipWith (redLabel timesItalic) point_sizes (mkPoints 1.5)+    frame $ zipWith (redLabel timesItalic) point_sizes (mkPoints 1.5)  timesbold_pic :: Picture Double timesbold_pic = -    frameMulti $ zipWith (blueLabel timesBold) point_sizes (mkPoints 1.5)+    frame $ zipWith (blueLabel timesBold) point_sizes (mkPoints 1.5)  timesbolditalic_pic :: Picture Double timesbolditalic_pic = -    frameMulti $ zipWith (redLabel timesBoldItalic) point_sizes (mkPoints 1.5)+    frame $ zipWith (redLabel timesBoldItalic) point_sizes (mkPoints 1.5)  -------------------------------------------------------------------------------- helvetica_pic :: Picture Double-helvetica_pic = helvetica_pic1 -//- helveticaoblique_pic -//- helveticabold_pic-                           -//- helveticaboldoblique_pic+helvetica_pic = vcat helvetica_pic1 [ helveticaoblique_pic  +                                    , helveticabold_pic+                                    , helveticaboldoblique_pic ]+                       helvetica_pic1 :: Picture Double helvetica_pic1 = -    frameMulti $ zipWith (blueLabel helvetica) point_sizes (mkPoints 1.5)+    frame $ zipWith (blueLabel helvetica) point_sizes (mkPoints 1.5)  helveticaoblique_pic :: Picture Double helveticaoblique_pic = -    frameMulti $ zipWith (redLabel helveticaOblique) point_sizes (mkPoints 1.5)+    frame $ zipWith (redLabel helveticaOblique) point_sizes (mkPoints 1.5)      helveticabold_pic :: Picture Double helveticabold_pic = -    frameMulti $ zipWith (blueLabel helveticaBold) point_sizes (mkPoints 1.5)+    frame $ zipWith (blueLabel helveticaBold) point_sizes (mkPoints 1.5)      helveticaboldoblique_pic :: Picture Double helveticaboldoblique_pic = -    frameMulti $ zipWith (redLabel helveticaBoldOblique) point_sizes (mkPoints 1.5)+    frame $ zipWith (redLabel helveticaBoldOblique) point_sizes (mkPoints 1.5)  --------------------------------------------------------------------------------  courier_pic :: Picture Double-courier_pic = courier_pic1 -//- courieroblique_pic -//- courierbold_pic-                           -//- courierboldoblique_pic+courier_pic = vcat courier_pic1 [ courieroblique_pic+                                , courierbold_pic+                                , courierboldoblique_pic ]      courier_pic1 :: Picture Double courier_pic1 = -    frameMulti $ zipWith (blueLabel courier) point_sizes (mkPoints 1.5)+    frame $ zipWith (blueLabel courier) point_sizes (mkPoints 1.5)      courieroblique_pic :: Picture Double courieroblique_pic = -    frameMulti $ zipWith (redLabel courierOblique) point_sizes (mkPoints 1.5)+    frame $ zipWith (redLabel courierOblique) point_sizes (mkPoints 1.5)      courierbold_pic :: Picture Double courierbold_pic = -    frameMulti $ zipWith (blueLabel courierBold) point_sizes (mkPoints 1.5)+    frame $ zipWith (blueLabel courierBold) point_sizes (mkPoints 1.5)      courierboldoblique_pic :: Picture Double courierboldoblique_pic = -    frameMulti $ zipWith (redLabel courierBoldOblique) point_sizes (mkPoints 1.5)+    frame $ zipWith (redLabel courierBoldOblique) point_sizes (mkPoints 1.5)  --------------------------------------------------------------------------------       symbol_pic :: Picture Double symbol_pic = -    frameMulti $ zipWith (blueLabel symbol) point_sizes (mkPoints 1.5)+    frame $ zipWith (blueLabel symbol) point_sizes (mkPoints 1.5)   --------------------------------------------------------------------------------
demo/Picture.hs view
@@ -2,206 +2,146 @@  module Picture where -import Wumpus.Core-import Wumpus.Deprecated.PictureLanguage+import Wumpus.Basic.Colour.SVGColours+import Wumpus.Basic.Graphic+import Wumpus.Basic.PictureLanguage+import Wumpus.Basic.SafeFonts +import Wumpus.Core                              -- package: wumpus-core+ import System.Directory   main :: IO () main = do      createDirectoryIfMissing True "./out/"-    sequence_  [ demo01, demo02, demo03, demo04, demo05-               , demo06, demo07, demo08, demo09, demo10-               , demo11, demo12, demo13, demo14 ]--peru :: PSRgb-peru = RGB3 0.804  0.522  0.247--plum :: PSRgb-plum = RGB3 0.867  0.627  0.867--black :: PSRgb-black = RGB3 0 0 0 ---square :: DPicture -square = frame $ cstroke () $ vertexPath-  [ P2 0 0, P2 40 0, P2 40 40, P2 0 40 ]--funnyshape :: DPicture-funnyshape = frame $ cstroke () $ vertexPath-  [ P2 0 0, P2 20 0, P2 20 10, P2 30 10, P2 30 20, P2 0 20 ]---demo01 :: IO ()-demo01 = do -  writePS_latin1  "./out/picture01.ps"    [funnyshape ->- square]-  writeSVG_latin1 "./out/picture01.svg" $ funnyshape ->- square---pic1 :: Picture Double-pic1 = square ->- (funnyshape ->- funnyshape) ->- square+    >> writeEPS_latin1 "./out/picture_lang.eps" pictures+    >> writeSVG_latin1 "./out/picture_lang.svg" pictures -squares :: Picture Double-squares = square ->- square ->- square+pictures :: DPicture+pictures = vsep 12 pic1 [ pic2,  pic3,  pic4,  pic5+                        , pic6,  pic7,  pic8,  pic9+                        , pic10, pic11, pic12, pic13 ] -demo02 :: IO ()-demo02 = do -   writePS_latin1  "./out/picture02.ps"  [squares]-   writeSVG_latin1 "./out/picture02.svg" squares -    +pic1 :: DPicture+pic1 = picAnno pic "red `over` green `over` blue"+  where+    pic :: DPicture+    pic = illustrateBounds blue $ rect_red `over` rect_green `over` rect_blue -demo03 :: IO ()-demo03 = do -    writeEPS_latin1 "./out/picture03.eps" p1 -    writeSVG_latin1 "./out/picture03.svg" p1-  where     -    p1 = square ->- (rotate45About (center squares) squares) ->- square+pic2 :: DPicture+pic2 = picAnno pic "red `under` green `under` blue"+  where+    pic :: DPicture+    pic = illustrateBounds blue $ rect_red `under` rect_green `under` rect_blue  -demo04 :: IO ()-demo04 = do -    writeEPS_latin1 "./out/picture04.eps" p1-    writeSVG_latin1 "./out/picture04.svg" p1+pic3 :: DPicture +pic3 = picAnno pic "rect_red `centerOver` rect_green `centerOver` rect_blue"   where-    p1 = square -//- squares-   +    pic :: DPicture+    pic = illustrateBounds blue $ +            rect_red `centerOver` rect_green `centerOver` rect_blue -demo05 :: IO ()-demo05 = do -    writeEPS_latin1 "./out/picture05.eps" p1-    writeSVG_latin1 "./out/picture05.svg" p1+-- Note - nextToH only moves pictures in the horizontal.+--+pic4 :: DPicture +pic4 = picAnno pic "rect_red `nextToH` rect_green `nextToH` rect_blue"   where-    p1 = square `over` (rotate (pi/4) squares)-   +    pic :: DPicture+    pic = illustrateBounds blue $ +            rect_red `nextToH` rect_green `nextToH` rect_blue -demo06 :: IO ()-demo06 = do -    writeEPS_latin1 "./out/picture06.eps" p1-    writeSVG_latin1 "./out/picture06.svg" p1+-- Note - nextToV only moves pictures in the vertical.+--+pic5 :: DPicture +pic5 = picAnno pic "rect_red `nextToV` rect_green `nextToV` rect_blue"   where-    p1 = square `over` (rotate45 square)+    pic :: DPicture+    pic = illustrateBounds blue $ +            rect_red `nextToV` rect_green `nextToV` rect_blue  --- Note the move via @at@ is not apparent when SVG file is --- viewed with Mozilla or Chrome - check picture7a.svg--- We only see that the move has /worked/ when we compose--- with with `over` a square at the origin. --demo07 :: IO ()-demo07 = do -    writeEPS_latin1 "./out/picture07.eps" p1-    writeSVG_latin1 "./out/picture07.svg" p1-    writeSVG_latin1 "./out/picture07a.svg" p2+pic6 :: DPicture+pic6 = picAnno pic "[red, green] `stackOver` blue"   where-    p1 = square `over` p2-    p2 = (square `at` (P2 100 30))  -@- (rotate45 square)-+    pic :: DPicture+    pic = illustrateBounds blue $ +            [rect_red, rect_green] `stackOver` rect_blue -demo08 :: IO ()-demo08 = do -    writeEPS_latin1 "./out/picture08.eps" p1-    writeSVG_latin1 "./out/picture08.svg" p1+pic7 :: DPicture+pic7 = picAnno pic "zconcat red [green, blue]"   where-    p1 = hspace 20 square square--mkFilledSquare :: (PSColour c, Fill c) => c -> Double -> DPicture -mkFilledSquare col n = frame $ fill col $ vertexPath-  [ P2 0 0, P2 n 0, P2 n n, P2 0 n ]+    pic :: DPicture+    pic = illustrateBounds blue $ +            zconcat rect_red [rect_green, rect_blue]  -demo09 :: IO ()-demo09 = do -    writeEPS_latin1 "./out/picture09.eps" p1-    writeSVG_latin1 "./out/picture09.svg" p1+pic8 :: DPicture+pic8 = picAnno pic "hcat red [green, blue]"   where-    p1 = (alignH HTop s1 s2) `op` s3-    s1 = uniformScale 1.5  $ mkFilledSquare plum 40-    s2 = uniformScale 1.75 $ mkFilledSquare peru 40-    s3 = scale 3 1.5       $ mkFilledSquare black 40-    op = alignH HBottom- +    pic :: DPicture+    pic = illustrateBounds blue $ +            hcat rect_red [rect_green, rect_blue] -demo10 :: IO ()-demo10 = do -    writeEPS_latin1 "./out/picture10.eps" p1-    writeSVG_latin1 "./out/picture10.svg" p1+pic9 :: DPicture+pic9 = picAnno pic "vcat red [green, blue]"   where-    p1 = vsepA VRight 5 s1 [s2,s3]-    s1 = uniformScale 1.5  $ mkFilledSquare plum 40-    s2 = uniformScale 1.75 $ mkFilledSquare peru 40-    s3 = scale 3 1.5       $ mkFilledSquare black 40- +    pic :: DPicture+    pic = illustrateBounds blue $ +            vcat rect_red [rect_green, rect_blue] +pic10 :: DPicture+pic10 = picAnno pic "hsep 20 red [green, blue]"+  where+    pic :: DPicture+    pic = illustrateBounds blue $ +            hsep 20 rect_red [rect_green, rect_blue] --- Stroked ellipe problem under scaling...-demo11 :: IO ()-demo11 = do -    writeEPS_latin1 "./out/picture11.eps" pic-    writeSVG_latin1 "./out/picture11.svg" pic+pic11 :: DPicture+pic11 = picAnno pic "vsep 20 red [green, blue]"   where-    pic :: Picture Double-    pic = p1 -//- p2-    p1 = scale 6 12 $ frame $ ellipse (plum, LineWidth 2) 4 6 zeroPt-    p2 = scale 6 12 $ frame $ ellipse (peru, LineWidth 2) 6 6 zeroPt+    pic :: DPicture+    pic = illustrateBounds blue $ +            vsep 20 rect_red [rect_green, rect_blue]  --- Note the movement of the plum square won't be regarded by --- Firefox as it crops whitespace automatically.-demo12 :: IO ()-demo12 = do -    writeEPS_latin1 "./out/picture12.eps" pic-    writeSVG_latin1 "./out/picture12.svg" pic+pic12 :: DPicture+pic12 = picAnno pic "hcatA HTop red [green, blue]"   where-    pic :: Picture Double-    pic = p1 -//- p2 -//- p3 -//- p4-    p1 = small_black -@- large_plum     -- moves black-    p2 = large_plum  -@- small_black    -- moves plum-    p3 = small_black ->- large_plum     -- moves plum-    p4 = small_black -<- large_plum     -- moves black--    small_black = mkFilledSquare black 10 `at` P2 30 0-    large_plum  = mkFilledSquare plum  40 `at` P2 100 0+    pic :: DPicture+    pic = illustrateBounds blue $ +            hcatA HTop rect_red [rect_green, rect_blue]  -demo13 :: IO ()-demo13 = do -    writeEPS_latin1 "./out/picture13.eps" pic-    writeSVG_latin1 "./out/picture13.svg" pic+pic13 :: DPicture+pic13 = picAnno pic "vcatA VCenter red [green, blue]"   where-    pic :: Picture Double-    pic = (p1 `at` P2 20 20) ->- (p2 `at` P2 60 20) +    pic :: DPicture+    pic = illustrateBounds blue $ +            vcatA VCenter rect_red [rect_green, rect_blue] -    p1 = small_black `below` small_peru   -- moves small black-    p2 = small_black `above` small_plum   -- moves small black -    small_black = mkFilledSquare black 10 `at` P2 50 0-    small_plum  = mkFilledSquare plum  10 `at` P2 50 0-    small_peru  = mkFilledSquare peru  10 `at` P2 50 0+-------------------------------------------------------------------------------- -demo14 :: IO ()-demo14 = do -    writeEPS_latin1 "./out/picture14.eps" pic-    writeSVG_latin1 "./out/picture14.svg" pic+picAnno :: DPicture -> String -> DPicture+picAnno pic msg = alignHSep HCenter 30 pic lbl   where-    pic :: Picture Double-    pic = hsep 40 p1 [p2,p3,p4,p5,p6]+    lbl = drawGraphicU $ supply (P2 0 0) $ +            textline (black,FontAttr 14 courier) msg -    p1 = alignH HTop    small_black mid_peru-    p2 = alignH HBottom small_black mid_plum-    p3 = alignH HCenter small_black mid_peru -    p4 = alignV VLeft   mid_black small_peru-    p5 = alignV VRight  mid_black small_plum-    p6 = alignV VCenter mid_black small_peru+rect_red :: DPicture+rect_red = drawGraphicU $ supply (P2 0 10) $ +          strokedRectangle black 30 10 `cc` filledRectangle indian_red 30 10 -    small_black = mkFilledSquare black 10 `at` P2 10 0-    mid_plum    = mkFilledSquare plum  25 `at` P2 50 0-    mid_peru    = mkFilledSquare peru  25 `at` P2 50 0+rect_green :: DPicture+rect_green = drawGraphicU $ supply (P2 10 10) $ +    strokedRectangle black 15 15 `cc` filledRectangle olive_drab 15 15 -    mid_black   = mkFilledSquare black 25 `at` P2 10 10-    small_plum  = mkFilledSquare plum  10 `at` P2 10 50-    small_peru  = mkFilledSquare peru  10 `at` P2 10 50++rect_blue :: DPicture+rect_blue = drawGraphicU $ supply (P2 10 0) $ +    strokedRectangle black 20 30 `cc` filledRectangle powder_blue 20 30  
src/Wumpus/Basic/Arrows.hs view
@@ -42,6 +42,7 @@ import Wumpus.Basic.Monads.Drawing import Wumpus.Basic.Paths import Wumpus.Basic.Paths.Base+import Wumpus.Basic.Utils.Intersection ( langle )  import Wumpus.Core                      -- package: wumpus-core @@ -52,7 +53,7 @@ arrowWidth = fromPtSize . xcharHeight . font_size . font_props  -line :: Num u => BPathF u -> AConnector u (BPath u)+line :: Num u => PathF u -> AConnector u (Path u) line pathF p0 p1 = AGraphic df mf   where     df attr () = pathGraphic (pathF p0 p1) attr@@ -62,57 +63,57 @@   arrowTri90 :: (Real u, Floating u, FromPtSize u) -           => BPathF u -> AConnector u (BPath u)+           => PathF u -> AConnector u (Path u) arrowTri90 pathF = \p0 p1 ->      AGraphic (\attr () -> triTipRight pathF tri90 p0 p1 attr)               (\_    () -> pathF p0 p1)  arrowTri60 :: (Real u, Floating u, FromPtSize u) -           => BPathF u -> AConnector u (BPath u)+           => PathF u -> AConnector u (Path u) arrowTri60 pathF = \p0 p1 ->     AGraphic (\attr () -> triTipRight pathF tri60 p0 p1 attr)               (\_    () -> pathF p0 p1)   arrowTri45 :: (Real u, Floating u, FromPtSize u) -           => BPathF u -> AConnector u (BPath u)+           => PathF u -> AConnector u (Path u) arrowTri45 pathF = \p0 p1 ->     AGraphic (\attr () -> triTipRight pathF tri45 p0 p1 attr)               (\_    () -> pathF p0 p1)  arrowOTri90 :: (Real u, Floating u, FromPtSize u) -            => BPathF u -> AConnector u (BPath u)+            => PathF u -> AConnector u (Path u) arrowOTri90 pathF = \p0 p1 ->     AGraphic (\attr () -> triTipRight pathF otri90 p0 p1 attr)               (\_    () -> pathF p0 p1)  arrowOTri60 :: (Real u, Floating u, FromPtSize u) -            => BPathF u -> AConnector u (BPath u)+            => PathF u -> AConnector u (Path u) arrowOTri60 pathF = \p0 p1 ->      AGraphic (\attr () -> triTipRight pathF otri60 p0 p1 attr)               (\_    () -> pathF p0 p1)   arrowOTri45 :: (Real u, Floating u, FromPtSize u) -            => BPathF u -> AConnector u (BPath u)+            => PathF u -> AConnector u (Path u) arrowOTri45 pathF = \p0 p1 ->     AGraphic (\attr () -> triTipRight pathF otri45 p0 p1 attr)              (\_    () -> pathF p0 p1)   arrowBarb90 :: (Real u, Floating u, FromPtSize u) -            => BPathF u -> AConnector u (BPath u)+            => PathF u -> AConnector u (Path u) arrowBarb90 pathF = \p0 p1 ->     AGraphic (\attr () -> barbTipRight pathF barb90 p0 p1 attr)              (\_    () -> pathF p0 p1)  arrowBarb60 :: (Real u, Floating u, FromPtSize u) -            => BPathF u -> AConnector u (BPath u)+            => PathF u -> AConnector u (Path u) arrowBarb60 pathF = \p0 p1 ->     AGraphic (\attr () -> barbTipRight pathF barb60 p0 p1 attr)              (\_    () -> pathF p0 p1)  arrowBarb45 :: (Real u, Floating u, FromPtSize u) -            => BPathF u -> AConnector u (BPath u)+            => PathF u -> AConnector u (Path u) arrowBarb45 pathF = \p0 p1 ->     AGraphic (\attr () -> barbTipRight pathF barb45 p0 p1 attr)              (\_    () -> pathF p0 p1)@@ -120,7 +121,7 @@   triTipRight :: (Real u, Floating u, FromPtSize u) -            => BPathF u +            => PathF u              -> (Radian -> DrawingAttr -> GraphicF u)             -> Point2 u -> Point2 u -> DrawingAttr              -> Graphic u @@ -137,7 +138,7 @@   barbTipRight :: (Real u, Floating u, FromPtSize u) -             => BPathF u +             => PathF u               -> (Radian -> DrawingAttr -> GraphicF u)              -> Point2 u -> Point2 u -> DrawingAttr               -> Graphic u @@ -151,7 +152,7 @@                        arrowPerp :: (Real u, Floating u, FromPtSize u) -          => BPathF u -> AConnector u (BPath u)+          => PathF u -> AConnector u (Path u) arrowPerp pathF p0 p1 = AGraphic df mf   where     df attr () = let theta = langle p0 p1  in
src/Wumpus/Basic/Arrows/Tips.hs view
@@ -59,7 +59,7 @@  triAng :: (Floating u, Real u, FromPtSize u)       => Radian -      -> (Path u -> DrawingAttr -> Primitive u) +      -> (PrimPath u -> DrawingAttr -> Primitive u)        -> Radian -> DrawingAttr -> GraphicF u triAng ang fn theta attr pt = wrapG $ fn (vertexPath [pt,u,v]) attr   where
+ src/Wumpus/Basic/Colour/SVGColours.hs view
@@ -0,0 +1,625 @@+{-# OPTIONS -Wall #-}++--------------------------------------------------------------------------------+-- |+-- Module      :  Wumpus.Basic.Colour.SVGColours+-- Copyright   :  (c) Stephen Tetley 2009-2010+-- License     :  BSD3+--+-- Maintainer  :  Stephen Tetley <stephen.tetley@gmail.com>+-- Stability   :  highly unstable+-- Portability :  GHC with TypeFamilies and more+--+-- The SVG \'named colours\', as rgb [0,1] values +--+--------------------------------------------------------------------------------++module Wumpus.Basic.Colour.SVGColours +  (+    +  -- * Named colours+    alice_blue+  , antique_white+  , aqua+  , aquamarine+  , azure+  , beige+  , bisque+  , black+  , blanched_almond+  , blue+  , blue_violet+  , brown+  , burlywood+  , cadet_blue+  , chartreuse+  , chocolate+  , coral+  , cornflower_blue+  , cornsilk+  , crimson+  , cyan+  , dark_blue+  , dark_cyan+  , dark_goldenrod+  , dark_gray+  , dark_green+  , dark_grey+  , dark_khaki+  , dark_magenta+  , dark_olive_green+  , dark_orange+  , dark_orchid+  , dark_red+  , dark_salmon+  , dark_sea_green+  , dark_slate_blue+  , dark_slate_gray+  , dark_slate_grey+  , dark_turquoise+  , dark_violet+  , deep_pink+  , deep_sky_blue+  , dim_gray+  , dim_grey+  , dodger_blue+  , firebrick+  , floral_white+  , forest_green+  , fuchsia+  , gainsboro+  , ghost_white+  , gold+  , goldenrod+  , gray+  , grey+  , green+  , green_yellow+  , honeydew+  , hot_pink+  , indian_red+  , indigo+  , ivory+  , khaki+  , lavender+  , lavender_blush+  , lawn_green+  , lemon_chiffon+  , light_blue+  , light_coral+  , light_cyan+  , light_goldenrod_yellow+  , light_gray+  , light_green+  , light_grey+  , light_pink+  , light_salmon+  , light_sea_green+  , light_sky_blue+  , light_slate_gray+  , light_slate_grey+  , light_steel_blue+  , light_yellow+  , lime+  , lime_green+  , linen+  , magenta+  , maroon+  , medium_aquamarine+  , medium_blue+  , medium_orchid+  , medium_purple+  , medium_sea_green+  , medium_slate_blue+  , medium_spring_green+  , medium_turquoise+  , medium_violet_red+  , midnight_blue+  , mintcream+  , mistyrose+  , moccasin+  , navajo_white+  , navy+  , old_lace+  , olive+  , olive_drab+  , orange+  , orange_red+  , orchid+  , pale_goldenrod+  , pale_green+  , pale_turquoise+  , pale_violet_red+  , papaya_whip+  , peach_puff+  , peru+  , pink+  , plum+  , powder_blue+  , purple+  , red+  , rosy_brown+  , royal_blue+  , saddle_brown+  , salmon+  , sandy_brown+  , sea_green+  , seashell+  , sienna+  , silver+  , sky_blue+  , slate_blue+  , slate_gray+  , slate_grey+  , snow+  , spring_green+  , steel_blue+  , tan+  , teal+  , thistle+  , tomato+  , turquoise+  , violet+  , wheat+  , white+  , whitesmoke+  , yellow+  , yellow_green+  +  ) where+++import Wumpus.Core.Colour ( RGBi(..) )+++import Prelude ( )+  +++--------------------------------------------------------------------------------+  +alice_blue              :: RGBi+alice_blue              = RGBi 0xf0 0xf8 0xff++antique_white           :: RGBi +antique_white           = RGBi 0xfa 0xeb 0xd7++aqua                    :: RGBi+aqua                    = RGBi 0x00 0xff 0xff++aquamarine              :: RGBi+aquamarine              = RGBi 0x7f 0xff 0xd4++azure                   :: RGBi+azure                   = RGBi 0xf0 0xff 0xff++beige                   :: RGBi+beige                   = RGBi 0xf5 0xf5 0xdc++bisque                  :: RGBi+bisque                  = RGBi 0xff 0xe4 0xc4++black                   :: RGBi+black                   = RGBi 0x00 0x00 0x00++blanched_almond         :: RGBi+blanched_almond         = RGBi 0xff 0xeb 0xcd++blue                    :: RGBi+blue                    = RGBi 0x00 0x00 0xff++blue_violet             :: RGBi+blue_violet             = RGBi 0x8a 0x2b 0xe2++brown                   :: RGBi+brown                   = RGBi 0xa5 0x2a 0x2a++burlywood               :: RGBi+burlywood               = RGBi 0xde 0xb8 0x87++cadet_blue              :: RGBi+cadet_blue              = RGBi 0x5f 0x9e 0xa0++chartreuse              :: RGBi+chartreuse              = RGBi 0x7f 0xff 0x00++chocolate               :: RGBi+chocolate               = RGBi 0xd2 0x69 0x1e++coral                   :: RGBi+coral                   = RGBi 0xff 0x7f 0x50++cornflower_blue         :: RGBi+cornflower_blue         = RGBi 0x64 0x95 0xed++cornsilk                :: RGBi+cornsilk                = RGBi 0xff 0xf8 0xdc++crimson                 :: RGBi+crimson                 = RGBi 0xdc 0x14 0x3c++cyan                    :: RGBi+cyan                    = RGBi 0x00 0xff 0xff++dark_blue               :: RGBi+dark_blue               = RGBi 0x00 0x00 0x8b++dark_cyan               :: RGBi+dark_cyan               = RGBi 0x00 0x8b 0x8b++dark_goldenrod          :: RGBi+dark_goldenrod          = RGBi 0xb8 0x86 0x0b++dark_gray               :: RGBi+dark_gray               = RGBi 0xa9 0xa9 0xa9++dark_green              :: RGBi+dark_green              = RGBi 0x00 0x64 0x00++dark_grey               :: RGBi+dark_grey               = RGBi 0xa9 0xa9 0xa9++dark_khaki              :: RGBi+dark_khaki              = RGBi 0xbd 0xb7 0x6b++dark_magenta            :: RGBi+dark_magenta            = RGBi 0x8b 0x00 0x8b++dark_olive_green        :: RGBi+dark_olive_green        = RGBi 0x55 0x6b 0x2f++dark_orange             :: RGBi+dark_orange             = RGBi 0xff 0x8c 0x00++dark_orchid             :: RGBi+dark_orchid             = RGBi 0x99 0x32 0xcc++dark_red                :: RGBi+dark_red                = RGBi 0x8b 0x00 0x00++dark_salmon             :: RGBi+dark_salmon             = RGBi 0xe9 0x96 0x7a++dark_sea_green          :: RGBi+dark_sea_green          = RGBi 0x8f 0xbc 0x8f++dark_slate_blue         :: RGBi+dark_slate_blue         = RGBi 0x48 0x3d 0x8b++dark_slate_gray         :: RGBi+dark_slate_gray         = RGBi 0x2f 0x4f 0x4f++dark_slate_grey         :: RGBi+dark_slate_grey         = RGBi 0x2f 0x4f 0x4f++dark_turquoise          :: RGBi+dark_turquoise          = RGBi 0x00 0xce 0xd1++dark_violet             :: RGBi+dark_violet             = RGBi 0x94 0x00 0xd3++deep_pink               :: RGBi+deep_pink               = RGBi 0xff 0x14 0x93++deep_sky_blue           :: RGBi+deep_sky_blue           = RGBi 0x00 0xbf 0xff++dim_gray                :: RGBi+dim_gray                = RGBi 0x69 0x69 0x69++dim_grey                :: RGBi+dim_grey                = RGBi 0x69 0x69 0x69++dodger_blue             :: RGBi+dodger_blue             = RGBi 0x1e 0x90 0xff++firebrick               :: RGBi+firebrick               = RGBi 0xb2 0x22 0x22++floral_white            :: RGBi+floral_white            = RGBi 0xff 0xfa 0xf0++forest_green            :: RGBi+forest_green            = RGBi 0x22 0x8b 0x22++fuchsia                 :: RGBi+fuchsia                 = RGBi 0xff 0x00 0xff++gainsboro               :: RGBi+gainsboro               = RGBi 0xdc 0xdc 0xdc++ghost_white             :: RGBi+ghost_white             = RGBi 0xf8 0xf8 0xff++gold                    :: RGBi+gold                    = RGBi 0xff 0xd7 0x00++goldenrod               :: RGBi+goldenrod               = RGBi 0xda 0xa5 0x20++gray                    :: RGBi+gray                    = RGBi 0x80 0x80 0x80++green                   :: RGBi+green                   = RGBi 0x00 0x80 0x00++green_yellow            :: RGBi+green_yellow            = RGBi 0xad 0xff 0x2f++grey                    :: RGBi+grey                    = RGBi 0x80 0x80 0x80++honeydew                :: RGBi+honeydew                = RGBi 0xf0 0xff 0xf0++hot_pink                :: RGBi+hot_pink                = RGBi 0xff 0x69 0xb4++indian_red              :: RGBi+indian_red              = RGBi 0xcd 0x5c 0x5c++indigo                  :: RGBi+indigo                  = RGBi 0x4b 0x00 0x82++ivory                   :: RGBi+ivory                   = RGBi 0xff 0xff 0xf0++khaki                   :: RGBi+khaki                   = RGBi 0xf0 0xe6 0x8c++lavender                :: RGBi+lavender                = RGBi 0xe6 0xe6 0xfa++lavender_blush          :: RGBi+lavender_blush          = RGBi 0xff 0xf0 0xf5++lawn_green              :: RGBi+lawn_green              = RGBi 0x7c 0xfc 0x00++lemon_chiffon           :: RGBi+lemon_chiffon           = RGBi 0xff 0xfa 0xcd++light_blue              :: RGBi+light_blue              = RGBi 0xad 0xd8 0xe6++light_coral             :: RGBi+light_coral             = RGBi 0xf0 0x80 0x80++light_cyan              :: RGBi+light_cyan              = RGBi 0xe0 0xff 0xff++light_goldenrod_yellow  :: RGBi+light_goldenrod_yellow  = RGBi 0xfa 0xfa 0xd2++light_gray              :: RGBi+light_gray              = RGBi 0xd3 0xd3 0xd3++light_green             :: RGBi+light_green             = RGBi 0x90 0xee 0x90++light_grey              :: RGBi+light_grey              = RGBi 0xd3 0xd3 0xd3++light_pink              :: RGBi+light_pink              = RGBi 0xff 0xb6 0xc1++light_salmon            :: RGBi+light_salmon            = RGBi 0xff 0xa0 0x7a++light_sea_green         :: RGBi+light_sea_green         = RGBi 0x20 0xb2 0xaa++light_sky_blue          :: RGBi+light_sky_blue          = RGBi 0x87 0xce 0xfa++light_slate_gray        :: RGBi+light_slate_gray        = RGBi 0x77 0x88 0x99++light_slate_grey        :: RGBi+light_slate_grey        = RGBi 0x77 0x88 0x99++light_steel_blue        :: RGBi+light_steel_blue        = RGBi 0xb0 0xc4 0xde++light_yellow            :: RGBi+light_yellow            = RGBi 0xff 0xff 0xe0++lime                    :: RGBi+lime                    = RGBi 0x00 0xff 0x00++lime_green              :: RGBi+lime_green              = RGBi 0x32 0xcd 0x32++linen                   :: RGBi+linen                   = RGBi 0xfa 0xf0 0xe6++magenta                 :: RGBi+magenta                 = RGBi 0xff 0x00 0xff++maroon                  :: RGBi+maroon                  = RGBi 0x80 0x00 0x00++medium_aquamarine       :: RGBi+medium_aquamarine       = RGBi 0x66 0xcd 0xaa++medium_blue             :: RGBi+medium_blue             = RGBi 0x00 0x00 0xcd++medium_orchid           :: RGBi+medium_orchid           = RGBi 0xba 0x55 0xd3++medium_purple           :: RGBi+medium_purple           = RGBi 0x93 0x70 0xdb++medium_sea_green        :: RGBi+medium_sea_green        = RGBi 0x3c 0xb3 0x71++medium_slate_blue       :: RGBi+medium_slate_blue       = RGBi 0x7b 0x68 0xee++medium_spring_green     :: RGBi+medium_spring_green     = RGBi 0x00 0xfa 0x9a++medium_turquoise        :: RGBi+medium_turquoise        = RGBi 0x48 0xd1 0xcc++medium_violet_red       :: RGBi+medium_violet_red       = RGBi 0xc7 0x15 0x85++midnight_blue           :: RGBi+midnight_blue           = RGBi 0x19 0x19 0x70++mintcream               :: RGBi+mintcream               = RGBi 0xf5 0xff 0xfa++mistyrose               :: RGBi+mistyrose               = RGBi 0xff 0xe4 0xe1++moccasin                :: RGBi+moccasin                = RGBi 0xff 0xe4 0xb5++navajo_white            :: RGBi+navajo_white            = RGBi 0xff 0xde 0xad++navy                    :: RGBi+navy                    = RGBi 0x00 0x00 0x80++old_lace                :: RGBi+old_lace                = RGBi 0xfd 0xf5 0xe6++olive                   :: RGBi+olive                   = RGBi 0x80 0x80 0x00++olive_drab              :: RGBi+olive_drab              = RGBi 0x6b 0x8e 0x23++orange                  :: RGBi+orange                  = RGBi 0xff 0xa5 0x00++orange_red              :: RGBi+orange_red              = RGBi 0xff 0x45 0x00++orchid                  :: RGBi+orchid                  = RGBi 0xda 0x70 0xd6++pale_goldenrod          :: RGBi+pale_goldenrod          = RGBi 0xee 0xe8 0xaa++pale_green              :: RGBi+pale_green              = RGBi 0x98 0xfb 0x98++pale_turquoise          :: RGBi+pale_turquoise          = RGBi 0xaf 0xee 0xee++pale_violet_red         :: RGBi+pale_violet_red         = RGBi 0xdb 0x70 0x93++papaya_whip             :: RGBi+papaya_whip             = RGBi 0xff 0xef 0xd5++peach_puff              :: RGBi+peach_puff              = RGBi 0xff 0xda 0xb9++peru                    :: RGBi+peru                    = RGBi 0xcd 0x85 0x3f++pink                    :: RGBi+pink                    = RGBi 0xff 0xc0 0xcb++plum                    :: RGBi+plum                    = RGBi 0xdd 0xa0 0xdd++powder_blue             :: RGBi+powder_blue             = RGBi 0xb0 0xe0 0xe6++purple                  :: RGBi+purple                  = RGBi 0x80 0x00 0x80++red                     :: RGBi+red                     = RGBi 0xff 0x00 0x00++rosy_brown              :: RGBi+rosy_brown              = RGBi 0xbc 0x8f 0x8f++royal_blue              :: RGBi+royal_blue              = RGBi 0x41 0x69 0xe1++saddle_brown            :: RGBi+saddle_brown            = RGBi 0x8b 0x45 0x13++salmon                  :: RGBi+salmon                  = RGBi 0xfa 0x80 0x72++sandy_brown             :: RGBi+sandy_brown             = RGBi 0xf4 0xa4 0x60++sea_green               :: RGBi+sea_green               = RGBi 0x2e 0x8b 0x57++seashell                :: RGBi+seashell                = RGBi 0xff 0xf5 0xee++sienna                  :: RGBi+sienna                  = RGBi 0xa0 0x52 0x2d++silver                  :: RGBi+silver                  = RGBi 0xc0 0xc0 0xc0++sky_blue                :: RGBi+sky_blue                = RGBi 0x87 0xce 0xeb++slate_blue              :: RGBi+slate_blue              = RGBi 0x6a 0x5a 0xcd++slate_gray              :: RGBi+slate_gray              = RGBi 0x70 0x80 0x90++slate_grey              :: RGBi+slate_grey              = RGBi 0x70 0x80 0x90++snow                    :: RGBi+snow                    = RGBi 0xff 0xfa 0xfa++spring_green            :: RGBi+spring_green            = RGBi 0x00 0xff 0x7f++steel_blue              :: RGBi+steel_blue              = RGBi 0x46 0x82 0xb4++tan                     :: RGBi+tan                     = RGBi 0xd2 0xb4 0x8c++teal                    :: RGBi+teal                    = RGBi 0x00 0x80 0x80++thistle                 :: RGBi+thistle                 = RGBi 0xd8 0xbf 0xd8++tomato                  :: RGBi+tomato                  = RGBi 0xff 0x63 0x47++turquoise               :: RGBi+turquoise               = RGBi 0x40 0xe0 0xd0++violet                  :: RGBi+violet                  = RGBi 0xee 0x82 0xee++wheat                   :: RGBi+wheat                   = RGBi 0xf5 0xde 0xb3++white                   :: RGBi+white                   = RGBi 0xff 0xff 0xff++whitesmoke              :: RGBi+whitesmoke              = RGBi 0xf5 0xf5 0xf5++yellow                  :: RGBi+yellow                  = RGBi 0xff 0xff 0x00++yellow_green            :: RGBi+yellow_green            = RGBi 0x9a 0xcd 0x32+++++
+ src/Wumpus/Basic/Colour/X11Colours.hs view
@@ -0,0 +1,1282 @@+{-# OPTIONS -Wall #-}++--------------------------------------------------------------------------------+-- |+-- Module      :  Wumpus.Basic.Colour.X11Colours+-- Copyright   :  (c) Stephen Tetley 2009-2010+-- License     :  BSD3+--+-- Maintainer  :  Stephen Tetley <stephen.tetley@gmail.com>+-- Stability   :  highly unstable+-- Portability :  GHC with TypeFamilies and more+--+-- The X11 \'named colours\', as rgb [0,1] values +--+--------------------------------------------------------------------------------++module Wumpus.Basic.Colour.X11Colours+  ( +  +  -- * Named X11 colours+    antique_white1+  , antique_white2+  , antique_white3+  , antique_white4+  , aquamarine1+  , aquamarine2+  , aquamarine3+  , aquamarine4+  , azure1+  , azure2+  , azure3+  , azure4+  , bisque1+  , bisque2+  , bisque3+  , bisque4+  , blue1+  , blue2+  , blue3+  , blue4+  , brown1+  , brown2+  , brown3+  , brown4+  , burlywood1+  , burlywood2+  , burlywood3+  , burlywood4+  , cadet_blue1+  , cadet_blue2+  , cadet_blue3+  , cadet_blue4+  , chartreuse1+  , chartreuse2+  , chartreuse3+  , chartreuse4+  , chocolate1+  , chocolate2+  , chocolate3+  , chocolate4+  , coral1+  , coral2+  , coral3+  , coral4+  , cornsilk1+  , cornsilk2+  , cornsilk3+  , cornsilk4+  , cyan1+  , cyan2+  , cyan3+  , cyan4+  , dark_goldenrod1+  , dark_goldenrod2+  , dark_goldenrod3+  , dark_goldenrod4+  , dark_olive_green1+  , dark_olive_green2+  , dark_olive_green3+  , dark_olive_green4+  , dark_orange1+  , dark_orange2+  , dark_orange3+  , dark_orange4+  , dark_orchid1+  , dark_orchid2+  , dark_orchid3+  , dark_orchid4+  , dark_sea_green1+  , dark_sea_green2+  , dark_sea_green3+  , dark_sea_green4+  , dark_slate_gray1+  , dark_slate_gray2+  , dark_slate_gray3+  , dark_slate_gray4+  , deep_pink1+  , deep_pink2+  , deep_pink3+  , deep_pink4+  , deep_sky_blue1+  , deep_sky_blue2+  , deep_sky_blue3+  , deep_sky_blue4+  , dodger_blue1+  , dodger_blue2+  , dodger_blue3+  , dodger_blue4+  , firebrick1+  , firebrick2+  , firebrick3+  , firebrick4+  , gold1+  , gold2+  , gold3+  , gold4+  , goldenrod1+  , goldenrod2+  , goldenrod3+  , goldenrod4+  , green1+  , green2+  , green3+  , green4+  , honeydew1+  , honeydew2+  , honeydew3+  , honeydew4+  , hot_pink1+  , hot_pink2+  , hot_pink3+  , hot_pink4+  , indian_red1+  , indian_red2+  , indian_red3+  , indian_red4+  , ivory1+  , ivory2+  , ivory3+  , ivory4+  , khaki1+  , khaki2+  , khaki3+  , khaki4+  , lavender_blush1+  , lavender_blush2+  , lavender_blush3+  , lavender_blush4+  , lemon_chiffon1+  , lemon_chiffon2+  , lemon_chiffon3+  , lemon_chiffon4+  , light_blue1+  , light_blue2+  , light_blue3+  , light_blue4+  , light_cyan1+  , light_cyan2+  , light_cyan3+  , light_cyan4+  , light_goldenrod1+  , light_goldenrod2+  , light_goldenrod3+  , light_goldenrod4+  , light_pink1+  , light_pink2+  , light_pink3+  , light_pink4+  , light_salmon1+  , light_salmon2+  , light_salmon3+  , light_salmon4+  , light_sky_blue1+  , light_sky_blue2+  , light_sky_blue3+  , light_sky_blue4+  , light_steel_blue1+  , light_steel_blue2+  , light_steel_blue3+  , light_steel_blue4+  , light_yellow1+  , light_yellow2+  , light_yellow3+  , light_yellow4+  , magenta1+  , magenta2+  , magenta3+  , magenta4+  , maroon1+  , maroon2+  , maroon3+  , maroon4+  , medium_orchid1+  , medium_orchid2+  , medium_orchid3+  , medium_orchid4+  , medium_purple1+  , medium_purple2+  , medium_purple3+  , medium_purple4+  , misty_rose1+  , misty_rose2+  , misty_rose3+  , misty_rose4+  , navajo_white1+  , navajo_white2+  , navajo_white3+  , navajo_white4+  , olive_drab1+  , olive_drab2+  , olive_drab3+  , olive_drab4+  , orange1+  , orange2+  , orange3+  , orange4+  , orange_red1+  , orange_red2+  , orange_red3+  , orange_red4+  , orchid1+  , orchid2+  , orchid3+  , orchid4+  , pale_green1+  , pale_green2+  , pale_green3+  , pale_green4+  , pale_turquoise1+  , pale_turquoise2+  , pale_turquoise3+  , pale_turquoise4+  , pale_violet_red1+  , pale_violet_red2+  , pale_violet_red3+  , pale_violet_red4+  , peach_puff1+  , peach_puff2+  , peach_puff3+  , peach_puff4+  , pink1+  , pink2+  , pink3+  , pink4+  , plum1+  , plum2+  , plum3+  , plum4+  , purple1+  , purple2+  , purple3+  , purple4+  , red1+  , red2+  , red3+  , red4+  , rosy_brown1+  , rosy_brown2+  , rosy_brown3+  , rosy_brown4+  , royal_blue1+  , royal_blue2+  , royal_blue3+  , royal_blue4+  , salmon1+  , salmon2+  , salmon3+  , salmon4+  , sea_green1+  , sea_green2+  , sea_green3+  , sea_green4+  , seashell1+  , seashell2+  , seashell3+  , seashell4+  , sienna1+  , sienna2+  , sienna3+  , sienna4+  , sky_blue1+  , sky_blue2+  , sky_blue3+  , sky_blue4+  , slate_blue1+  , slate_blue2+  , slate_blue3+  , slate_blue4+  , slate_gray1+  , slate_gray2+  , slate_gray3+  , slate_gray4+  , snow1+  , snow2+  , snow3+  , snow4+  , spring_green1+  , spring_green2+  , spring_green3+  , spring_green4+  , steel_blue1+  , steel_blue2+  , steel_blue3+  , steel_blue4+  , tan1+  , tan2+  , tan3+  , tan4+  , thistle1+  , thistle2+  , thistle3+  , thistle4+  , tomato1+  , tomato2+  , tomato3+  , tomato4+  , turquoise1+  , turquoise2+  , turquoise3+  , turquoise4+  , violet_red1+  , violet_red2+  , violet_red3+  , violet_red4+  , wheat1+  , wheat2+  , wheat3+  , wheat4+  , yellow1+  , yellow2+  , yellow3+  , yellow4++  ) where++import Wumpus.Core.Colour ( RGBi(..) )+++--------------------------------------------------------------------------------++antique_white1          :: RGBi+antique_white1          = RGBi 0xff 0xef 0xdb++antique_white2          :: RGBi+antique_white2          = RGBi 0xee 0xdf 0xcc++antique_white3          :: RGBi+antique_white3          = RGBi 0xcd 0xc0 0xb0++antique_white4          :: RGBi+antique_white4          = RGBi 0x8b 0x83 0x78++aquamarine1             :: RGBi+aquamarine1             = RGBi 0x7f 0xff 0xd4++aquamarine2             :: RGBi+aquamarine2             = RGBi 0x76 0xee 0xc6++aquamarine3             :: RGBi+aquamarine3             = RGBi 0x66 0xcd 0xaa++aquamarine4             :: RGBi+aquamarine4             = RGBi 0x45 0x8b 0x74++azure1                  :: RGBi+azure1                  = RGBi 0xf0 0xff 0xff++azure2                  :: RGBi+azure2                  = RGBi 0xe0 0xee 0xee++azure3                  :: RGBi+azure3                  = RGBi 0xc1 0xcd 0xcd++azure4                  :: RGBi+azure4                  = RGBi 0x83 0x8b 0x8b++bisque1                 :: RGBi+bisque1                 = RGBi 0xff 0xe4 0xc4++bisque2                 :: RGBi+bisque2                 = RGBi 0xee 0xd5 0xb7++bisque3                 :: RGBi+bisque3                 = RGBi 0xcd 0xb7 0x9e++bisque4                 :: RGBi+bisque4                 = RGBi 0x8b 0x7d 0x6b++blue1                   :: RGBi+blue1                   = RGBi 0x00 0x00 0xff++blue2                   :: RGBi+blue2                   = RGBi 0x00 0x00 0xee++blue3                   :: RGBi+blue3                   = RGBi 0x00 0x00 0xcd++blue4                   :: RGBi+blue4                   = RGBi 0x00 0x00 0x8b++brown1                  :: RGBi+brown1                  = RGBi 0xff 0x40 0x40++brown2                  :: RGBi+brown2                  = RGBi 0xee 0x3b 0x3b++brown3                  :: RGBi+brown3                  = RGBi 0xcd 0x33 0x33++brown4                  :: RGBi+brown4                  = RGBi 0x8b 0x23 0x23++burlywood1              :: RGBi+burlywood1              = RGBi 0xff 0xd3 0x9b++burlywood2              :: RGBi+burlywood2              = RGBi 0xee 0xc5 0x91++burlywood3              :: RGBi+burlywood3              = RGBi 0xcd 0xaa 0x7d++burlywood4              :: RGBi+burlywood4              = RGBi 0x8b 0x73 0x55++cadet_blue1             :: RGBi+cadet_blue1             = RGBi 0x98 0xf5 0xff++cadet_blue2             :: RGBi+cadet_blue2             = RGBi 0x8e 0xe5 0xee++cadet_blue3             :: RGBi+cadet_blue3             = RGBi 0x7a 0xc5 0xcd++cadet_blue4             :: RGBi+cadet_blue4             = RGBi 0x53 0x86 0x8b++chartreuse1             :: RGBi+chartreuse1             = RGBi 0x7f 0xff 0x00++chartreuse2             :: RGBi+chartreuse2             = RGBi 0x76 0xee 0x00++chartreuse3             :: RGBi+chartreuse3             = RGBi 0x66 0xcd 0x00++chartreuse4             :: RGBi+chartreuse4             = RGBi 0x45 0x8b 0x00++chocolate1              :: RGBi+chocolate1              = RGBi 0xff 0x7f 0x24++chocolate2              :: RGBi+chocolate2              = RGBi 0xee 0x76 0x21++chocolate3              :: RGBi+chocolate3              = RGBi 0xcd 0x66 0x1d++chocolate4              :: RGBi+chocolate4              = RGBi 0x8b 0x45 0x13++coral1                  :: RGBi+coral1                  = RGBi 0xff 0x72 0x56++coral2                  :: RGBi+coral2                  = RGBi 0xee 0x6a 0x50++coral3                  :: RGBi+coral3                  = RGBi 0xcd 0x5b 0x45++coral4                  :: RGBi+coral4                  = RGBi 0x8b 0x3e 0x2f++cornsilk1               :: RGBi+cornsilk1               = RGBi 0xff 0xf8 0xdc++cornsilk2               :: RGBi+cornsilk2               = RGBi 0xee 0xe8 0xcd++cornsilk3               :: RGBi+cornsilk3               = RGBi 0xcd 0xc8 0xb1++cornsilk4               :: RGBi+cornsilk4               = RGBi 0x8b 0x88 0x78++cyan1                   :: RGBi+cyan1                   = RGBi 0x00 0xff 0xff++cyan2                   :: RGBi+cyan2                   = RGBi 0x00 0xee 0xee++cyan3                   :: RGBi+cyan3                   = RGBi 0x00 0xcd 0xcd++cyan4                   :: RGBi+cyan4                   = RGBi 0x00 0x8b 0x8b++dark_goldenrod1         :: RGBi+dark_goldenrod1         = RGBi 0xff 0xb9 0x0f++dark_goldenrod2         :: RGBi+dark_goldenrod2         = RGBi 0xee 0xad 0x0e++dark_goldenrod3         :: RGBi+dark_goldenrod3         = RGBi 0xcd 0x95 0x0c++dark_goldenrod4         :: RGBi+dark_goldenrod4         = RGBi 0x8b 0x65 0x08++dark_olive_green1       :: RGBi+dark_olive_green1       = RGBi 0xca 0xff 0x70++dark_olive_green2       :: RGBi+dark_olive_green2       = RGBi 0xbc 0xee 0x68++dark_olive_green3       :: RGBi+dark_olive_green3       = RGBi 0xa2 0xcd 0x5a++dark_olive_green4       :: RGBi+dark_olive_green4       = RGBi 0x6e 0x8b 0x3d++dark_orange1            :: RGBi+dark_orange1            = RGBi 0xff 0x7f 0x00++dark_orange2            :: RGBi+dark_orange2            = RGBi 0xee 0x76 0x00++dark_orange3            :: RGBi+dark_orange3            = RGBi 0xcd 0x66 0x00++dark_orange4            :: RGBi+dark_orange4            = RGBi 0x8b 0x45 0x00++dark_orchid1            :: RGBi+dark_orchid1            = RGBi 0xbf 0x3e 0xff++dark_orchid2            :: RGBi+dark_orchid2            = RGBi 0xb2 0x3a 0xee++dark_orchid3            :: RGBi+dark_orchid3            = RGBi 0x9a 0x32 0xcd++dark_orchid4            :: RGBi+dark_orchid4            = RGBi 0x68 0x22 0x8b++dark_sea_green1         :: RGBi+dark_sea_green1         = RGBi 0xc1 0xff 0xc1++dark_sea_green2         :: RGBi+dark_sea_green2         = RGBi 0xb4 0xee 0xb4++dark_sea_green3         :: RGBi+dark_sea_green3         = RGBi 0x9b 0xcd 0x9b++dark_sea_green4         :: RGBi+dark_sea_green4         = RGBi 0x69 0x8b 0x69++dark_slate_gray1        :: RGBi+dark_slate_gray1        = RGBi 0x97 0xff 0xff++dark_slate_gray2        :: RGBi+dark_slate_gray2        = RGBi 0x8d 0xee 0xee++dark_slate_gray3        :: RGBi+dark_slate_gray3        = RGBi 0x79 0xcd 0xcd++dark_slate_gray4        :: RGBi+dark_slate_gray4        = RGBi 0x52 0x8b 0x8b++deep_pink1              :: RGBi+deep_pink1              = RGBi 0xff 0x14 0x93++deep_pink2              :: RGBi+deep_pink2              = RGBi 0xee 0x12 0x89++deep_pink3              :: RGBi+deep_pink3              = RGBi 0xcd 0x10 0x76++deep_pink4              :: RGBi+deep_pink4              = RGBi 0x8b 0x0a 0x50++deep_sky_blue1          :: RGBi+deep_sky_blue1          = RGBi 0x00 0xbf 0xff++deep_sky_blue2          :: RGBi+deep_sky_blue2          = RGBi 0x00 0xb2 0xee++deep_sky_blue3          :: RGBi+deep_sky_blue3          = RGBi 0x00 0x9a 0xcd++deep_sky_blue4          :: RGBi+deep_sky_blue4          = RGBi 0x00 0x68 0x8b++dodger_blue1            :: RGBi+dodger_blue1            = RGBi 0x1e 0x90 0xff++dodger_blue2            :: RGBi+dodger_blue2            = RGBi 0x1c 0x86 0xee++dodger_blue3            :: RGBi+dodger_blue3            = RGBi 0x18 0x74 0xcd++dodger_blue4            :: RGBi+dodger_blue4            = RGBi 0x10 0x4e 0x8b++firebrick1              :: RGBi+firebrick1              = RGBi 0xff 0x30 0x30++firebrick2              :: RGBi+firebrick2              = RGBi 0xee 0x2c 0x2c++firebrick3              :: RGBi+firebrick3              = RGBi 0xcd 0x26 0x26++firebrick4              :: RGBi+firebrick4              = RGBi 0x8b 0x1a 0x1a++gold1                   :: RGBi+gold1                   = RGBi 0xff 0xd7 0x00++gold2                   :: RGBi+gold2                   = RGBi 0xee 0xc9 0x00++gold3                   :: RGBi+gold3                   = RGBi 0xcd 0xad 0x00++gold4                   :: RGBi+gold4                   = RGBi 0x8b 0x75 0x00++goldenrod1              :: RGBi+goldenrod1              = RGBi 0xff 0xc1 0x25++goldenrod2              :: RGBi+goldenrod2              = RGBi 0xee 0xb4 0x22++goldenrod3              :: RGBi+goldenrod3              = RGBi 0xcd 0x9b 0x1d++goldenrod4              :: RGBi+goldenrod4              = RGBi 0x8b 0x69 0x14++green1                  :: RGBi+green1                  = RGBi 0x00 0xff 0x00++green2                  :: RGBi+green2                  = RGBi 0x00 0xee 0x00++green3                  :: RGBi+green3                  = RGBi 0x00 0xcd 0x00++green4                  :: RGBi+green4                  = RGBi 0x00 0x8b 0x00++honeydew1               :: RGBi+honeydew1               = RGBi 0xf0 0xff 0xf0++honeydew2               :: RGBi+honeydew2               = RGBi 0xe0 0xee 0xe0++honeydew3               :: RGBi+honeydew3               = RGBi 0xc1 0xcd 0xc1++honeydew4               :: RGBi+honeydew4               = RGBi 0x83 0x8b 0x83++hot_pink1               :: RGBi+hot_pink1               = RGBi 0xff 0x6e 0xb4++hot_pink2               :: RGBi+hot_pink2               = RGBi 0xee 0x6a 0xa7++hot_pink3               :: RGBi+hot_pink3               = RGBi 0xcd 0x60 0x90++hot_pink4               :: RGBi+hot_pink4               = RGBi 0x8b 0x3a 0x62++indian_red1             :: RGBi+indian_red1             = RGBi 0xff 0x6a 0x6a++indian_red2             :: RGBi+indian_red2             = RGBi 0xee 0x63 0x63++indian_red3             :: RGBi+indian_red3             = RGBi 0xcd 0x55 0x55++indian_red4             :: RGBi+indian_red4             = RGBi 0x8b 0x3a 0x3a++ivory1                  :: RGBi+ivory1                  = RGBi 0xff 0xff 0xf0++ivory2                  :: RGBi+ivory2                  = RGBi 0xee 0xee 0xe0++ivory3                  :: RGBi+ivory3                  = RGBi 0xcd 0xcd 0xc1++ivory4                  :: RGBi+ivory4                  = RGBi 0x8b 0x8b 0x83++khaki1                  :: RGBi+khaki1                  = RGBi 0xff 0xf6 0x8f++khaki2                  :: RGBi+khaki2                  = RGBi 0xee 0xe6 0x85++khaki3                  :: RGBi+khaki3                  = RGBi 0xcd 0xc6 0x73++khaki4                  :: RGBi+khaki4                  = RGBi 0x8b 0x86 0x4e++lavender_blush1         :: RGBi+lavender_blush1         = RGBi 0xff 0xf0 0xf5++lavender_blush2         :: RGBi+lavender_blush2         = RGBi 0xee 0xe0 0xe5++lavender_blush3         :: RGBi+lavender_blush3         = RGBi 0xcd 0xc1 0xc5++lavender_blush4         :: RGBi+lavender_blush4         = RGBi 0x8b 0x83 0x86++lemon_chiffon1          :: RGBi+lemon_chiffon1          = RGBi 0xff 0xfa 0xcd++lemon_chiffon2          :: RGBi+lemon_chiffon2          = RGBi 0xee 0xe9 0xbf++lemon_chiffon3          :: RGBi+lemon_chiffon3          = RGBi 0xcd 0xc9 0xa5++lemon_chiffon4          :: RGBi+lemon_chiffon4          = RGBi 0x8b 0x89 0x70++light_blue1             :: RGBi+light_blue1             = RGBi 0xbf 0xef 0xff++light_blue2             :: RGBi+light_blue2             = RGBi 0xb2 0xdf 0xee++light_blue3             :: RGBi+light_blue3             = RGBi 0x9a 0xc0 0xcd++light_blue4             :: RGBi+light_blue4             = RGBi 0x68 0x83 0x8b++light_cyan1             :: RGBi+light_cyan1             = RGBi 0xe0 0xff 0xff++light_cyan2             :: RGBi+light_cyan2             = RGBi 0xd1 0xee 0xee++light_cyan3             :: RGBi+light_cyan3             = RGBi 0xb4 0xcd 0xcd++light_cyan4             :: RGBi+light_cyan4             = RGBi 0x7a 0x8b 0x8b++light_goldenrod1        :: RGBi+light_goldenrod1        = RGBi 0xff 0xec 0x8b++light_goldenrod2        :: RGBi+light_goldenrod2        = RGBi 0xee 0xdc 0x82++light_goldenrod3        :: RGBi+light_goldenrod3        = RGBi 0xcd 0xbe 0x70++light_goldenrod4        :: RGBi+light_goldenrod4        = RGBi 0x8b 0x81 0x4c++light_pink1             :: RGBi+light_pink1             = RGBi 0xff 0xae 0xb9++light_pink2             :: RGBi+light_pink2             = RGBi 0xee 0xa2 0xad++light_pink3             :: RGBi+light_pink3             = RGBi 0xcd 0x8c 0x95++light_pink4             :: RGBi+light_pink4             = RGBi 0x8b 0x5f 0x65++light_salmon1           :: RGBi+light_salmon1           = RGBi 0xff 0xa0 0x7a++light_salmon2           :: RGBi+light_salmon2           = RGBi 0xee 0x95 0x72++light_salmon3           :: RGBi+light_salmon3           = RGBi 0xcd 0x81 0x62++light_salmon4           :: RGBi+light_salmon4           = RGBi 0x8b 0x57 0x42++light_sky_blue1         :: RGBi+light_sky_blue1         = RGBi 0xb0 0xe2 0xff++light_sky_blue2         :: RGBi+light_sky_blue2         = RGBi 0xa4 0xd3 0xee++light_sky_blue3         :: RGBi+light_sky_blue3         = RGBi 0x8d 0xb6 0xcd++light_sky_blue4         :: RGBi+light_sky_blue4         = RGBi 0x60 0x7b 0x8b++light_steel_blue1       :: RGBi+light_steel_blue1       = RGBi 0xca 0xe1 0xff++light_steel_blue2       :: RGBi+light_steel_blue2       = RGBi 0xbc 0xd2 0xee++light_steel_blue3       :: RGBi+light_steel_blue3       = RGBi 0xa2 0xb5 0xcd++light_steel_blue4       :: RGBi+light_steel_blue4       = RGBi 0x6e 0x7b 0x8b++light_yellow1           :: RGBi+light_yellow1           = RGBi 0xff 0xff 0xe0++light_yellow2           :: RGBi+light_yellow2           = RGBi 0xee 0xee 0xd1++light_yellow3           :: RGBi+light_yellow3           = RGBi 0xcd 0xcd 0xb4++light_yellow4           :: RGBi+light_yellow4           = RGBi 0x8b 0x8b 0x7a++magenta1                :: RGBi+magenta1                = RGBi 0xff 0x00 0xff++magenta2                :: RGBi+magenta2                = RGBi 0xee 0x00 0xee++magenta3                :: RGBi+magenta3                = RGBi 0xcd 0x00 0xcd++magenta4                :: RGBi+magenta4                = RGBi 0x8b 0x00 0x8b++maroon1                 :: RGBi+maroon1                 = RGBi 0xff 0x34 0xb3++maroon2                 :: RGBi+maroon2                 = RGBi 0xee 0x30 0xa7++maroon3                 :: RGBi+maroon3                 = RGBi 0xcd 0x29 0x90++maroon4                 :: RGBi+maroon4                 = RGBi 0x8b 0x1c 0x62++medium_orchid1          :: RGBi+medium_orchid1          = RGBi 0xe0 0x66 0xff++medium_orchid2          :: RGBi+medium_orchid2          = RGBi 0xd1 0x5f 0xee++medium_orchid3          :: RGBi+medium_orchid3          = RGBi 0xb4 0x52 0xcd++medium_orchid4          :: RGBi+medium_orchid4          = RGBi 0x7a 0x37 0x8b++medium_purple1          :: RGBi+medium_purple1          = RGBi 0xab 0x82 0xff++medium_purple2          :: RGBi+medium_purple2          = RGBi 0x9f 0x79 0xee++medium_purple3          :: RGBi+medium_purple3          = RGBi 0x89 0x68 0xcd++medium_purple4          :: RGBi+medium_purple4          = RGBi 0x5d 0x47 0x8b++misty_rose1             :: RGBi+misty_rose1             = RGBi 0xff 0xe4 0xe1++misty_rose2             :: RGBi+misty_rose2             = RGBi 0xee 0xd5 0xd2++misty_rose3             :: RGBi+misty_rose3             = RGBi 0xcd 0xb7 0xb5++misty_rose4             :: RGBi+misty_rose4             = RGBi 0x8b 0x7d 0x7b++navajo_white1           :: RGBi+navajo_white1           = RGBi 0xff 0xde 0xad++navajo_white2           :: RGBi+navajo_white2           = RGBi 0xee 0xcf 0xa1++navajo_white3           :: RGBi+navajo_white3           = RGBi 0xcd 0xb3 0x8b++navajo_white4           :: RGBi+navajo_white4           = RGBi 0x8b 0x79 0x5e++olive_drab1             :: RGBi+olive_drab1             = RGBi 0xc0 0xff 0x3e++olive_drab2             :: RGBi+olive_drab2             = RGBi 0xb3 0xee 0x3a++olive_drab3             :: RGBi+olive_drab3             = RGBi 0x9a 0xcd 0x32++olive_drab4             :: RGBi+olive_drab4             = RGBi 0x69 0x8b 0x22++orange1                 :: RGBi+orange1                 = RGBi 0xff 0xa5 0x00++orange2                 :: RGBi+orange2                 = RGBi 0xee 0x9a 0x00++orange3                 :: RGBi+orange3                 = RGBi 0xcd 0x85 0x00++orange4                 :: RGBi+orange4                 = RGBi 0x8b 0x5a 0x00++orange_red1             :: RGBi+orange_red1             = RGBi 0xff 0x45 0x00++orange_red2             :: RGBi+orange_red2             = RGBi 0xee 0x40 0x00++orange_red3             :: RGBi+orange_red3             = RGBi 0xcd 0x37 0x00++orange_red4             :: RGBi+orange_red4             = RGBi 0x8b 0x25 0x00++orchid1                 :: RGBi+orchid1                 = RGBi 0xff 0x83 0xfa++orchid2                 :: RGBi+orchid2                 = RGBi 0xee 0x7a 0xe9++orchid3                 :: RGBi+orchid3                 = RGBi 0xcd 0x69 0xc9++orchid4                 :: RGBi+orchid4                 = RGBi 0x8b 0x47 0x89++pale_green1             :: RGBi+pale_green1             = RGBi 0x9a 0xff 0x9a++pale_green2             :: RGBi+pale_green2             = RGBi 0x90 0xee 0x90++pale_green3             :: RGBi+pale_green3             = RGBi 0x7c 0xcd 0x7c++pale_green4             :: RGBi+pale_green4             = RGBi 0x54 0x8b 0x54++pale_turquoise1         :: RGBi+pale_turquoise1         = RGBi 0xbb 0xff 0xff++pale_turquoise2         :: RGBi+pale_turquoise2         = RGBi 0xae 0xee 0xee++pale_turquoise3         :: RGBi+pale_turquoise3         = RGBi 0x96 0xcd 0xcd++pale_turquoise4         :: RGBi+pale_turquoise4         = RGBi 0x66 0x8b 0x8b++pale_violet_red1        :: RGBi+pale_violet_red1        = RGBi 0xff 0x82 0xab++pale_violet_red2        :: RGBi+pale_violet_red2        = RGBi 0xee 0x79 0x9f++pale_violet_red3        :: RGBi+pale_violet_red3        = RGBi 0xcd 0x68 0x89++pale_violet_red4        :: RGBi+pale_violet_red4        = RGBi 0x8b 0x47 0x5d++peach_puff1             :: RGBi+peach_puff1             = RGBi 0xff 0xda 0xb9++peach_puff2             :: RGBi+peach_puff2             = RGBi 0xee 0xcb 0xad++peach_puff3             :: RGBi+peach_puff3             = RGBi 0xcd 0xaf 0x95++peach_puff4             :: RGBi+peach_puff4             = RGBi 0x8b 0x77 0x65++pink1                   :: RGBi+pink1                   = RGBi 0xff 0xb5 0xc5++pink2                   :: RGBi+pink2                   = RGBi 0xee 0xa9 0xb8++pink3                   :: RGBi+pink3                   = RGBi 0xcd 0x91 0x9e++pink4                   :: RGBi+pink4                   = RGBi 0x8b 0x63 0x6c++plum1                   :: RGBi+plum1                   = RGBi 0xff 0xbb 0xff++plum2                   :: RGBi+plum2                   = RGBi 0xee 0xae 0xee++plum3                   :: RGBi+plum3                   = RGBi 0xcd 0x96 0xcd++plum4                   :: RGBi+plum4                   = RGBi 0x8b 0x66 0x8b++purple1                 :: RGBi+purple1                 = RGBi 0x9b 0x30 0xff++purple2                 :: RGBi+purple2                 = RGBi 0x91 0x2c 0xee++purple3                 :: RGBi+purple3                 = RGBi 0x7d 0x26 0xcd++purple4                 :: RGBi+purple4                 = RGBi 0x55 0x1a 0x8b++red1                    :: RGBi+red1                    = RGBi 0xff 0x00 0x00++red2                    :: RGBi+red2                    = RGBi 0xee 0x00 0x00++red3                    :: RGBi+red3                    = RGBi 0xcd 0x00 0x00++red4                    :: RGBi+red4                    = RGBi 0x8b 0x00 0x00++rosy_brown1             :: RGBi+rosy_brown1             = RGBi 0xff 0xc1 0xc1++rosy_brown2             :: RGBi+rosy_brown2             = RGBi 0xee 0xb4 0xb4++rosy_brown3             :: RGBi+rosy_brown3             = RGBi 0xcd 0x9b 0x9b++rosy_brown4             :: RGBi+rosy_brown4             = RGBi 0x8b 0x69 0x69++royal_blue1             :: RGBi+royal_blue1             = RGBi 0x48 0x76 0xff++royal_blue2             :: RGBi+royal_blue2             = RGBi 0x43 0x6e 0xee++royal_blue3             :: RGBi+royal_blue3             = RGBi 0x3a 0x5f 0xcd++royal_blue4             :: RGBi+royal_blue4             = RGBi 0x27 0x40 0x8b+++salmon1                 :: RGBi+salmon1                 = RGBi 0xff 0x8c 0x69++salmon2                 :: RGBi+salmon2                 = RGBi 0xee 0x82 0x62++salmon3                 :: RGBi+salmon3                 = RGBi 0xcd 0x70 0x54++salmon4                 :: RGBi+salmon4                 = RGBi 0x8b 0x4c 0x39++sea_green1              :: RGBi+sea_green1              = RGBi 0x54 0xff 0x9f++sea_green2              :: RGBi+sea_green2              = RGBi 0x4e 0xee 0x94++sea_green3              :: RGBi+sea_green3              = RGBi 0x43 0xcd 0x80++sea_green4              :: RGBi+sea_green4              = RGBi 0x2e 0x8b 0x57++seashell1               :: RGBi+seashell1               = RGBi 0xff 0xf5 0xee++seashell2               :: RGBi+seashell2               = RGBi 0xee 0xe5 0xde++seashell3               :: RGBi+seashell3               = RGBi 0xcd 0xc5 0xbf++seashell4               :: RGBi+seashell4               = RGBi 0x8b 0x86 0x82++sienna1                 :: RGBi+sienna1                 = RGBi 0xff 0x82 0x47++sienna2                 :: RGBi+sienna2                 = RGBi 0xee 0x79 0x42++sienna3                 :: RGBi+sienna3                 = RGBi 0xcd 0x68 0x39++sienna4                 :: RGBi+sienna4                 = RGBi 0x8b 0x47 0x26++sky_blue1               :: RGBi+sky_blue1               = RGBi 0x87 0xce 0xff++sky_blue2               :: RGBi+sky_blue2               = RGBi 0x7e 0xc0 0xee++sky_blue3               :: RGBi+sky_blue3               = RGBi 0x6c 0xa6 0xcd++sky_blue4               :: RGBi+sky_blue4               = RGBi 0x4a 0x70 0x8b++slate_blue1             :: RGBi+slate_blue1             = RGBi 0x83 0x6f 0xff++slate_blue2             :: RGBi+slate_blue2             = RGBi 0x7a 0x67 0xee++slate_blue3             :: RGBi+slate_blue3             = RGBi 0x69 0x59 0xcd++slate_blue4             :: RGBi+slate_blue4             = RGBi 0x47 0x3c 0x8b++slate_gray1             :: RGBi+slate_gray1             = RGBi 0xc6 0xe2 0xff++slate_gray2             :: RGBi+slate_gray2             = RGBi 0xb9 0xd3 0xee++slate_gray3             :: RGBi+slate_gray3             = RGBi 0x9f 0xb6 0xcd++slate_gray4             :: RGBi+slate_gray4             = RGBi 0x6c 0x7b 0x8b++snow1                   :: RGBi+snow1                   = RGBi 0xff 0xfa 0xfa++snow2                   :: RGBi+snow2                   = RGBi 0xee 0xe9 0xe9++snow3                   :: RGBi+snow3                   = RGBi 0xcd 0xc9 0xc9++snow4                   :: RGBi+snow4                   = RGBi 0x8b 0x89 0x89++spring_green1           :: RGBi+spring_green1           = RGBi 0x00 0xff 0x7f++spring_green2           :: RGBi+spring_green2           = RGBi 0x00 0xee 0x76++spring_green3           :: RGBi+spring_green3           = RGBi 0x00 0xcd 0x66++spring_green4           :: RGBi+spring_green4           = RGBi 0x00 0x8b 0x45++steel_blue1             :: RGBi+steel_blue1             = RGBi 0x63 0xb8 0xff++steel_blue2             :: RGBi+steel_blue2             = RGBi 0x5c 0xac 0xee++steel_blue3             :: RGBi+steel_blue3             = RGBi 0x4f 0x94 0xcd++steel_blue4             :: RGBi+steel_blue4             = RGBi 0x36 0x64 0x8b++tan1                    :: RGBi+tan1                    = RGBi 0xff 0xa5 0x4f++tan2                    :: RGBi+tan2                    = RGBi 0xee 0x9a 0x49++tan3                    :: RGBi+tan3                    = RGBi 0xcd 0x85 0x3f++tan4                    :: RGBi+tan4                    = RGBi 0x8b 0x5a 0x2b++thistle1                :: RGBi+thistle1                = RGBi 0xff 0xe1 0xff++thistle2                :: RGBi+thistle2                = RGBi 0xee 0xd2 0xee++thistle3                :: RGBi+thistle3                = RGBi 0xcd 0xb5 0xcd++thistle4                :: RGBi+thistle4                = RGBi 0x8b 0x7b 0x8b++tomato1                 :: RGBi+tomato1                 = RGBi 0xff 0x63 0x47++tomato2                 :: RGBi+tomato2                 = RGBi 0xee 0x5c 0x42++tomato3                 :: RGBi+tomato3                 = RGBi 0xcd 0x4f 0x39++tomato4                 :: RGBi+tomato4                 = RGBi 0x8b 0x36 0x26++turquoise1              :: RGBi+turquoise1              = RGBi 0x00 0xf5 0xff++turquoise2              :: RGBi+turquoise2              = RGBi 0x00 0xe5 0xee++turquoise3              :: RGBi+turquoise3              = RGBi 0x00 0xc5 0xcd++turquoise4              :: RGBi+turquoise4              = RGBi 0x00 0x86 0x8b++violet_red1             :: RGBi+violet_red1             = RGBi 0xff 0x3e 0x96++violet_red2             :: RGBi+violet_red2             = RGBi 0xee 0x3a 0x8c++violet_red3             :: RGBi+violet_red3             = RGBi 0xcd 0x32 0x78++violet_red4             :: RGBi+violet_red4             = RGBi 0x8b 0x22 0x52++wheat1                  :: RGBi+wheat1                  = RGBi 0xff 0xe7 0xba++wheat2                  :: RGBi+wheat2                  = RGBi 0xee 0xd8 0xae++wheat3                  :: RGBi+wheat3                  = RGBi 0xcd 0xba 0x96++wheat4                  :: RGBi+wheat4                  = RGBi 0x8b 0x7e 0x66++yellow1                 :: RGBi+yellow1                 = RGBi 0xff 0xff 0x00++yellow2                 :: RGBi+yellow2                 = RGBi 0xee 0xee 0x00++yellow3                 :: RGBi+yellow3                 = RGBi 0xcd 0xcd 0x00++yellow4                 :: RGBi+yellow4                 = RGBi 0x8b 0x8b 0x00++++++
src/Wumpus/Basic/Dots/Base.hs view
@@ -128,7 +128,7 @@     dvn   = (.+^ vvec hh)     dvw   = (.+^ hvec (-hw)) -type PathF u = Point2 u -> Path u+type PathF u = Point2 u -> PrimPath u  dotDiamond :: (Fractional u, FromPtSize u) => DrawingAttr -> GraphicF u dotDiamond attr = 
src/Wumpus/Basic/Graphic.hs view
@@ -122,7 +122,7 @@ drawGraphic f = post $ f []   where     post [] = Nothing-    post xs = Just $ frameMulti $ xs +    post xs = Just $ frame xs    -- | /Unsafe/ version of 'drawGraphic' - this function throws @@ -170,12 +170,12 @@ filledRectangle :: (Fill t, Fractional u) => t -> u -> u -> GraphicF u filledRectangle t w h = wrapG . fill t . rectangle w h -rectangle :: Fractional u => u -> u -> Point2 u -> Path u+rectangle :: Fractional u => u -> u -> Point2 u -> PrimPath u rectangle w h ctr = rectanglePath w h (ctr .-^ vec (0.5*w) (0.5*h))  -- | Supplied point is /bottom-left/. ---rectanglePath :: Num u => u -> u -> Point2 u -> Path u+rectanglePath :: Num u => u -> u -> Point2 u -> PrimPath u rectanglePath w h bl = path bl [ lineTo br, lineTo tr, lineTo tl ]   where     br = bl .+^ hvec w
src/Wumpus/Basic/Graphic/DrawingAttr.hs view
@@ -41,7 +41,7 @@   import Wumpus.Basic.SafeFonts-import Wumpus.Basic.SVGColours+import Wumpus.Basic.Colour.SVGColours import Wumpus.Basic.Utils.Combinators  import Wumpus.Core                      -- package: wumpus-core@@ -51,8 +51,8 @@ data DrawingAttr = DrawingAttr        { line_width         :: Double       , font_props         :: FontAttr-      , stroke_colour      :: DRGB-      , fill_colour        :: DRGB+      , stroke_colour      :: RGBi+      , fill_colour        :: RGBi       }   deriving (Eq,Show) @@ -63,13 +63,13 @@                               , fill_colour        = gold  }   -strokeAttr :: DrawingAttr -> (DRGB, StrokeAttr)+strokeAttr :: DrawingAttr -> (RGBi, StrokeAttr) strokeAttr = liftA2 (,) stroke_colour (LineWidth . line_width) -fillAttr :: DrawingAttr -> DRGB+fillAttr :: DrawingAttr -> RGBi fillAttr = fill_colour -textAttr :: DrawingAttr -> (DRGB,FontAttr)+textAttr :: DrawingAttr -> (RGBi,FontAttr) textAttr = liftA2 (,) stroke_colour font_props  -- | A Mark is consider to be the height of a lowercase letter
src/Wumpus/Basic/Monads/TurtleMonad.hs view
@@ -35,7 +35,6 @@   , runTurtle   , runTurtleT -   , TurtleDrawing   , runTurtleDrawing   , execTurtleDrawing@@ -50,7 +49,6 @@ import Wumpus.Basic.Monads.TurtleClass  -import MonadLib ( MonadT(..) )          -- package: monadLib  import Control.Applicative import Control.Monad@@ -112,11 +110,8 @@                                (getTurtleT . k) a r s' >>= \(b,s'') ->                                return (b,s'') -instance MonadT (TurtleT u) where-  lift m = TurtleT $ \_ s -> m >>= \a -> return (a,s)  - instance TurtleM (Turtle u) where   getLoc      = Turtle $ \_ s@(TurtleState _ c) -> (c,s)   setLoc c    = Turtle $ \_   (TurtleState o _) -> ((),TurtleState o c)@@ -150,6 +145,7 @@   + ---------------------------------------------------------------------------------- -- Cross instances @@ -196,16 +192,19 @@   xStep    = TurtleDrawing $ xStep   yStep    = TurtleDrawing $ yStep ++-- Lifters no longer supplied... -- TraceM   instance TraceM (TurtleDrawing u) u where-  trace a = TurtleDrawing $ lift (trace a)+  trace a = TurtleDrawing $ trace a  + -- DrawingCtxM  instance DrawingCtxM (TurtleDrawing u) where-  askDrawingCtx   = TurtleDrawing $ lift askDrawingCtx+  askDrawingCtx   = TurtleDrawing $ askDrawingCtx   localCtx ctx ma = TurtleDrawing $ localCtx ctx (getTurtleDrawing ma)  
src/Wumpus/Basic/Paths.hs view
@@ -46,40 +46,40 @@   -connectS :: Floating u => BPathF u+connectS :: Floating u => PathF u connectS = \p0 p1 -> execPath p0 $ lineto p1    -- This one might be more useful... -pathGraphic :: Num u => BPath u -> DrawingAttr -> Graphic u-pathGraphic bpath attr = wrapG $ ostroke (strokeAttr attr) $ toPathU bpath+pathGraphic :: Num u => Path u -> DrawingAttr -> Graphic u+pathGraphic bpath attr = wrapG $ ostroke (strokeAttr attr) $ toPrimPathU bpath    -shorten  :: (Real u, Floating u, Ord u) => u -> BPath u -> BPath u+shorten  :: (Real u, Floating u, Ord u) => u -> Path u -> Path u shorten u p = shortenL u $ shortenR u p  -------------------------------------------------------------------------------- -- shorten from the left... -shortenL :: (Real u, Floating u, Ord u) => u -> BPath u -> BPath u-shortenL n (BPath u bp) | n >= u         = emptyPath-                        | otherwise      = step n (viewl bp)+shortenL :: (Real u, Floating u, Ord u) => u -> Path u -> Path u+shortenL n (Path u bp) | n >= u         = emptyPath+                       | otherwise      = step n (viewl bp)   where     step _ EmptyL     = emptyPath     step d (e :< se)  = let z = segmentLength e in                         case compare d z of                           GT -> step (d-z) (viewl se)-                          EQ -> BPath (u-n) se-                          _  -> BPath (u-n) (shortenSegL d e <| se)+                          EQ -> Path (u-n) se+                          _  -> Path (u-n) (shortenSegL d e <| se)  -shortenSegL :: (Real u, Floating u) => u -> BPathSeg u -> BPathSeg u-shortenSegL n (BLineSeg  u l) = BLineSeg  (u-n) (shortenLineL n l) -shortenSegL n (BCurveSeg u c) = BCurveSeg (u-n) (snd $ subdividet (n/u) c)+shortenSegL :: (Real u, Floating u) => u -> PathSeg u -> PathSeg u+shortenSegL n (LineSeg  u l) = LineSeg  (u-n) (shortenLineL n l) +shortenSegL n (CurveSeg u c) = CurveSeg (u-n) (snd $ subdividet (n/u) c)  shortenLineL :: (Real u, Floating u) => u -> Line u -> Line u shortenLineL n (Line p1 p2) = Line (p1 .+^ v) p2@@ -90,22 +90,22 @@ -------------------------------------------------------------------------------- -- shorten from the right ...  -shortenR :: (Real u, Floating u, Ord u) => u -> BPath u -> BPath u-shortenR n (BPath u bp) | n >= u         = emptyPath-                        | otherwise      = step n (viewr bp)+shortenR :: (Real u, Floating u, Ord u) => u -> Path u -> Path u+shortenR n (Path u bp) | n >= u         = emptyPath+                       | otherwise      = step n (viewr bp)   where     step _ EmptyR     = emptyPath     step d (se :> e)  = let z = segmentLength e in                         case compare d z of                           GT -> step (d-z) (viewr se)-                          EQ -> BPath (u-n) se-                          _  -> BPath (u-n) (se |> shortenSegR d e)+                          EQ -> Path (u-n) se+                          _  -> Path (u-n) (se |> shortenSegR d e)   -shortenSegR :: (Real u, Floating u) => u -> BPathSeg u -> BPathSeg u-shortenSegR n (BLineSeg  u l) = BLineSeg  (u-n) (shortenLineR n l) -shortenSegR n (BCurveSeg u c) = BCurveSeg (u-n) (fst $ subdividet ((u-n)/u) c)+shortenSegR :: (Real u, Floating u) => u -> PathSeg u -> PathSeg u+shortenSegR n (LineSeg  u l) = LineSeg  (u-n) (shortenLineR n l) +shortenSegR n (CurveSeg u c) = CurveSeg (u-n) (fst $ subdividet ((u-n)/u) c)   shortenLineR :: (Real u, Floating u) => u -> Line u -> Line u@@ -118,8 +118,8 @@  -------------------------------------------------------------------------------- -midpoint :: (Real u, Floating u) => BPath u -> Point2 u-midpoint (BPath u bp) = step (u/2) (viewl bp)+midpoint :: (Real u, Floating u) => Path u -> Point2 u+midpoint (Path u bp) = step (u/2) (viewl bp)   where     step _ EmptyL    = zeroPt     step d (e :< se) = let z = segmentLength e in@@ -136,19 +136,19 @@ -- tangents  -directionL :: (Real u, Floating u) => BPath u -> Radian-directionL (BPath _ se) = step $ viewl se+directionL :: (Real u, Floating u) => Path u -> Radian+directionL (Path _ se) = step $ viewl se   where-    step (BLineSeg  _ l :< _) = lineDirectionL l -    step (BCurveSeg _ c :< _) = curveDirectionL c-    step _                    = 0+    step (LineSeg  _ l :< _) = lineDirectionL l +    step (CurveSeg _ c :< _) = curveDirectionL c+    step _                   = 0 -directionR :: (Real u, Floating u) => BPath u -> Radian-directionR (BPath _ se) = step $ viewr se+directionR :: (Real u, Floating u) => Path u -> Radian+directionR (Path _ se) = step $ viewr se   where-    step (_ :> BLineSeg  _ l) = lineDirectionR l -    step (_ :> BCurveSeg _ c) = curveDirectionR c-    step _                    = 0+    step (_ :> LineSeg  _ l) = lineDirectionR l +    step (_ :> CurveSeg _ c) = curveDirectionR c+    step _                   = 0   lineDirectionL :: (Real u, Floating u) => Line u -> Radian
src/Wumpus/Basic/Paths/Base.hs view
@@ -22,10 +22,10 @@ module Wumpus.Basic.Paths.Base   (  -    BPathF+    PathF -  , BPath(..)-  , BPathSeg(..)+  , Path(..)+  , PathSeg(..)   , Curve(..)   , Line(..)   , emptyPath@@ -36,8 +36,8 @@   , segmentStart   , segmentEnd -  , toPath -  , toPathU+  , toPrimPath +  , toPrimPathU   , subdivide   , subdividet     @@ -53,20 +53,20 @@ import qualified Data.Sequence as S  -type BPathF u = Point2 u -> Point2 u -> BPath u+type PathF u = Point2 u -> Point2 u -> Path u  -data BPath u = BPath +data Path u = Path         { path_length    :: u -       , path_elements  :: Seq (BPathSeg u)+       , path_elements  :: Seq (PathSeg u)        }   deriving (Eq,Ord,Show)   -- Annotation is length... -- -data BPathSeg u = BLineSeg  u (Line u)-                | BCurveSeg u (Curve u)+data PathSeg u = LineSeg  u (Line u)+               | CurveSeg u (Curve u)   deriving (Eq,Ord,Show)  @@ -85,36 +85,36 @@   deriving (Eq,Ord,Show)  -emptyPath :: Num u => BPath u -emptyPath = BPath 0 S.empty+emptyPath :: Num u => Path u +emptyPath = Path 0 S.empty  -addSegment :: Num u => BPath u -> BPathSeg u -> BPath u-addSegment (BPath n se) e@(BLineSeg u _)  = BPath (n+u) (se |> e)-addSegment (BPath n se) e@(BCurveSeg u _) = BPath (n+u) (se |> e)+addSegment :: Num u => Path u -> PathSeg u -> Path u+addSegment (Path n se) e@(LineSeg u _)  = Path (n+u) (se |> e)+addSegment (Path n se) e@(CurveSeg u _) = Path (n+u) (se |> e) -segmentLength :: BPathSeg u -> u-segmentLength (BLineSeg  u _) = u-segmentLength (BCurveSeg u _) = u+segmentLength :: PathSeg u -> u+segmentLength (LineSeg  u _) = u+segmentLength (CurveSeg u _) = u -segmentStart :: BPathSeg u -> Point2 u-segmentStart (BLineSeg  _ (Line p0 _))      = p0-segmentStart (BCurveSeg _ (Curve p0 _ _ _)) = p0+segmentStart :: PathSeg u -> Point2 u+segmentStart (LineSeg  _ (Line p0 _))      = p0+segmentStart (CurveSeg _ (Curve p0 _ _ _)) = p0 -segmentEnd :: BPathSeg u -> Point2 u-segmentEnd (BLineSeg  _ (Line _ p1))      = p1-segmentEnd (BCurveSeg _ (Curve _ _ _ p3)) = p3+segmentEnd :: PathSeg u -> Point2 u+segmentEnd (LineSeg  _ (Line _ p1))      = p1+segmentEnd (CurveSeg _ (Curve _ _ _ p3)) = p3    -pline :: Floating u => Point2 u -> Point2 u -> BPathSeg u -pline p0 p1 = BLineSeg (vlength $ pvec p0 p1) (Line p0 p1)+pline :: Floating u => Point2 u -> Point2 u -> PathSeg u +pline p0 p1 = LineSeg (vlength $ pvec p0 p1) (Line p0 p1)  pcurve :: (Floating u, Ord u)-       => Point2 u -> Point2 u -> Point2 u -> Point2 u -> BPathSeg u +       => Point2 u -> Point2 u -> Point2 u -> Point2 u -> PathSeg u  pcurve p0 p1 p2 p3 = -    let c = Curve p0 p1 p2 p3 in BCurveSeg (curveLength c) c+    let c = Curve p0 p1 p2 p3 in CurveSeg (curveLength c) c   -- | Turn a BasicPath into an ordinary Path.@@ -127,8 +127,8 @@ -- segment is the same point as the start point of the next -- segment. ---toPath :: BPath u -> Maybe (Path u)-toPath = step1 . viewl . path_elements+toPrimPath :: Path u -> Maybe (PrimPath u)+toPrimPath = step1 . viewl . path_elements   where     step1 EmptyL               = Nothing     step1 (e :< se)            = let (p1,s) = elemP e in @@ -137,14 +137,14 @@     step2 EmptyL               = []     step2 (e :< se)            = snd (elemP e) : step2 (viewl se)     -    elemP (BLineSeg  _ l)      = elemL l-    elemP (BCurveSeg _ c)      = elemC c+    elemP (LineSeg  _ l)       = elemL l+    elemP (CurveSeg _ c)       = elemC c       elemL (Line p1 p2)         = (p1, lineTo p2)     elemC (Curve p1 p2 p3 p4)  = (p1, curveTo p2 p3 p4) -toPathU :: BPath u -> Path u-toPathU = fromMaybe errK . toPath+toPrimPathU :: Path u -> PrimPath u+toPrimPathU = fromMaybe errK . toPrimPath   where     errK = error "toPathU - empty Path" 
src/Wumpus/Basic/Paths/Construction.hs view
@@ -43,7 +43,7 @@  data PathState u = PathState        { current_point :: Point2 u -      , path_accum    :: BPath u+      , path_accum    :: Path u       }  newtype MPath u a = MPath { getMPath :: PathState u -> (a,PathState u) }@@ -66,18 +66,18 @@                             (getMPath . k) a s'  -runPath :: Num u => Point2 u -> MPath u a -> (a, BPath u)+runPath :: Num u => Point2 u -> MPath u a -> (a, Path u) runPath start mf = let (a,s') = getMPath mf s in (a, path_accum s')   where     s = PathState { current_point = start                   , path_accum    = emptyPath                   } -execPath :: Num u => Point2 u -> MPath u a -> BPath u+execPath :: Num u => Point2 u -> MPath u a -> Path u execPath start mf = snd $ runPath start mf  -exchTip :: Point2 u -> (Point2 u -> BPath u -> BPath u) -> MPath u ()+exchTip :: Point2 u -> (Point2 u -> Path u -> Path u) -> MPath u () exchTip new updP =      MPath $ \(PathState old bp) -> ((), PathState new (updP old bp))  @@ -107,7 +107,7 @@   pcurveAng :: (Floating u, Ord u) -        => Point2 u -> Radian -> Radian -> Point2 u -> BPathSeg u+        => Point2 u -> Radian -> Radian -> Point2 u -> PathSeg u pcurveAng start cin cout end = pcurve start (start .+^ v1) (end .+^ v2) end   where     sz     = 0.375 * (vlength $ pvec start end)
+ src/Wumpus/Basic/PictureLanguage.hs view
@@ -0,0 +1,481 @@+{-# OPTIONS -Wall #-}++--------------------------------------------------------------------------------+-- |+-- Module      :  Wumpus.Basic.PictureLanguage+-- Copyright   :  (c) Stephen Tetley 2009-2010+-- License     :  BSD3+--+-- Maintainer  :  stephen.tetley@gmail.com+-- Stability   :  unstable+-- Portability :  GHC+--+-- Composition operators for Pictures.+--+-- Note - empty pictures cannot exist in Wumpus hence the /list/ +-- functions in this module are always supplied with an initial +-- picture, as well as the (possibly empty) list.+--+--------------------------------------------------------------------------------++module Wumpus.Basic.PictureLanguage +  (+  -- * Data types for alignment +    HAlign(..)+  , VAlign(..)++  -- * Operations on boundary+  , centerPoint++  -- * Composition+  , over +  , under++  , centerOver+  , nextToH+  , nextToV+  +  , atPoint +  , centeredAt++  , stackOver+  , zconcat++  , hcat +  , vcat+  , stackOverCenter+++  , hspace+  , vspace+  , hsep+  , vsep+ +  -- * Compose with alignment+  , alignH+  , alignV+  , alignHSep+  , alignVSep+  , hcatA+  , vcatA+  , hsepA+  , vsepA++  ) where++import Wumpus.Core++import Data.AdditiveGroup+import Data.AffineSpace++import Data.List ( foldl' )+++--------------------------------------------------------------------------------+-- Data types++-- Alignment++-- | Horizontal alignment - align to the top, center or bottom.+data HAlign = HTop | HCenter | HBottom+  deriving (Eq,Show)++-- | Vertical alignment - align to the left, center or bottom.+data VAlign = VLeft | VCenter | VRight+  deriving (Eq,Show)+++--------------------------------------------------------------------------------++-- Operations on bounds++-- Corresponding operations are available on bounding boxes - the +-- definitions here have different type class obligations.++-- | The center of a picture.+centerPoint :: Fractional u => Picture u -> Point2 u+centerPoint = fn . boundary+  where  +    fn (BBox (P2 x0 y0) (P2 x1 y1)) = P2 (x0 + ((x1-x0)*0.5)) +                                         (y0 + ((y1-y0)*0.5))++rightBound :: Picture u -> u+rightBound = fn . ur_corner . boundary+  where+    fn (P2 x _) = x+++leftBound :: Picture u -> u+leftBound = fn . ll_corner . boundary+  where+    fn (P2 x _) = x++bottomBound :: Picture u -> u+bottomBound = fn . ll_corner . boundary+  where+    fn (P2 _ y) = y++topBound :: Picture u -> u+topBound = fn . ur_corner . boundary+  where+    fn (P2 _ y) = y++++--------------------------------------------------------------------------------+-- Composition operators++-- | > a `over` b+-- +-- Place \'picture\' a over b. The idea of @over@ here is in +-- terms z-ordering, nither picture a or b are actually moved.+--+over    :: (Num u, Ord u) => Picture u -> Picture u -> Picture u+over = picOver+++-- | > a `under` b+--+-- Similarly @under@ draws the first picture behind +-- the second but move neither.+--+-- @under@ was previously @beneath@.+--+under :: (Num u, Ord u) => Picture u -> Picture u -> Picture u++under = flip over+++  +-- | Move in both the horizontal and vertical.+--+move :: (Num u, Ord u) => Vec2 u -> Picture u -> Picture u+move = flip picMoveBy++++++++-- | Extract the top-left corner.+--+topleft       :: Picture u -> Point2 u+topleft       = fn . boundary +  where+    fn (BBox (P2 x0 _) (P2 _ y1)) = P2 x0 y1++-- | Extract the top-right corner.+--+topright      :: Picture u -> Point2 u+topright      = ur_corner . boundary++-- | Extract the bottom-left corner.+--+bottomleft    :: Picture u -> Point2 u+bottomleft    = ll_corner . boundary++-- | Extract the bottom-right corner.+--+bottomright   :: Picture u -> Point2 u+bottomright   = fn . boundary+  where+    fn (BBox (P2 _ y0) (P2 x1 _)) = P2 x1 y0+++--------------------------------------------------------------------------------+-- Internal helpers++leftmid       :: Fractional u => Picture u -> Point2 u+leftmid a     = P2 (leftBound a) (midpt (bottomBound a) (topBound a))++rightmid      :: Fractional u => Picture u -> Point2 u+rightmid a    = P2 (rightBound a) (midpt (bottomBound a) (topBound a))+++topmid        :: Fractional u => Picture u -> Point2 u+topmid a      = P2 (midpt (leftBound a) (rightBound a)) (topBound a)++bottommid     :: Fractional u => Picture u -> Point2 u+bottommid a   = P2 (midpt (leftBound a) (rightBound a)) (bottomBound a)+++midpt :: Fractional a => a -> a -> a+midpt a b = a + 0.5*(b-a)+++--------------------------------------------------------------------------------+-- Composition++infixr 5 `nextToV`+infixr 6 `nextToH`, `centerOver`+++-- Note - `centerOver` moves the first argument, whereas other +-- functions move the second...++-- | Draw a centered over b - a is moved, b is static.+--+-- > a `centerOver` b +--+-- 'centerOver' was previously the (-\@-) operator.+-- +centerOver :: (Fractional u, Ord u) => Picture u -> Picture u -> Picture u+p1 `centerOver` p2 = (move v p1) `over` p2 +  where +    v = centerPoint p2 .-. centerPoint p1+++-- | > a `nextToH` b+-- +-- Horizontal composition - move @b@, placing it to the right +-- of @a@.+-- +-- 'nextToH' was previously the (->-) operator.+--+nextToH :: (Num u, Ord u) => Picture u -> Picture u -> Picture u+a `nextToH` b = a `over` move hv b +  where +    hv = hvec $ rightBound a - leftBound b ++++-- | > a `nextToV` b+--+-- Vertical composition - move @b@, placing it below @a@.+--+-- nextToV  was previously the (-//-) operator.+--+nextToV :: (Num u, Ord u) => Picture u -> Picture u -> Picture u+a `nextToV` b = a `over` move vv b +  where +    vv = vvec $ bottomBound a - topBound b +++-- | Place the picture at the supplied point.+--+-- `atPoint` was previous the `at` operator.+-- +atPoint :: (Num u, Ord u) => Picture u -> Point2 u  -> Picture u+p `atPoint` (P2 x y) = move (V2 x y) p+++-- | Center the picture at the supplied point.+--+centeredAt :: (Fractional u, Ord u) => Picture u -> Point2 u ->Picture u+centeredAt p (P2 x y) = move (vec dx dy) p +  where+    bb = boundary p+    dx = x - (boundaryWidth  bb * 0.5)+    dy = y - (boundaryHeight bb * 0.5)++++-- | > xs `stackOver` x+-- +-- Stack the list of pictures @xs@ 'over' @x@.+--+-- Note, the first picture in the list is drawn at the top, all +-- the pictures in the list are drawn \'over\' @x@. No pictures+-- are moved +--+-- @ [p1,p2,p3] `stackOver` p4 => [p1,p2,p3,p4] @+--+stackOver :: (Num u, Ord u) => [Picture u] -> Picture u -> Picture u+stackOver = flip (foldr over)++++-- | > x `zconcat` xs+-- +-- Concatenate @x@ over the list of pictures @xs@. +--+-- @x@ is drawn at the top. No pictures are moved. +--+-- @ p1 `zconcat` [p2,p3,p4] => [p1,p2,p3,p4] @+--+zconcat :: (Num u, Ord u) => Picture u -> [Picture u] -> Picture u+zconcat = foldl' over++++++-- | Concatenate the list pictures @xs@ horizontally with @nextToH@ +-- starting at @x@.+-- +hcat :: (Num u, Ord u) => Picture u -> [Picture u] -> Picture u+hcat = foldl' nextToH+++-- | Concatenate the list of pictures @xs@ vertically with @nextToV@ +-- starting at @x@.+--+vcat :: (Num u, Ord u) => Picture u -> [Picture u] -> Picture u+vcat = foldl' nextToV++++-- | Stack pictures centered ontop of each other - the first +-- picture in the list is drawn at the top, last picture is on +-- drawn at the bottom.+--+stackOverCenter :: (Fractional u, Ord u) +                => [Picture u] -> Picture u -> Picture u+stackOverCenter = flip $ foldr centerOver++++--------------------------------------------------------------------------------+++++-- | > hspace n a b+--+-- Horizontal composition - move @b@, placing it to the right +-- of @a@ with a horizontal gap of @n@ separating the pictures.+--+hspace :: (Num u, Ord u) => u -> Picture u -> Picture u -> Picture u+hspace n a b = a `over` move hv b+  where+    hv = hvec $ n + rightBound a - leftBound b ++    ++++-- | > vspace n a b+--+-- Vertical composition - move @b@, placing it below @a@ with a+-- vertical gap of @n@ separating the pictures.+--+vspace :: (Num u, Ord u) => u -> Picture u -> Picture u -> Picture u+vspace n a b = a `over` move vv b +  where +    vv = vvec $ bottomBound a - topBound b - n++++-- | > hsep n x xs+--+-- Concatenate the list of pictures @xs@ horizontally with +-- @hspace@ starting at @x@. The pictures are interspersed with +-- spaces of @n@ units.+--+hsep :: (Num u, Ord u) => u -> Picture u -> [Picture u] -> Picture u+hsep n = foldl' (hspace n)++++-- | > vsep n x xs+--+-- Concatenate the list of pictures @xs@ vertically with +-- @vspace@ starting at @x@. The pictures are interspersed with +-- spaces of @n@ units.+--+vsep :: (Num u, Ord u) => u -> Picture u -> [Picture u] -> Picture u+vsep n = foldl' (vspace n)+++--------------------------------------------------------------------------------+-- Aligning pictures++vecMove :: (Num u, Ord u) => Picture u -> Picture u -> (Vec2 u) -> Picture u +vecMove a b v = a `over` (move v b)++++-- | > alignH align a b+-- +-- Horizontal composition - move @b@, placing it to the right +-- of @a@ and align it with the top, center or bottom of @a@.+-- +alignH :: (Fractional u, Ord u) +       =>  HAlign -> Picture u -> Picture u -> Picture u+alignH align p1 p2 = vecMove p1 p2 $ fn align+  where+    fn HTop    = topright p1    .-. topleft p2+    fn HCenter = rightmid p1    .-. leftmid p2+    fn HBottom = bottomright p1 .-. bottomleft p2+++-- | > alignV align a b+-- +-- Vertical composition - move @b@, placing it below @a@ +-- and align it with the left, center or right of @a@.+-- +alignV :: (Fractional u, Ord u) +           => VAlign -> Picture u -> Picture u -> Picture u+alignV align p1 p2 = vecMove p1 p2 $ fn align+  where+    fn VLeft   = bottomleft p1  .-. topleft p2+    fn VCenter = bottommid p1   .-. topmid p2+    fn VRight  = bottomright p1 .-. topright p2++++-- | > alignHSep align sep a b+-- +-- Spacing version of alignH - move @b@ to the right of @a@ +-- separated by @sep@ units, align @b@ according to @align@.+-- +alignHSep :: (Fractional u, Ord u) +              =>  HAlign -> u -> Picture u -> Picture u -> Picture u+alignHSep align dx p1 p2 = vecMove p1 p2 $ hvec dx ^+^ fn align+  where+    fn HTop    = topright p1    .-. topleft p2+    fn HCenter = rightmid p1    .-. leftmid p2+    fn HBottom = bottomright p1 .-. bottomleft p2++-- | > alignHSep align sep a b+-- +-- Spacing version of alignV - move @b@ below @a@ +-- separated by @sep@ units, align @b@ according to @align@.+-- +alignVSep :: (Fractional u, Ord u) +           => VAlign -> u -> Picture u -> Picture u -> Picture u+alignVSep align dy p1 p2 = vecMove p1 p2 $ vvec (-dy) ^+^ fn align+  where+    fn VLeft   = bottomleft p1  .-. topleft p2+    fn VCenter = bottommid p1   .-. topmid p2+    fn VRight  = bottomright p1 .-. topright p2++++-- | Variant of 'hcat' that aligns the pictures as well as+-- concatenating them.+--+hcatA :: (Fractional u, Ord u) +      => HAlign -> Picture u -> [Picture u] -> Picture u+hcatA ha = foldl' (alignH ha)++-- | Variant of 'vcat' that aligns the pictures as well as+-- concatenating them.+--+vcatA :: (Fractional u, Ord u) +      => VAlign -> Picture u -> [Picture u] -> Picture u+vcatA va = foldl' (alignV va)+++-- | Variant of @hsep@ that aligns the pictures as well as+-- concatenating and spacing them.+--+hsepA :: (Fractional u, Ord u) +      => HAlign -> u -> Picture u -> [Picture u] -> Picture u+hsepA ha n = foldl' op +  where +    a `op` b = alignHSep ha n a b +++-- | Variant of @vsep@ that aligns the pictures as well as+-- concatenating and spacing them.+--+vsepA :: (Fractional u, Ord u) +      => VAlign -> u -> Picture u -> [Picture u] -> Picture u+vsepA va n = foldl' op +  where +    a `op` b = alignVSep va n a b +++
− src/Wumpus/Basic/SVGColours.hs
@@ -1,626 +0,0 @@-{-# OPTIONS -Wall #-}------------------------------------------------------------------------------------- |--- Module      :  Wumpus.Basic.SVGColours--- Copyright   :  (c) Stephen Tetley 2009-2010--- License     :  BSD3------ Maintainer  :  Stephen Tetley <stephen.tetley@gmail.com>--- Stability   :  highly unstable--- Portability :  GHC with TypeFamilies and more------ The SVG \'named colours\', as rgb [0,1] values --------------------------------------------------------------------------------------module Wumpus.Basic.SVGColours -  (-    -  -- * Named colours-    aliceBlue-  , antiqueWhite-  , aqua-  , aquamarine-  , azure-  , beige-  , bisque-  , black-  , blanchedAlmond-  , blue-  , blueViolet-  , brown-  , burlywood-  , cadetBlue-  , chartreuse-  , chocolate-  , coral-  , cornflowerBlue-  , cornsilk-  , crimson-  , cyan-  , darkBlue-  , darkCyan-  , darkGoldenrod-  , darkGray-  , darkGreen-  , darkGrey-  , darkKhaki-  , darkMagenta-  , darkOliveGreen-  , darkOrange-  , darkOrchid-  , darkRed-  , darkSalmon-  , darkSeaGreen-  , darkSlateBlue-  , darkSlateGray-  , darkSlateGrey-  , darkTurquoise-  , darkViolet-  , deepPink-  , deepSkyBlue-  , dimGray-  , dimGrey-  , dodgerBlue-  , firebrick-  , floralWhite-  , forestGreen-  , fuchsia-  , gainsboro-  , ghostWhite-  , gold-  , goldenrod-  , gray-  , grey-  , green-  , greenYellow-  , honeydew-  , hotPink-  , indianRed-  , indigo-  , ivory-  , khaki-  , lavender-  , lavenderBlush-  , lawnGreen-  , lemonChiffon-  , lightBlue-  , lightCoral-  , lightCyan-  , lightGoldenrodYellow-  , lightGray-  , lightGreen-  , lightGrey-  , lightPink-  , lightSalmon-  , lightSeaGreen-  , lightSkyBlue-  , lightSlateGray-  , lightSlateGrey-  , lightSteelBlue-  , lightYellow-  , lime-  , limeGreen-  , linen-  , magenta-  , maroon-  , mediumAquamarine-  , mediumBlue-  , mediumOrchid-  , mediumPurple-  , mediumSeaGreen-  , mediumSlateBlue-  , mediumSpringGreen-  , mediumTurquoise-  , mediumVioletRed-  , midnightBlue-  , mintcream-  , mistyrose-  , moccasin-  , navajoWhite-  , navy-  , oldlace-  , olive-  , oliveDrab-  , orange-  , orangeRed-  , orchid-  , paleGoldenrod-  , paleGreen-  , paleTurquoise-  , paleVioletRed-  , papayawhip-  , peachpuff-  , peru-  , pink-  , plum-  , powderBlue-  , purple-  , red-  , rosyBrown-  , royalBlue-  , saddleBrown-  , salmon-  , sandyBrown-  , seaGreen-  , seashell-  , sienna-  , silver-  , skyBlue-  , slateBlue-  , slateGray-  , slateGrey-  , snow-  , springGreen-  , steelBlue-  , tan-  , teal-  , thistle-  , tomato-  , turquoise-  , violet-  , wheat-  , white-  , whitesmoke-  , yellow-  , yellowGreen-  -  ) where---import Wumpus.Core.Colour ( RGB3(..), DRGB )---import Prelude ( )-  -------------------------------------------------------------------------------------  -aliceBlue           :: DRGB-aliceBlue           = RGB3 0.941  0.973  1.0--antiqueWhite        :: DRGB-antiqueWhite        = RGB3 0.980  0.922  0.843--aqua                :: DRGB-aqua                = RGB3 0.0  1.0  1.0--aquamarine          :: DRGB-aquamarine          = RGB3 0.498  1.0  0.831--azure               :: DRGB-azure               = RGB3 0.941  1.0  1.0--beige               :: DRGB  -beige               = RGB3 0.961  0.961  0.863--bisque              :: DRGB-bisque              = RGB3 1.0  0.894  0.769--black               :: DRGB-black               = RGB3 0.0  0.0  0.0--blanchedAlmond      :: DRGB-blanchedAlmond      = RGB3 1.0  0.922  0.804--blue                :: DRGB-blue                = RGB3 0.0  0.0  1.0--blueViolet          :: DRGB-blueViolet          = RGB3 0.541  0.169  0.886--brown               :: DRGB-brown               = RGB3 0.647  0.165  0.165--burlywood           :: DRGB-burlywood           = RGB3 0.871  0.722  0.529--cadetBlue           :: DRGB-cadetBlue           = RGB3 0.373  0.620  0.627--chartreuse          :: DRGB-chartreuse          = RGB3 0.498  1.0  0.0--chocolate           :: DRGB-chocolate           = RGB3 0.824  0.412  0.118--coral               :: DRGB-coral               = RGB3 1.0  0.498  0.314--cornflowerBlue      :: DRGB-cornflowerBlue      = RGB3 0.392  0.584  0.929--cornsilk            :: DRGB-cornsilk            = RGB3 1.0  0.973  0.863--crimson             :: DRGB-crimson             = RGB3 0.863  0.078  0.235--cyan                :: DRGB-cyan                = RGB3 0.0  1.0  1.0--darkBlue            :: DRGB-darkBlue            = RGB3 0.0  0.0  0.545--darkCyan            :: DRGB-darkCyan            = RGB3 0.0  0.545  0.545--darkGoldenrod       :: DRGB-darkGoldenrod       = RGB3 0.722  0.545  0.043--darkGray            :: DRGB-darkGray            = RGB3 0.663  0.663  0.663--darkGreen           :: DRGB-darkGreen           = RGB3 0.0  0.392  0.0--darkGrey            :: DRGB-darkGrey            = RGB3 0.663  0.663  0.663--darkKhaki           :: DRGB-darkKhaki           = RGB3 0.741  0.718  0.420--darkMagenta         :: DRGB-darkMagenta         = RGB3 0.545  0.0  0.545--darkOliveGreen      :: DRGB-darkOliveGreen      = RGB3 0.333  0.420  0.184--darkOrange          :: DRGB-darkOrange          = RGB3 1.0  0.549  0.0--darkOrchid          :: DRGB-darkOrchid          = RGB3 0.600  0.196  0.800--darkRed             :: DRGB-darkRed             = RGB3 0.545  0.0  0.0--darkSalmon          :: DRGB-darkSalmon          = RGB3 0.914  0.588  0.478--darkSeaGreen        :: DRGB-darkSeaGreen        = RGB3 0.561  0.737  0.561--darkSlateBlue       :: DRGB-darkSlateBlue       = RGB3 0.282  0.239  0.545--darkSlateGray       :: DRGB-darkSlateGray       = RGB3 0.184  0.310  0.310--darkSlateGrey       :: DRGB-darkSlateGrey       = RGB3 0.184  0.310  0.310--darkTurquoise       :: DRGB-darkTurquoise       = RGB3 0.0  0.808  0.820--darkViolet          :: DRGB-darkViolet          = RGB3 0.580  0.0  0.827--deepPink            :: DRGB-deepPink            = RGB3 1.0  0.078  0.576--deepSkyBlue         :: DRGB-deepSkyBlue         = RGB3 0.0  0.750  1.0--dimGray             :: DRGB-dimGray             = RGB3 0.412  0.412  0.412--dimGrey             :: DRGB-dimGrey             = RGB3 0.412  0.412  0.412--dodgerBlue          :: DRGB-dodgerBlue          = RGB3 0.118  0.565  1.0--firebrick           :: DRGB-firebrick           = RGB3 0.698  0.133  0.133--floralWhite         :: DRGB-floralWhite         = RGB3 1.0  0.980  0.941--forestGreen         :: DRGB-forestGreen         = RGB3 0.133  0.545  0.133--fuchsia             :: DRGB-fuchsia             = RGB3 1.0  0.0  1.0--gainsboro           :: DRGB-gainsboro           = RGB3 0.863  0.863  0.863--ghostWhite          :: DRGB-ghostWhite          = RGB3 0.973  0.973  1.0--gold                :: DRGB-gold                = RGB3 1.0  0.843  0.0--goldenrod           :: DRGB-goldenrod           = RGB3 0.855  0.647  0.125--gray                :: DRGB-gray                = RGB3 0.5  0.5  0.5--grey                :: DRGB-grey                = RGB3 0.5  0.5  0.5--green               :: DRGB-green               = RGB3 0.0  0.5  0.0--greenYellow         :: DRGB-greenYellow         = RGB3 0.678  1.0  0.184--honeydew            :: DRGB-honeydew            = RGB3 0.941  1.0  0.941--hotPink             :: DRGB-hotPink             = RGB3 1.0  0.412  0.706--indianRed           :: DRGB-indianRed           = RGB3 0.804  0.361  0.361--indigo              :: DRGB-indigo              = RGB3 0.294  0.0  0.510--ivory               :: DRGB-ivory               = RGB3 1.0  1.0  0.941--khaki               :: DRGB-khaki               = RGB3 0.941  0.902  0.549--lavender            :: DRGB-lavender            = RGB3 0.902  0.902  0.980--lavenderBlush       :: DRGB-lavenderBlush       = RGB3 1.0  0.941  0.961--lawnGreen           :: DRGB-lawnGreen           = RGB3 0.486  0.988  0.0--lemonChiffon        :: DRGB-lemonChiffon        = RGB3 1.0  0.980  0.804--lightBlue           :: DRGB-lightBlue           = RGB3 0.678  0.847  0.902--lightCoral          :: DRGB-lightCoral          = RGB3 0.941  0.5  0.5--lightCyan           :: DRGB-lightCyan           = RGB3 0.878  1.0  1.0--lightGoldenrodYellow  :: DRGB-lightGoldenrodYellow  = RGB3 0.980  0.980  0.824--lightGray           :: DRGB-lightGray           = RGB3 0.827  0.827  0.827--lightGreen          :: DRGB-lightGreen          = RGB3 0.565  0.933  0.565--lightGrey           :: DRGB-lightGrey           = RGB3 0.827  0.827  0.827--lightPink           :: DRGB-lightPink           = RGB3 1.0  0.714  0.757--lightSalmon         :: DRGB-lightSalmon         = RGB3 1.0  0.627  0.478--lightSeaGreen       :: DRGB-lightSeaGreen       = RGB3 0.125  0.698  0.666--lightSkyBlue        :: DRGB-lightSkyBlue        = RGB3 0.529  0.808  0.980--lightSlateGray      :: DRGB-lightSlateGray      = RGB3 0.466  0.533  0.600--lightSlateGrey      :: DRGB-lightSlateGrey      = RGB3 0.466  0.533  0.600--lightSteelBlue      :: DRGB-lightSteelBlue      = RGB3 0.690  0.769  0.871--lightYellow         :: DRGB-lightYellow         = RGB3 1.0  1.0  0.878--lime                :: DRGB-lime                = RGB3 0.0  1.0  0.0--limeGreen           :: DRGB-limeGreen           = RGB3 0.196  0.804  0.196--linen               :: DRGB-linen               = RGB3 0.980  0.941  0.902--magenta             :: DRGB-magenta             = RGB3 1.0  0.0  1.0--maroon              :: DRGB-maroon              = RGB3 0.5  0.0  0.0--mediumAquamarine    :: DRGB-mediumAquamarine    = RGB3 0.4  0.804  0.666--mediumBlue          :: DRGB-mediumBlue          = RGB3 0.0  0.0  0.804--mediumOrchid        :: DRGB-mediumOrchid        = RGB3 0.729  0.333  0.827--mediumPurple        :: DRGB-mediumPurple        = RGB3 0.576  0.439  0.859--mediumSeaGreen      :: DRGB-mediumSeaGreen      = RGB3 0.235  0.702  0.443--mediumSlateBlue     :: DRGB-mediumSlateBlue     = RGB3 0.482  0.408  0.933--mediumSpringGreen   :: DRGB-mediumSpringGreen   = RGB3 0.0  0.980  0.604--mediumTurquoise     :: DRGB-mediumTurquoise     = RGB3 0.282  0.820  0.800--mediumVioletRed     :: DRGB-mediumVioletRed     = RGB3 0.780  0.082  0.522--midnightBlue        :: DRGB-midnightBlue        = RGB3 0.098  0.098  0.439--mintcream           :: DRGB-mintcream           = RGB3 0.961  1.0  0.980--mistyrose           :: DRGB-mistyrose           = RGB3 1.0  0.894  0.882--moccasin            :: DRGB-moccasin            = RGB3 1.0  0.894  0.710--navajoWhite         :: DRGB-navajoWhite         = RGB3 1.0  0.871  0.678--navy                :: DRGB-navy                = RGB3 0.0  0.0  0.5--oldlace             :: DRGB-oldlace             = RGB3 0.992  0.961  0.902--olive               :: DRGB-olive               = RGB3 0.5  0.5  0.0--oliveDrab           :: DRGB-oliveDrab           = RGB3 0.420  0.557  0.137--orange              :: DRGB-orange              = RGB3 1.0  0.647  0.0--orangeRed           :: DRGB-orangeRed           = RGB3 1.0  0.271  0.0--orchid              :: DRGB-orchid              = RGB3 0.855  0.439  0.839--paleGoldenrod       :: DRGB-paleGoldenrod       = RGB3 0.933  0.910  0.666--paleGreen           :: DRGB-paleGreen           = RGB3 0.596  0.984  0.596--paleTurquoise       :: DRGB-paleTurquoise       = RGB3 0.686  0.933  0.933--paleVioletRed       :: DRGB-paleVioletRed       = RGB3 0.859  0.439  0.576--papayawhip          :: DRGB-papayawhip          = RGB3 1.0  0.937  0.835--peachpuff           :: DRGB-peachpuff           = RGB3 1.0  0.855  0.725--peru                :: DRGB-peru                = RGB3 0.804  0.522  0.247--pink                :: DRGB-pink                = RGB3 1.0  0.753  0.796--plum                :: DRGB-plum                = RGB3 0.867  0.627  0.867--powderBlue          :: DRGB-powderBlue          = RGB3 0.690  0.878  0.902--purple              :: DRGB-purple              = RGB3 0.5  0.0  0.5--red                 :: DRGB-red                 = RGB3 1.0  0.0  0.0--rosyBrown           :: DRGB-rosyBrown           = RGB3 0.737  0.561  0.561--royalBlue           :: DRGB-royalBlue           = RGB3 0.255  0.412  0.882--saddleBrown         :: DRGB-saddleBrown         = RGB3 0.545  0.271  0.075--salmon              :: DRGB-salmon              = RGB3 0.980  0.5  0.447--sandyBrown          :: DRGB-sandyBrown          = RGB3 0.957  0.643  0.376--seaGreen            :: DRGB-seaGreen            = RGB3 0.180  0.545  0.341--seashell            :: DRGB-seashell            = RGB3 1.0  0.961  0.933--sienna              :: DRGB-sienna              = RGB3 0.627  0.322  0.176--silver              :: DRGB-silver              = RGB3 0.753  0.753  0.753--skyBlue             :: DRGB-skyBlue             = RGB3 0.529  0.808  0.922--slateBlue           :: DRGB-slateBlue           = RGB3 0.416  0.353  0.804--slateGray           :: DRGB-slateGray           = RGB3 0.439  0.5  0.565--slateGrey           :: DRGB-slateGrey           = RGB3 0.439  0.5  0.565--snow                :: DRGB-snow                = RGB3 1.0  0.980  0.980--springGreen         :: DRGB-springGreen         = RGB3 0.0  1.0  0.498--steelBlue           :: DRGB-steelBlue           = RGB3 0.275  0.510  0.706--tan                 :: DRGB-tan                 = RGB3 0.824  0.706  0.549--teal                :: DRGB-teal                = RGB3 0.0  0.5  0.5--thistle             :: DRGB-thistle             = RGB3 0.847  0.750  0.847--tomato              :: DRGB-tomato              = RGB3 1.0  0.388  0.278--turquoise           :: DRGB-turquoise           = RGB3 0.251  0.878  0.816--violet              :: DRGB-violet              = RGB3 0.933  0.510  0.933--wheat               :: DRGB-wheat               = RGB3 0.961  0.871  0.702--white               :: DRGB-white               = RGB3 1.0  1.0  1.0--whitesmoke          :: DRGB-whitesmoke          = RGB3 0.961  0.961  0.961--yellow              :: DRGB-yellow              = RGB3 1.0  1.0  0.0--yellowGreen         :: DRGB-yellowGreen         = RGB3 0.604  0.804  0.196-----
src/Wumpus/Basic/Text/LRText.hs view
@@ -70,7 +70,7 @@ -- Vertical distance between baselines. type VDist = PtSize        -type Env = (VDist, DRGB)+type Env = (VDist, RGBi)  newtype TextM u a = TextM { getTextM :: Env -> St u -> (a, St u) } @@ -100,7 +100,7 @@ -- line at the base line...  runTextM :: (Num u, FromPtSize u) -         => PtSize -> (DRGB,FontAttr) -> (TextM u a) -> (a,GraphicF u)+         => PtSize -> (RGBi,FontAttr) -> (TextM u a) -> (a,GraphicF u) runTextM vdistance (rgb,font) ma = post $ getTextM ma env st   where     post (a,s)  = let gf = getTGraphicF $ acc_graphic s
src/Wumpus/Basic/Utils/Intersection.hs view
@@ -27,7 +27,7 @@   , intersection    , rectangleLines-+  , langle   )    where @@ -92,7 +92,7 @@  quadrantCheck :: (Real u, Floating u)                => Radian -> Point2 u -> Point2 u -> Bool-quadrantCheck theta ctr pt = theta `req` langle ctr pt+quadrantCheck theta ctr pt = theta == langle ctr pt  intersection :: (Fractional u, Ord u)               => LineSegment u -> LineEqn u -> Maybe (Point2 u)@@ -131,3 +131,25 @@     tr = ctr .+^ (vec hw    hh)     tl = ctr .+^ (vec (-hw) hh)     bl = ctr .+^ (vec (-hw) (-hh))++++-- | Calculate the counter-clockwise angle between two points +-- and the x-axis.+--+langle :: (Floating u, Real u) => Point2 u -> Point2 u -> Radian+langle (P2 x1 y1) (P2 x2 y2) = step (x2 - x1) (y2 - y1)+  where+    -- north-east quadrant +    step x y | pve x && pve y = toRadian $ atan (y/x)          +    +    -- north-west quadrant+    step x y | pve y          = pi     - (toRadian $ atan (y / abs x))++    -- south-east quadrant+    step x y | pve x          = (2*pi) - (toRadian $ atan (abs y / x)) ++    -- otherwise... south-west quadrant+    step x y                  = pi     + (toRadian $ atan (y/x))++    pve a                     = signum a >= 0
src/Wumpus/Basic/VersionNumber.hs view
@@ -23,7 +23,7 @@  -- | Version number ----- > (0,4,0)+-- > (0,5,0) -- wumpus_basic_version :: (Int,Int,Int)-wumpus_basic_version = (0,4,0)+wumpus_basic_version = (0,5,0)
− src/Wumpus/Basic/X11Colours.hs
@@ -1,1060 +0,0 @@-{-# OPTIONS -Wall #-}------------------------------------------------------------------------------------- |--- Module      :  Wumpus.Basic.X11Colours--- Copyright   :  (c) Stephen Tetley 2009-2010--- License     :  BSD3------ Maintainer  :  Stephen Tetley <stephen.tetley@gmail.com>--- Stability   :  highly unstable--- Portability :  GHC with TypeFamilies and more------ The X11 \'named colours\', as rgb [0,1] values --------------------------------------------------------------------------------------module Wumpus.Basic.X11Colours-  ( -  -  -- * Named X11 colours-    antiqueWhite1-  , antiqueWhite2-  , antiqueWhite3-  , antiqueWhite4-  , aquamarine1-  , aquamarine2-  , aquamarine3-  , aquamarine4-  , azure1-  , azure2-  , azure3-  , azure4-  , bisque1-  , bisque2-  , bisque3-  , bisque4-  , blue1-  , blue2-  , blue3-  , blue4-  , brown1-  , brown2-  , brown3-  , brown4-  , burlywood1-  , burlywood2-  , burlywood3-  , burlywood4-  , cadetBlue1-  , cadetBlue2-  , cadetBlue3-  , cadetBlue4-  , chartreuse1-  , chartreuse2-  , chartreuse3-  , chartreuse4-  , chocolate1-  , chocolate2-  , chocolate3-  , chocolate4-  , coral1-  , coral2-  , coral3-  , coral4-  , cornsilk1-  , cornsilk2-  , cornsilk3-  , cornsilk4-  , cyan1-  , cyan2-  , cyan3-  , cyan4-  , darkGoldenrod1-  , darkGoldenrod2-  , darkGoldenrod3-  , darkGoldenrod4-  , darkOliveGreen1-  , darkOliveGreen2-  , darkOliveGreen3-  , darkOliveGreen4-  , darkOrange1-  , darkOrange2-  , darkOrange3-  , darkOrange4-  , darkOrchid1-  , darkOrchid2-  , darkOrchid3-  , darkOrchid4-  , darkSeaGreen1-  , darkSeaGreen2-  , darkSeaGreen3-  , darkSeaGreen4-  , darkSlateGray1-  , darkSlateGray2-  , darkSlateGray3-  , darkSlateGray4-  , deepPink1-  , deepPink2-  , deepPink3-  , deepPink4-  , deepSkyBlue1-  , deepSkyBlue2-  , deepSkyBlue3-  , deepSkyBlue4-  , dodgerBlue1-  , dodgerBlue2-  , dodgerBlue3-  , dodgerBlue4-  , firebrick1-  , firebrick2-  , firebrick3-  , firebrick4-  , gold1-  , gold2-  , gold3-  , gold4-  , goldenrod1-  , goldenrod2-  , goldenrod3-  , goldenrod4-  , green1-  , green2-  , green3-  , green4-  , honeydew1-  , honeydew2-  , honeydew3-  , honeydew4-  , hotPink1-  , hotPink2-  , hotPink3-  , hotPink4-  , indianRed1-  , indianRed2-  , indianRed3-  , indianRed4-  , ivory1-  , ivory2-  , ivory3-  , ivory4-  , khaki1-  , khaki2-  , khaki3-  , khaki4-  , lavenderBlush1-  , lavenderBlush2-  , lavenderBlush3-  , lavenderBlush4-  , lemonChiffon1-  , lemonChiffon2-  , lemonChiffon3-  , lemonChiffon4-  , lightBlue1-  , lightBlue2-  , lightBlue3-  , lightBlue4-  , lightCyan1-  , lightCyan2-  , lightCyan3-  , lightCyan4-  , lightGoldenrod1-  , lightGoldenrod2-  , lightGoldenrod3-  , lightGoldenrod4-  , lightPink1-  , lightPink2-  , lightPink3-  , lightPink4-  , lightSalmon1-  , lightSalmon2-  , lightSalmon3-  , lightSalmon4-  , lightSkyBlue1-  , lightSkyBlue2-  , lightSkyBlue3-  , lightSkyBlue4-  , lightSteelBlue1-  , lightSteelBlue2-  , lightSteelBlue3-  , lightSteelBlue4-  , lightYellow1-  , lightYellow2-  , lightYellow3-  , lightYellow4-  , magenta1-  , magenta2-  , magenta3-  , magenta4-  , maroon1-  , maroon2-  , maroon3-  , maroon4-  , mediumOrchid1-  , mediumOrchid2-  , mediumOrchid3-  , mediumOrchid4-  , mediumPurple1-  , mediumPurple2-  , mediumPurple3-  , mediumPurple4-  , mistyRose1-  , mistyRose2-  , mistyRose3-  , mistyRose4-  , navajoWhite1-  , navajoWhite2-  , navajoWhite3-  , navajoWhite4-  , oliveDrab1-  , oliveDrab2-  , oliveDrab3-  , oliveDrab4-  , orange1-  , orange2-  , orange3-  , orange4-  , orangeRed1-  , orangeRed2-  , orangeRed3-  , orangeRed4-  , orchid1-  , orchid2-  , orchid3-  , orchid4-  , paleGreen1-  , paleGreen2-  , paleGreen3-  , paleGreen4-  , paleTurquoise1-  , paleTurquoise2-  , paleTurquoise3-  , paleTurquoise4-  , paleVioletRed1-  , paleVioletRed2-  , paleVioletRed3-  , paleVioletRed4-  , peachPuff1-  , peachPuff2-  , peachPuff3-  , peachPuff4-  , pink1-  , pink2-  , pink3-  , pink4-  , plum1-  , plum2-  , plum3-  , plum4-  , purple1-  , purple2-  , purple3-  , purple4-  , red1-  , red2-  , red3-  , red4-  , rosyBrown1-  , rosyBrown2-  , rosyBrown3-  , rosyBrown4-  , royalBlue1-  , royalBlue2-  , royalBlue3-  , royalBlue4-  , salmon1-  , salmon2-  , salmon3-  , salmon4-  , seaGreen1-  , seaGreen2-  , seaGreen3-  , seaGreen4-  , seashell1-  , seashell2-  , seashell3-  , seashell4-  , sienna1-  , sienna2-  , sienna3-  , sienna4-  , skyBlue1-  , skyBlue2-  , skyBlue3-  , skyBlue4-  , slateBlue1-  , slateBlue2-  , slateBlue3-  , slateBlue4-  , slateGray1-  , slateGray2-  , slateGray3-  , slateGray4-  , snow1-  , snow2-  , snow3-  , snow4-  , springGreen1-  , springGreen2-  , springGreen3-  , springGreen4-  , steelBlue1-  , steelBlue2-  , steelBlue3-  , steelBlue4-  , tan1-  , tan2-  , tan3-  , tan4-  , thistle1-  , thistle2-  , thistle3-  , thistle4-  , tomato1-  , tomato2-  , tomato3-  , tomato4-  , turquoise1-  , turquoise2-  , turquoise3-  , turquoise4-  , violetRed1-  , violetRed2-  , violetRed3-  , violetRed4-  , wheat1-  , wheat2-  , wheat3-  , wheat4-  , yellow1-  , yellow2-  , yellow3-  , yellow4-  , gray0-  , green0-  , grey0-  , maroon0-  , purple0--  ) where--import Wumpus.Core.Colour ( RGB3(..), DRGB )------------------------------------------------------------------------------------antiqueWhite1           :: DRGB-antiqueWhite2           :: DRGB-antiqueWhite3           :: DRGB-antiqueWhite4           :: DRGB-antiqueWhite1           = RGB3 1   0.936   0.86-antiqueWhite2           = RGB3 0.932   0.875   0.8-antiqueWhite3           = RGB3 0.804   0.752   0.69-antiqueWhite4           = RGB3 0.545   0.512   0.47--aquamarine1             :: DRGB-aquamarine2             :: DRGB-aquamarine3             :: DRGB-aquamarine4             :: DRGB-aquamarine1             = RGB3 0.498  1   0.83-aquamarine2             = RGB3 0.464   0.932   0.776-aquamarine3             = RGB3 0.4   0.804   0.668-aquamarine4             = RGB3 0.27   0.545   0.455--azure1                  :: DRGB-azure2                  :: DRGB-azure3                  :: DRGB-azure4                  :: DRGB-azure1                  = RGB3 0.94  1  1-azure2                  = RGB3 0.88   0.932   0.932-azure3                  = RGB3 0.756   0.804   0.804-azure4                  = RGB3 0.512   0.545   0.545--bisque1                 :: DRGB-bisque2                 :: DRGB-bisque3                 :: DRGB-bisque4                 :: DRGB-bisque1                 = RGB3 1   0.894   0.77-bisque2                 = RGB3 0.932   0.835   0.716-bisque3                 = RGB3 0.804   0.716   0.62-bisque4                 = RGB3 0.545   0.49   0.42--blue1                   :: DRGB-blue2                   :: DRGB-blue3                   :: DRGB-blue4                   :: DRGB-blue1                   = RGB3 0  0  1-blue2                   = RGB3 0  0   0.932-blue3                   = RGB3 0  0   0.804-blue4                   = RGB3 0  0   0.545--brown1                  :: DRGB-brown2                  :: DRGB-brown3                  :: DRGB-brown4                  :: DRGB-brown1                  = RGB3 1   0.25   0.25-brown2                  = RGB3 0.932   0.23   0.23-brown3                  = RGB3 0.804   0.2   0.2-brown4                  = RGB3 0.545   0.136   0.136--burlywood1              :: DRGB-burlywood2              :: DRGB-burlywood3              :: DRGB-burlywood4              :: DRGB-burlywood1              = RGB3 1   0.828   0.608-burlywood2              = RGB3 0.932   0.772   0.57-burlywood3              = RGB3 0.804   0.668   0.49-burlywood4              = RGB3 0.545   0.45   0.332--cadetBlue1              :: DRGB-cadetBlue2              :: DRGB-cadetBlue3              :: DRGB-cadetBlue4              :: DRGB-cadetBlue1              = RGB3 0.596   0.96  1-cadetBlue2              = RGB3 0.556   0.898   0.932-cadetBlue3              = RGB3 0.48   0.772   0.804-cadetBlue4              = RGB3 0.325   0.525   0.545--chartreuse1             :: DRGB-chartreuse2             :: DRGB-chartreuse3             :: DRGB-chartreuse4             :: DRGB-chartreuse1             = RGB3 0.498  1  0-chartreuse2             = RGB3 0.464   0.932  0-chartreuse3             = RGB3 0.4   0.804  0-chartreuse4             = RGB3 0.27   0.545  0--chocolate1              :: DRGB-chocolate2              :: DRGB-chocolate3              :: DRGB-chocolate4              :: DRGB-chocolate1              = RGB3 1   0.498   0.14-chocolate2              = RGB3 0.932   0.464   0.13-chocolate3              = RGB3 0.804   0.4   0.112-chocolate4              = RGB3 0.545   0.27   0.075--coral1                  :: DRGB-coral2                  :: DRGB-coral3                  :: DRGB-coral4                  :: DRGB-coral1                  = RGB3 1   0.448   0.336-coral2                  = RGB3 0.932   0.415   0.312-coral3                  = RGB3 0.804   0.356   0.27-coral4                  = RGB3 0.545   0.244   0.185--cornsilk1               :: DRGB-cornsilk2               :: DRGB-cornsilk3               :: DRGB-cornsilk4               :: DRGB-cornsilk1               = RGB3 1   0.972   0.864-cornsilk2               = RGB3 0.932   0.91   0.804-cornsilk3               = RGB3 0.804   0.785   0.694-cornsilk4               = RGB3 0.545   0.532   0.47--cyan1                   :: DRGB-cyan2                   :: DRGB-cyan3                   :: DRGB-cyan4                   :: DRGB-cyan1                   = RGB3 0   1   1-cyan2                   = RGB3 0   0.932   0.932-cyan3                   = RGB3 0   0.804   0.804-cyan4                   = RGB3 0   0.545   0.545--darkGoldenrod1          :: DRGB-darkGoldenrod2          :: DRGB-darkGoldenrod3          :: DRGB-darkGoldenrod4          :: DRGB-darkGoldenrod1          = RGB3 1   0.725   0.06-darkGoldenrod2          = RGB3 0.932   0.68   0.055-darkGoldenrod3          = RGB3 0.804   0.585   0.048-darkGoldenrod4          = RGB3 0.545   0.396   0.03--darkOliveGreen1         :: DRGB-darkOliveGreen2         :: DRGB-darkOliveGreen3         :: DRGB-darkOliveGreen4         :: DRGB-darkOliveGreen1         = RGB3 0.792  1   0.44-darkOliveGreen2         = RGB3 0.736   0.932   0.408-darkOliveGreen3         = RGB3 0.635   0.804   0.352-darkOliveGreen4         = RGB3 0.43   0.545   0.24--darkOrange1             :: DRGB-darkOrange2             :: DRGB-darkOrange3             :: DRGB-darkOrange4             :: DRGB-darkOrange1             = RGB3 1   0.498  0-darkOrange2             = RGB3 0.932   0.464  0-darkOrange3             = RGB3 0.804   0.4  0-darkOrange4             = RGB3 0.545   0.27  0--darkOrchid1             :: DRGB-darkOrchid2             :: DRGB-darkOrchid3             :: DRGB-darkOrchid4             :: DRGB-darkOrchid1             = RGB3 0.75   0.244  1-darkOrchid2             = RGB3 0.698   0.228   0.932-darkOrchid3             = RGB3 0.604   0.196   0.804-darkOrchid4             = RGB3 0.408   0.132   0.545--darkSeaGreen1           :: DRGB-darkSeaGreen2           :: DRGB-darkSeaGreen3           :: DRGB-darkSeaGreen4           :: DRGB-darkSeaGreen1           = RGB3 0.756  1   0.756-darkSeaGreen2           = RGB3 0.705   0.932   0.705-darkSeaGreen3           = RGB3 0.608   0.804   0.608-darkSeaGreen4           = RGB3 0.41   0.545   0.41--darkSlateGray1          :: DRGB-darkSlateGray2          :: DRGB-darkSlateGray3          :: DRGB-darkSlateGray4          :: DRGB-darkSlateGray1          = RGB3 0.592  1  1-darkSlateGray2          = RGB3 0.552   0.932   0.932-darkSlateGray3          = RGB3 0.475   0.804   0.804-darkSlateGray4          = RGB3 0.32   0.545   0.545--deepPink1               :: DRGB-deepPink2               :: DRGB-deepPink3               :: DRGB-deepPink4               :: DRGB-deepPink1               = RGB3 1   0.08   0.576-deepPink2               = RGB3 0.932   0.07   0.536-deepPink3               = RGB3 0.804   0.064   0.464-deepPink4               = RGB3 0.545   0.04   0.312--deepSkyBlue1            :: DRGB-deepSkyBlue2            :: DRGB-deepSkyBlue3            :: DRGB-deepSkyBlue4            :: DRGB-deepSkyBlue1            = RGB3 0   0.75  1-deepSkyBlue2            = RGB3 0   0.698   0.932-deepSkyBlue3            = RGB3 0   0.604   0.804-deepSkyBlue4            = RGB3 0   0.408   0.545--dodgerBlue1             :: DRGB-dodgerBlue2             :: DRGB-dodgerBlue3             :: DRGB-dodgerBlue4             :: DRGB-dodgerBlue1             = RGB3 0.116   0.565  1-dodgerBlue2             = RGB3 0.11   0.525   0.932-dodgerBlue3             = RGB3 0.094   0.455   0.804-dodgerBlue4             = RGB3 0.064   0.305   0.545--firebrick1              :: DRGB-firebrick2              :: DRGB-firebrick3              :: DRGB-firebrick4              :: DRGB-firebrick1              = RGB3 1   0.19   0.19-firebrick2              = RGB3 0.932   0.172   0.172-firebrick3              = RGB3 0.804   0.15   0.15-firebrick4              = RGB3 0.545   0.1   0.1--gold1                   :: DRGB-gold2                   :: DRGB-gold3                   :: DRGB-gold4                   :: DRGB-gold1                   = RGB3 1   0.844  0-gold2                   = RGB3 0.932   0.79  0-gold3                   = RGB3 0.804   0.68  0-gold4                   = RGB3 0.545   0.46  0--goldenrod1              :: DRGB-goldenrod2              :: DRGB-goldenrod3              :: DRGB-goldenrod4              :: DRGB-goldenrod1              = RGB3 1   0.756   0.145-goldenrod2              = RGB3 0.932   0.705   0.132-goldenrod3              = RGB3 0.804   0.608   0.112-goldenrod4              = RGB3 0.545   0.41   0.08--green1                  :: DRGB-green2                  :: DRGB-green3                  :: DRGB-green4                  :: DRGB-green1                  = RGB3 0  1  0-green2                  = RGB3 0   0.932  0-green3                  = RGB3 0   0.804  0-green4                  = RGB3 0   0.545  0--honeydew1               :: DRGB-honeydew2               :: DRGB-honeydew3               :: DRGB-honeydew4               :: DRGB-honeydew1               = RGB3 0.94  1   0.94-honeydew2               = RGB3 0.88   0.932   0.88-honeydew3               = RGB3 0.756   0.804   0.756-honeydew4               = RGB3 0.512   0.545   0.512--hotPink1                :: DRGB-hotPink2                :: DRGB-hotPink3                :: DRGB-hotPink4                :: DRGB-hotPink1                = RGB3 1   0.43   0.705-hotPink2                = RGB3 0.932   0.415   0.655-hotPink3                = RGB3 0.804   0.376   0.565-hotPink4                = RGB3 0.545   0.228   0.385--indianRed1              :: DRGB-indianRed2              :: DRGB-indianRed3              :: DRGB-indianRed4              :: DRGB-indianRed1              = RGB3 1   0.415   0.415-indianRed2              = RGB3 0.932   0.39   0.39-indianRed3              = RGB3 0.804   0.332   0.332-indianRed4              = RGB3 0.545   0.228   0.228--ivory1                  :: DRGB-ivory2                  :: DRGB-ivory3                  :: DRGB-ivory4                  :: DRGB-ivory1                  = RGB3 1   1   0.94-ivory2                  = RGB3 0.932   0.932   0.88-ivory3                  = RGB3 0.804   0.804   0.756-ivory4                  = RGB3 0.545   0.545   0.512--khaki1                  :: DRGB-khaki2                  :: DRGB-khaki3                  :: DRGB-khaki4                  :: DRGB-khaki1                  = RGB3 1   0.965   0.56-khaki2                  = RGB3 0.932   0.9   0.52-khaki3                  = RGB3 0.804   0.776   0.45-khaki4                  = RGB3 0.545   0.525   0.305--lavenderBlush1          :: DRGB-lavenderBlush2          :: DRGB-lavenderBlush3          :: DRGB-lavenderBlush4          :: DRGB-lavenderBlush1          = RGB3 1   0.94   0.96-lavenderBlush2          = RGB3 0.932   0.88   0.898-lavenderBlush3          = RGB3 0.804   0.756   0.772-lavenderBlush4          = RGB3 0.545   0.512   0.525--lemonChiffon1           :: DRGB-lemonChiffon2           :: DRGB-lemonChiffon3           :: DRGB-lemonChiffon4           :: DRGB-lemonChiffon1           = RGB3 1   0.98   0.804-lemonChiffon2           = RGB3 0.932   0.912   0.75-lemonChiffon3           = RGB3 0.804   0.79   0.648-lemonChiffon4           = RGB3 0.545   0.536   0.44--lightBlue1              :: DRGB-lightBlue2              :: DRGB-lightBlue3              :: DRGB-lightBlue4              :: DRGB-lightBlue1              = RGB3 0.75   0.936  1-lightBlue2              = RGB3 0.698   0.875   0.932-lightBlue3              = RGB3 0.604   0.752   0.804-lightBlue4              = RGB3 0.408   0.512   0.545--lightCyan1              :: DRGB-lightCyan2              :: DRGB-lightCyan3              :: DRGB-lightCyan4              :: DRGB-lightCyan1              = RGB3 0.88  1  1-lightCyan2              = RGB3 0.82   0.932   0.932-lightCyan3              = RGB3 0.705   0.804   0.804-lightCyan4              = RGB3 0.48   0.545   0.545--lightGoldenrod1         :: DRGB-lightGoldenrod2         :: DRGB-lightGoldenrod3         :: DRGB-lightGoldenrod4         :: DRGB-lightGoldenrod1         = RGB3 1   0.925   0.545-lightGoldenrod2         = RGB3 0.932   0.864   0.51-lightGoldenrod3         = RGB3 0.804   0.745   0.44-lightGoldenrod4         = RGB3 0.545   0.505   0.298--lightPink1              :: DRGB-lightPink2              :: DRGB-lightPink3              :: DRGB-lightPink4              :: DRGB-lightPink1              = RGB3 1   0.684   0.725-lightPink2              = RGB3 0.932   0.635   0.68-lightPink3              = RGB3 0.804   0.55   0.585-lightPink4              = RGB3 0.545   0.372   0.396--lightSalmon1            :: DRGB-lightSalmon2            :: DRGB-lightSalmon3            :: DRGB-lightSalmon4            :: DRGB-lightSalmon1            = RGB3 1   0.628   0.48-lightSalmon2            = RGB3 0.932   0.585   0.448-lightSalmon3            = RGB3 0.804   0.505   0.385-lightSalmon4            = RGB3 0.545   0.34   0.26--lightSkyBlue1           :: DRGB-lightSkyBlue2           :: DRGB-lightSkyBlue3           :: DRGB-lightSkyBlue4           :: DRGB-lightSkyBlue1           = RGB3 0.69   0.888  1-lightSkyBlue2           = RGB3 0.644   0.828   0.932-lightSkyBlue3           = RGB3 0.552   0.712   0.804-lightSkyBlue4           = RGB3 0.376   0.484   0.545--lightSteelBlue1         :: DRGB-lightSteelBlue2         :: DRGB-lightSteelBlue3         :: DRGB-lightSteelBlue4         :: DRGB-lightSteelBlue1         = RGB3 0.792   0.884  1-lightSteelBlue2         = RGB3 0.736   0.824   0.932-lightSteelBlue3         = RGB3 0.635   0.71   0.804-lightSteelBlue4         = RGB3 0.43   0.484   0.545--lightYellow1            :: DRGB-lightYellow2            :: DRGB-lightYellow3            :: DRGB-lightYellow4            :: DRGB-lightYellow1            = RGB3 1  1   0.88-lightYellow2            = RGB3 0.932   0.932   0.82-lightYellow3            = RGB3 0.804   0.804   0.705-lightYellow4            = RGB3 0.545   0.545   0.48--magenta1                :: DRGB-magenta2                :: DRGB-magenta3                :: DRGB-magenta4                :: DRGB-magenta1                = RGB3 1  0  1-magenta2                = RGB3 0.932  0   0.932-magenta3                = RGB3 0.804  0   0.804-magenta4                = RGB3 0.545  0   0.545--maroon1                 :: DRGB-maroon2                 :: DRGB-maroon3                 :: DRGB-maroon4                 :: DRGB-maroon1                 = RGB3 1   0.204   0.7-maroon2                 = RGB3 0.932   0.19   0.655-maroon3                 = RGB3 0.804   0.16   0.565-maroon4                 = RGB3 0.545   0.11   0.385--mediumOrchid1           :: DRGB-mediumOrchid2           :: DRGB-mediumOrchid3           :: DRGB-mediumOrchid4           :: DRGB-mediumOrchid1           = RGB3 0.88   0.4  1-mediumOrchid2           = RGB3 0.82   0.372   0.932-mediumOrchid3           = RGB3 0.705   0.32   0.804-mediumOrchid4           = RGB3 0.48   0.215   0.545--mediumPurple1           :: DRGB-mediumPurple2           :: DRGB-mediumPurple3           :: DRGB-mediumPurple4           :: DRGB-mediumPurple1           = RGB3 0.67   0.51  1-mediumPurple2           = RGB3 0.624   0.475   0.932-mediumPurple3           = RGB3 0.536   0.408   0.804-mediumPurple4           = RGB3 0.365   0.28   0.545--mistyRose1              :: DRGB-mistyRose2              :: DRGB-mistyRose3              :: DRGB-mistyRose4              :: DRGB-mistyRose1              = RGB3 1   0.894   0.884-mistyRose2              = RGB3 0.932   0.835   0.824-mistyRose3              = RGB3 0.804   0.716   0.71-mistyRose4              = RGB3 0.545   0.49   0.484--navajoWhite1            :: DRGB-navajoWhite2            :: DRGB-navajoWhite3            :: DRGB-navajoWhite4            :: DRGB-navajoWhite1            = RGB3 1   0.87   0.68-navajoWhite2            = RGB3 0.932   0.81   0.63-navajoWhite3            = RGB3 0.804   0.7   0.545-navajoWhite4            = RGB3 0.545   0.475   0.37--oliveDrab1              :: DRGB-oliveDrab2              :: DRGB-oliveDrab3              :: DRGB-oliveDrab4              :: DRGB-oliveDrab1              = RGB3 0.752  1   0.244-oliveDrab2              = RGB3 0.7   0.932   0.228-oliveDrab3              = RGB3 0.604   0.804   0.196-oliveDrab4              = RGB3 0.41   0.545   0.132--orange1                 :: DRGB-orange2                 :: DRGB-orange3                 :: DRGB-orange4                 :: DRGB-orange1                 = RGB3 1   0.648  0-orange2                 = RGB3 0.932   0.604  0-orange3                 = RGB3 0.804   0.52  0-orange4                 = RGB3 0.545   0.352  0--orangeRed1              :: DRGB-orangeRed2              :: DRGB-orangeRed3              :: DRGB-orangeRed4              :: DRGB-orangeRed1              = RGB3 1   0.27  0-orangeRed2              = RGB3 0.932   0.25  0-orangeRed3              = RGB3 0.804   0.215  0-orangeRed4              = RGB3 0.545   0.145  0--orchid1                 :: DRGB-orchid2                 :: DRGB-orchid3                 :: DRGB-orchid4                 :: DRGB-orchid1                 = RGB3 1   0.512   0.98-orchid2                 = RGB3 0.932   0.48   0.912-orchid3                 = RGB3 0.804   0.41   0.79-orchid4                 = RGB3 0.545   0.28   0.536--paleGreen1              :: DRGB-paleGreen2              :: DRGB-paleGreen3              :: DRGB-paleGreen4              :: DRGB-paleGreen1              = RGB3 0.604  1   0.604-paleGreen2              = RGB3 0.565   0.932   0.565-paleGreen3              = RGB3 0.488   0.804   0.488-paleGreen4              = RGB3 0.33   0.545   0.33--paleTurquoise1          :: DRGB-paleTurquoise2          :: DRGB-paleTurquoise3          :: DRGB-paleTurquoise4          :: DRGB-paleTurquoise1          = RGB3 0.732  1  1-paleTurquoise2          = RGB3 0.684   0.932   0.932-paleTurquoise3          = RGB3 0.59   0.804   0.804-paleTurquoise4          = RGB3 0.4   0.545   0.545--paleVioletRed1          :: DRGB-paleVioletRed2          :: DRGB-paleVioletRed3          :: DRGB-paleVioletRed4          :: DRGB-paleVioletRed1          = RGB3 1   0.51   0.67-paleVioletRed2          = RGB3 0.932   0.475   0.624-paleVioletRed3          = RGB3 0.804   0.408   0.536-paleVioletRed4          = RGB3 0.545   0.28   0.365--peachPuff1              :: DRGB-peachPuff2              :: DRGB-peachPuff3              :: DRGB-peachPuff4              :: DRGB-peachPuff1              = RGB3 1   0.855   0.725-peachPuff2              = RGB3 0.932   0.796   0.68-peachPuff3              = RGB3 0.804   0.688   0.585-peachPuff4              = RGB3 0.545   0.468   0.396--pink1                   :: DRGB-pink2                   :: DRGB-pink3                   :: DRGB-pink4                   :: DRGB-pink1                   = RGB3 1   0.71   0.772-pink2                   = RGB3 0.932   0.664   0.72-pink3                   = RGB3 0.804   0.57   0.62-pink4                   = RGB3 0.545   0.39   0.424--plum1                   :: DRGB-plum2                   :: DRGB-plum3                   :: DRGB-plum4                   :: DRGB-plum1                   = RGB3 1   0.732  1-plum2                   = RGB3 0.932   0.684   0.932-plum3                   = RGB3 0.804   0.59   0.804-plum4                   = RGB3 0.545   0.4   0.545--purple1                 :: DRGB-purple2                 :: DRGB-purple3                 :: DRGB-purple4                 :: DRGB-purple1                 = RGB3 0.608   0.19  1-purple2                 = RGB3 0.57   0.172   0.932-purple3                 = RGB3 0.49   0.15   0.804-purple4                 = RGB3 0.332   0.1   0.545--red1                    :: DRGB-red2                    :: DRGB-red3                    :: DRGB-red4                    :: DRGB-red1                    = RGB3 1  0  0-red2                    = RGB3 0.932  0  0-red3                    = RGB3 0.804  0  0-red4                    = RGB3 0.545  0  0--rosyBrown1              :: DRGB-rosyBrown2              :: DRGB-rosyBrown3              :: DRGB-rosyBrown4              :: DRGB-rosyBrown1              = RGB3 1   0.756   0.756-rosyBrown2              = RGB3 0.932   0.705   0.705-rosyBrown3              = RGB3 0.804   0.608   0.608-rosyBrown4              = RGB3 0.545   0.41   0.41--royalBlue1              :: DRGB-royalBlue2              :: DRGB-royalBlue3              :: DRGB-royalBlue4              :: DRGB-royalBlue1              = RGB3 0.284   0.464  1-royalBlue2              = RGB3 0.264   0.43   0.932-royalBlue3              = RGB3 0.228   0.372   0.804-royalBlue4              = RGB3 0.152   0.25   0.545--salmon1                 :: DRGB-salmon2                 :: DRGB-salmon3                 :: DRGB-salmon4                 :: DRGB-salmon1                 = RGB3 1   0.55   0.41-salmon2                 = RGB3 0.932   0.51   0.385-salmon3                 = RGB3 0.804   0.44   0.33-salmon4                 = RGB3 0.545   0.298   0.224--seaGreen1               :: DRGB-seaGreen2               :: DRGB-seaGreen3               :: DRGB-seaGreen4               :: DRGB-seaGreen1               = RGB3 0.33  1   0.624-seaGreen2               = RGB3 0.305   0.932   0.58-seaGreen3               = RGB3 0.264   0.804   0.5-seaGreen4               = RGB3 0.18   0.545   0.34--seashell1               :: DRGB-seashell2               :: DRGB-seashell3               :: DRGB-seashell4               :: DRGB-seashell1               = RGB3 1   0.96   0.932-seashell2               = RGB3 0.932   0.898   0.87-seashell3               = RGB3 0.804   0.772   0.75-seashell4               = RGB3 0.545   0.525   0.51--sienna1                 :: DRGB-sienna2                 :: DRGB-sienna3                 :: DRGB-sienna4                 :: DRGB-sienna1                 = RGB3 1   0.51   0.28-sienna2                 = RGB3 0.932   0.475   0.26-sienna3                 = RGB3 0.804   0.408   0.224-sienna4                 = RGB3 0.545   0.28   0.15--skyBlue1                :: DRGB-skyBlue2                :: DRGB-skyBlue3                :: DRGB-skyBlue4                :: DRGB-skyBlue1                = RGB3 0.53   0.808  1-skyBlue2                = RGB3 0.494   0.752   0.932-skyBlue3                = RGB3 0.424   0.65   0.804-skyBlue4                = RGB3 0.29   0.44   0.545--slateBlue1              :: DRGB-slateBlue2              :: DRGB-slateBlue3              :: DRGB-slateBlue4              :: DRGB-slateBlue1              = RGB3 0.512   0.435  1-slateBlue2              = RGB3 0.48   0.404   0.932-slateBlue3              = RGB3 0.41   0.35   0.804-slateBlue4              = RGB3 0.28   0.235   0.545--slateGray1              :: DRGB-slateGray2              :: DRGB-slateGray3              :: DRGB-slateGray4              :: DRGB-slateGray1              = RGB3 0.776   0.888  1-slateGray2              = RGB3 0.725   0.828   0.932-slateGray3              = RGB3 0.624   0.712   0.804-slateGray4              = RGB3 0.424   0.484   0.545--snow1                   :: DRGB-snow2                   :: DRGB-snow3                   :: DRGB-snow4                   :: DRGB-snow1                   = RGB3 1   0.98   0.98-snow2                   = RGB3 0.932   0.912   0.912-snow3                   = RGB3 0.804   0.79   0.79-snow4                   = RGB3 0.545   0.536   0.536--springGreen1            :: DRGB-springGreen2            :: DRGB-springGreen3            :: DRGB-springGreen4            :: DRGB-springGreen1            = RGB3 0  1   0.498-springGreen2            = RGB3 0   0.932   0.464-springGreen3            = RGB3 0   0.804   0.4-springGreen4            = RGB3 0   0.545   0.27--steelBlue1              :: DRGB-steelBlue2              :: DRGB-steelBlue3              :: DRGB-steelBlue4              :: DRGB-steelBlue1              = RGB3 0.39   0.72  1-steelBlue2              = RGB3 0.36   0.675   0.932-steelBlue3              = RGB3 0.31   0.58   0.804-steelBlue4              = RGB3 0.21   0.392   0.545--tan1                    :: DRGB-tan2                    :: DRGB-tan3                    :: DRGB-tan4                    :: DRGB-tan1                    = RGB3 1   0.648   0.31-tan2                    = RGB3 0.932   0.604   0.288-tan3                    = RGB3 0.804   0.52   0.248-tan4                    = RGB3 0.545   0.352   0.17--thistle1                :: DRGB-thistle2                :: DRGB-thistle3                :: DRGB-thistle4                :: DRGB-thistle1                = RGB3 1   0.884  1-thistle2                = RGB3 0.932   0.824   0.932-thistle3                = RGB3 0.804   0.71   0.804-thistle4                = RGB3 0.545   0.484   0.545--tomato1                 :: DRGB-tomato2                 :: DRGB-tomato3                 :: DRGB-tomato4                 :: DRGB-tomato1                 = RGB3 1   0.39   0.28-tomato2                 = RGB3 0.932   0.36   0.26-tomato3                 = RGB3 0.804   0.31   0.224-tomato4                 = RGB3 0.545   0.21   0.15--turquoise1              :: DRGB-turquoise2              :: DRGB-turquoise3              :: DRGB-turquoise4              :: DRGB-turquoise1              = RGB3 0   0.96  1-turquoise2              = RGB3 0   0.898   0.932-turquoise3              = RGB3 0   0.772   0.804-turquoise4              = RGB3 0   0.525   0.545--violetRed1              :: DRGB-violetRed2              :: DRGB-violetRed3              :: DRGB-violetRed4              :: DRGB-violetRed1              = RGB3 1   0.244   0.59-violetRed2              = RGB3 0.932   0.228   0.55-violetRed3              = RGB3 0.804   0.196   0.47-violetRed4              = RGB3 0.545   0.132   0.32--wheat1                  :: DRGB-wheat2                  :: DRGB-wheat3                  :: DRGB-wheat4                  :: DRGB-wheat1                  = RGB3 1   0.905   0.73-wheat2                  = RGB3 0.932   0.848   0.684-wheat3                  = RGB3 0.804   0.73   0.59-wheat4                  = RGB3 0.545   0.494   0.4--yellow1                 :: DRGB-yellow2                 :: DRGB-yellow3                 :: DRGB-yellow4                 :: DRGB-yellow1                 = RGB3 1  1  0-yellow2                 = RGB3 0.932   0.932  0-yellow3                 = RGB3 0.804   0.804  0-yellow4                 = RGB3 0.545   0.545  0--gray0                   :: DRGB-green0                  :: DRGB-grey0                   :: DRGB-maroon0                 :: DRGB-purple0                 :: DRGB-gray0                   = RGB3 0.745  0.745  0.745-green0                  = RGB3 0      1      0-grey0                   = RGB3 0.745  0.745  0.745-maroon0                 = RGB3 0.69   0.19   0.376-purple0                 = RGB3 0.628  0.125  0.94----
− src/Wumpus/Deprecated/PictureLanguage.hs
@@ -1,543 +0,0 @@-{-# LANGUAGE TypeFamilies               #-}-{-# LANGUAGE FlexibleContexts           #-}-{-# OPTIONS -Wall #-}------------------------------------------------------------------------------------- |--- Module      :  Wumpus.Deprecated.PictureLanguage--- Copyright   :  (c) Stephen Tetley 2009-2010--- License     :  BSD3------ Maintainer  :  stephen.tetley@gmail.com--- Stability   :  unstable--- Portability :  GHC with TypeFamilies and more------ Type classes and derived functions to compose 2D /pictures/.------ WARNING - this module is deprecated.--------------------------------------------------------------------------------------module Wumpus.Deprecated.PictureLanguage -  (-  -- * Data types for alignment -    HAlign(..)-  , VAlign(..)--  -- * Type family and classes-  , PUnit -  , Horizontal(..)-  , Vertical(..)-  , Composite(..)-  , Move(..)-  , Blank(..)--  -- * Bounds-  -- $boundsdoc-  , center-  , topleft-  , topright-  , bottomleft-  , bottomright--  -- * Composition-  , ( -@- )-  , ( ->- )-  , ( -<- )-  , ( -//- )-  , above-  , below-  , at-  , centeredAt-  , stackOnto-  , hcat -  , vcat-  , stackOntoCenter--  , hspace-  , vspace-  , hsep-  , vsep- -  -- * Compose with alignment-  , alignH-  , alignV-  , hcatA-  , vcatA-  , hsepA-  , vsepA--  -- * Special function for text-  , multilabel---  ) where--import Wumpus.Core--import Data.AffineSpace--import Data.List ( foldl' )-------------------------------------------------------------------------------------- Data types---- Alignment---- | Horizontal alignment - align to the top, center or bottom.-data HAlign = HTop | HCenter | HBottom-  deriving (Eq,Show)---- | Vertical alignment - align to the left, center or bottom.-data VAlign = VLeft | VCenter | VRight-  deriving (Eq,Show)---------------------------------------------------------------------------------------- Type family and classes----- | The type of /points/ within a Picture.-type family PUnit a----- | > a `over` b--- --- Place \'picture\' a over b. The idea of @over@ here is the same--- as z-ordering in 2D design programs. Implementations of this --- class should \'draw\' picture a over b but move neither.--- --- Similarly @beneath@ should \'draw\' the first picture behind --- the second but move neither.------ Beneath has a default definition:------ > beneath = flip over----class Composite a where-  over    :: a -> a -> a-  beneath :: a -> a -> a--  beneath = flip over----- | Create a /picture/ that has no content but occupies space --- (i.e. it has a bounding box).-class Blank a where-  blank :: PUnit a -> PUnit a -> a----- | Move horizontally.-class Horizontal a where-  moveH      :: PUnit a -> a -> a-  leftBound  :: a -> PUnit a-  rightBound :: a -> PUnit a---- | Move vertically.-class Vertical a where-  moveV       :: PUnit a -> a -> a-  topBound    :: a -> PUnit a-  bottomBound :: a -> PUnit a---  --- | Move in both the horizontal and vertical.-class Move a where-  move :: PUnit a -> PUnit a -> a -> a----------------------------------------------------------------------------------------- Operations on bounds---- $boundsdoc--- Corresponding operations are available on bounding boxes - the --- definitions here have different type class obligations.---- | The center of a picture.-center :: (Horizontal a, Vertical a, Fractional u, u ~ PUnit a) => a -> Point2 u-center a = P2 hcenter vcenter where  -    hcenter = leftBound a   + 0.5 * (rightBound a - leftBound a)-    vcenter = bottomBound a + 0.5 * (topBound a   - bottomBound a)---- | Extract the top-left corner.-topleft       :: (Horizontal a, Vertical a, u ~ PUnit a) => a -> Point2 u-topleft a     = P2 (leftBound a)  (topBound a)---- | Extract the top-right corner.-topright      :: (Horizontal a, Vertical a, u ~ PUnit a) => a -> Point2 u-topright a    = P2 (rightBound a) (topBound a)---- | Extract the bottom-left corner.-bottomleft    :: (Horizontal a, Vertical a, u ~ PUnit a) => a -> Point2 u-bottomleft a  = P2 (leftBound a)  (bottomBound a)---- | Extract the bottom-right corner.-bottomright   :: (Horizontal a, Vertical a, u ~ PUnit a) => a -> Point2 u-bottomright a = P2 (rightBound a) (bottomBound a)------------------------------------------------------------------------------------- Internal helpers--leftmid       :: (Fractional u, Horizontal a, Vertical a, u ~ PUnit a) -              => a -> Point2 u-leftmid a     = P2 (leftBound a) (midpt (bottomBound a) (topBound a))--rightmid      :: (Fractional u, Horizontal a, Vertical a, u ~ PUnit a) -              => a -> Point2 u-rightmid a    = P2 (rightBound a) (midpt (bottomBound a) (topBound a))---topmid        :: (Fractional u, Horizontal a, Vertical a, u ~ PUnit a) -              => a -> Point2 u-topmid a      = P2 (midpt (leftBound a) (rightBound a)) (topBound a)--bottommid     :: (Fractional u, Horizontal a, Vertical a, u ~ PUnit a) -              => a -> Point2 u-bottommid a   = P2 (midpt (leftBound a) (rightBound a)) (bottomBound a)---midpt :: Fractional a => a -> a -> a-midpt a b = a + 0.5*(b-a)------------------------------------------------------------------------------------- Composition--infixr 5 -//-, `above`, `below`-infixr 6 ->-, -@------ | > a -@- b--- --- Center @a@ on top of @b@, @a@ is potentially moved and drawn --- 'over' @b@.----(-@-) :: (Horizontal a, Vertical a, Composite a, Move a, Fractional u, -             u ~ PUnit a)-         => a -> a -> a-p1 -@- p2 = (move x y p1) `over` p2 where V2 x y = center p2 .-. center p1----- | > a ->- b--- --- Horizontal composition - move @b@, placing it to the right --- of @a@.--- -(->-) :: (Horizontal a, Composite a, Num u, u ~ PUnit a) => a -> a -> a-a ->- b = a `over` (moveH disp b) where disp = rightBound a - leftBound b ---- | > a -<- b--- --- Horizontal composition - move @a@, placing it to the left --- of @b@.----(-<-) :: (Horizontal a, Composite a, Num u, u ~ PUnit a) => a -> a -> a-a -<- b = (moveH disp a) `over` b where disp = leftBound b - rightBound a----- | > a -//- b------ Vertical composition - move @b@, placing it below @a@.----(-//-) :: (Vertical a, Composite a, Num u, u ~ PUnit a) => a -> a -> a-a -//- b = a `over` (moveV disp b) where disp = bottomBound a - topBound b ----- | > a `below` b--- --- Vertical composition - move @a@, placing it below @b@----below :: (Vertical a, Composite a, Num u, u ~ PUnit a) => a -> a -> a-a `below` b = (moveV disp a) `over` b where disp = bottomBound a - topBound b------ | > a `above` b--- --- Vertical composition - move @a@, placing it above @b@.----above :: (Vertical a, Composite a, Num u, u ~ PUnit a) => a -> a -> a-a `above` b = (moveV disp a) `over` b where disp = topBound b - bottomBound a ----- | Place the picture at the supplied point.--- -at :: (Move a, u ~ PUnit a) => a -> Point2 u  -> a-p `at` (P2 x y) = move x y p---- | Center the picture at the supplied point.----centeredAt :: (Horizontal a, Vertical a, Move a, Composite a, Blank a, -               Fractional u, u ~ PUnit a) -           => a -> Point2 u -> a-centeredAt p pt = p -@- (blank 0 0 `at` pt) ------ | > xs `stackOnto` a--- --- Stack the list of pictures @xs@ 'over' @a@.------ Note, the first picture in the list is drawn at the top, the--- last picture is draw 'over' @a@.----stackOnto :: (Composite a) => [a] -> a -> a-stackOnto = flip (foldr over)---- | > x ->- xs--- --- Concatenate the list pictures @xs@ horizontally with @(->-)@ --- starting at @x@.--- -hcat :: (Horizontal a, Composite a, Num u, u ~ PUnit a)-     => a -> [a] -> a-hcat = foldl' (->-)---- | > x -//- xs--- --- Concatenate the list of pictures @xs@ vertically with @(-\/\/-)@ --- starting at @x@.----vcat :: (Vertical a, Composite a, Num u, u ~ PUnit a)-     => a -> [a] -> a-vcat = foldl' (-//-)------ | Stack pictures centered ontop of each other - the first --- picture in the list is drawn at the top, last picture is on --- drawn at the bottom.-stackOntoCenter :: (Horizontal a, Vertical a, Composite a, -                Move a, Fractional u,-                u ~ PUnit a)-            => [a] -> a -> a-stackOntoCenter = flip $ foldr (-@-)---------------------------------------------------------------------------------------- Helpers-blankH  :: (Num u, Blank a, u ~ PUnit a) => u -> a-blankH = blank `flip` 0--blankV  :: (Num u, Blank a, u ~ PUnit a) => u -> a-blankV = blank 0----- NOTE--- The following simple definition of hspace is invalid:------ > hspace n a b = a ->- (moveH n b)--- --- The movement due to @moveH n@ is annulled by the @->-@ --- operator which moves relative to the bounding box.--- --- The almost as simple definition below, seems to justify --- including Blank as a Picture constructor.-------- | > hspace n a b------ Concatenate the pictures @a@ and @b@ with @(->-)@ - injecting --- a space of @n@ units to separate the pictures.----hspace :: (Num u, Composite a, Horizontal a, Blank a, u ~ PUnit a) -       => u -> a -> a -> a-hspace n a b = a ->- blankH n ->- b---- | > vspace n a b------ Concatenate the pictures @a@ and @b@ with @(-\/\/-)@ - injecting --- a space of @n@ units to separate the pictures.----vspace :: (Num u, Composite a, Vertical a, Blank a, u ~ PUnit a) -       => u -> a -> a -> a-vspace n a b = a -//- blankV n -//-  b------ | > hsep n x xs------ Concatenate the list of pictures @xs@ horizontally with --- @hspace@ starting at @x@. The pictures are interspersed with --- spaces of @n@ units.----hsep :: (Num u, Composite a, Horizontal a, Blank a, u ~ PUnit a) -       => u -> a -> [a] -> a-hsep n = foldl' (hspace n)------ | > vsep n x xs------ Concatenate the list of pictures @xs@ vertically with --- @vspace@ starting at @x@. The pictures are interspersed with --- spaces of @n@ units.----vsep :: (Num u, Composite a, Vertical a, Blank a, u ~ PUnit a) -       => u -> a -> [a] -> a-vsep n = foldl' (vspace n)-------------------------------------------------------------------------------------- Aligning pictures----- | > alignH z a b------ Move picture @b@ up or down to be horizontally aligned along a --- line from the top, center or bottom of picture @a@--- -alignH :: ( Fractional u, Composite a, Horizontal a, Vertical a, Move a-          , u ~ PUnit a ) -       => HAlign -> a -> a -> a-alignH HTop    p1 p2 = vecMove p1 p2 (vvec $ topBound p1 - topBound p2)-alignH HBottom p1 p2 = vecMove p1 p2 (vvec $ bottomBound p1 - bottomBound p2)-alignH HCenter p1 p2 = vecMove p1 p2 (vvec v)-  where V2 _ v = rightmid p1    .-. leftmid p2----- | > alignV z a b------ Move picture @b@ left or right to be vertically aligned along a --- line from the left side, center or right side of picture @a@--- -alignV :: ( Fractional u, Composite a, Horizontal a, Vertical a, Move a-          , u ~ PUnit a ) -       => VAlign -> a -> a -> a-alignV VLeft   p1 p2 = vecMove p1 p2 (hvec $ leftBound p1 - leftBound p2) -alignV VRight  p1 p2 = vecMove p1 p2 (hvec $ rightBound p1 - rightBound p2)-alignV VCenter p1 p2 = vecMove p1 p2 (hvec h) -  where V2 h _ = bottommid p1   .-. topmid p2----- Helpers--vecMove :: (Composite a, Move a, u ~ PUnit a) => a -> a -> (Vec2 u) -> a -vecMove a b (V2 x y) = a `over` (move x y) b ---- Unlike alignH this function \"moves and concatenates\".-moveAlignH :: ( Fractional u, Composite a, Horizontal a, Vertical a, Move a-          , u ~ PUnit a ) -       => HAlign -> a -> a -> a-moveAlignH HTop    p1 p2 = vecMove p1 p2 (topright p1    .-. topleft p2)-moveAlignH HCenter p1 p2 = vecMove p1 p2 (rightmid p1    .-. leftmid p2)-moveAlignH HBottom p1 p2 = vecMove p1 p2 (bottomright p1 .-. bottomleft p2)----- Unlike alignV this function \"moves and concatenates\".-moveAlignV :: ( Fractional u, Composite a, Horizontal a, Vertical a, Move a-          , u ~ PUnit a ) -       => VAlign -> a -> a -> a-moveAlignV VLeft   p1 p2 = vecMove p1 p2 (bottomleft p1  .-. topleft p2)-moveAlignV VCenter p1 p2 = vecMove p1 p2 (bottommid p1   .-. topmid p2)-moveAlignV VRight  p1 p2 = vecMove p1 p2 (bottomright p1 .-. topright p2)----- | Variant of 'hcat' that aligns the pictures as well as--- concatenating them.-hcatA :: ( Fractional u, Horizontal a, Vertical a-         , Composite a, Move a, u ~ PUnit a)-     => HAlign -> a -> [a] -> a-hcatA ha = foldl' (moveAlignH ha)---- | Variant of 'vcat' that aligns the pictures as well as--- concatenating them.-vcatA :: ( Fractional u, Horizontal a, Vertical a-         , Composite a, Move a, u ~ PUnit a)-     => VAlign -> a -> [a] -> a-vcatA va = foldl' (moveAlignV va)----- | Variant of @hsep@ that aligns the pictures as well as--- concatenating and spacing them.-hsepA :: ( Fractional u, Horizontal a, Vertical a-         , Composite a, Move a, Blank a, u ~ PUnit a)-     => HAlign -> u -> a -> [a] -> a-hsepA ha n = foldl' op where -   a `op` b = moveAlignH ha (moveAlignH ha a (blankH n)) b ---- | Variant of @vsep@ that aligns the pictures as well as--- concatenating and spacing them.-vsepA :: ( Fractional u, Horizontal a, Vertical a-         , Composite a, Move a, Blank a, u ~ PUnit a)-     => VAlign -> u -> a -> [a] -> a-vsepA va n = foldl' op where -   a `op` b = moveAlignV va (moveAlignV va a (blankV n)) b -------------------------------------------------------------------------------------- TO DETERMINE--- What should leftBound and rightBound be for an empty picture?--type instance PUnit (Picture u) = u--instance (Num u, Ord u) => Horizontal (Picture u) where-  moveH a p  = p `picMoveBy` (hvec a) -  leftBound  = leftPlane . boundary-  rightBound = rightPlane . boundary--instance (Num u, Ord u) => Vertical (Picture u) where-  moveV a p   = p `picMoveBy` (vvec a) -  topBound    = upperPlane . boundary-  bottomBound = lowerPlane . boundary---- Note - picture is a binary tree and drawing is depth-first,--- left-to-right so pictures in the right of the tree potentially--- are drawn on top of pictures on the left.------ So to print picture a _over_ picture b we form this node:------ >  locale --- >    /\--- >   /  \--- >  b    a------ Hence `over` flips b and a---instance (Num u, Ord u) => Composite (Picture u) where-  over = picOver       --instance (Num u, Ord u) => Move (Picture u) where-  move x y p = p `picMoveBy` (V2 x y)---instance (Num u, Ord u) => Blank (Picture u) where-  blank w h = blankPicture (bbox zeroPt (P2 w h))--------------------------------------------------------------------------------------- ----- | Create multiple lines of text.------ The dimension argument is the linespacing, measured as the--- distance between the upper lines descender and the lower --- lines ascender.------ An error is throw if the list of strings is empty--- -multilabel :: (Real u, Floating u, FromPtSize u, TextLabel t) -           => t -> u -> VAlign -> [String] -> Point2 u -> Picture u-multilabel _    _ _  []     _  = error $ -    "Wumpus.Core.PictureLanguage.multilabel - empty list."--multilabel attr n va (x:xs) pt = -    moveAll $ vsepA va n line1 (map mkPic xs)-  where-    line1     = mkPic x-    mkPic s   = frame $ textlabel attr s zeroPt-    vdelta p  = boundaryHeight (boundary p) - boundaryHeight (boundary line1)-    moveAll p = moveV (vdelta p) $ p `at` pt--
wumpus-basic.cabal view
@@ -1,5 +1,5 @@ name:             wumpus-basic-version:          0.4.0+version:          0.5.0 license:          BSD3 license-file:     LICENSE copyright:        Stephen Tetley <stephen.tetley@gmail.com>@@ -20,6 +20,16 @@   .   Changelog:   .+  0.4.0 to 0.5.0:+  .+  * Re-worked the PictureLanguage module.+  .+  * SVGColours and X11Colours moved into @Wumpus.Basic.Colour@.+    Naming scheme for colours changed to use underscore between +    words rather than camelCase.+  .+  * Updates to work with wumpus-core-0.30.0.+  .   0.3.0 to 0.4.0:   .   * Reworked the monads. Monads.DrawingMonad replaces @@ -72,14 +82,15 @@   build-depends:      base            <  5,                        containers      >= 0.3     && <= 0.4,                        vector-space    >= 0.6,-                      monadLib        >= 3.6,-                      wumpus-core     >= 0.23.0+                      wumpus-core     >= 0.30.0       exposed-modules:     Wumpus.Basic.Anchors,     Wumpus.Basic.Arrows,     Wumpus.Basic.Arrows.Tips,+    Wumpus.Basic.Colour.SVGColours,+    Wumpus.Basic.Colour.X11Colours,     Wumpus.Basic.Dots,     Wumpus.Basic.Dots.Base,     Wumpus.Basic.Graphic,@@ -95,15 +106,13 @@     Wumpus.Basic.Paths.Base,     Wumpus.Basic.Paths.Construction,     Wumpus.Basic.SafeFonts,-    Wumpus.Basic.SVGColours,     Wumpus.Basic.Text.LRSymbol,     Wumpus.Basic.Text.LRText,     Wumpus.Basic.Utils.Combinators,     Wumpus.Basic.Utils.HList,     Wumpus.Basic.Utils.Intersection,     Wumpus.Basic.VersionNumber,-    Wumpus.Basic.X11Colours,-    Wumpus.Deprecated.PictureLanguage+    Wumpus.Basic.PictureLanguage    other-modules: