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 +2/−2
- demo/ColourDefns.hs +261/−266
- demo/DotPic.hs +4/−4
- demo/FontPic.hs +28/−25
- demo/Picture.hs +97/−157
- src/Wumpus/Basic/Arrows.hs +14/−13
- src/Wumpus/Basic/Arrows/Tips.hs +1/−1
- src/Wumpus/Basic/Colour/SVGColours.hs +625/−0
- src/Wumpus/Basic/Colour/X11Colours.hs +1282/−0
- src/Wumpus/Basic/Dots/Base.hs +1/−1
- src/Wumpus/Basic/Graphic.hs +3/−3
- src/Wumpus/Basic/Graphic/DrawingAttr.hs +6/−6
- src/Wumpus/Basic/Monads/TurtleMonad.hs +6/−7
- src/Wumpus/Basic/Paths.hs +32/−32
- src/Wumpus/Basic/Paths/Base.hs +34/−34
- src/Wumpus/Basic/Paths/Construction.hs +5/−5
- src/Wumpus/Basic/PictureLanguage.hs +481/−0
- src/Wumpus/Basic/SVGColours.hs +0/−626
- src/Wumpus/Basic/Text/LRText.hs +2/−2
- src/Wumpus/Basic/Utils/Intersection.hs +24/−2
- src/Wumpus/Basic/VersionNumber.hs +2/−2
- src/Wumpus/Basic/X11Colours.hs +0/−1060
- src/Wumpus/Deprecated/PictureLanguage.hs +0/−543
- wumpus-basic.cabal +15/−6
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: