wumpus-basic (empty) → 0.1.1
raw patch · 12 files changed
+2827/−0 lines, 12 filesdep +basedep +monadLibdep +vector-spacesetup-changed
Dependencies added: base, monadLib, vector-space, wumpus-core
Files
- CHANGES +8/−0
- LICENSE +30/−0
- Setup.hs +29/−0
- demo/FontPic.hs +171/−0
- src/Wumpus/Basic/Monads/TraceMonad.hs +123/−0
- src/Wumpus/Basic/Monads/TurtleMonad.hs +165/−0
- src/Wumpus/Basic/SVGColours.hs +626/−0
- src/Wumpus/Basic/SafeFonts.hs +459/−0
- src/Wumpus/Basic/Utils/HList.hs +79/−0
- src/Wumpus/Basic/VersionNumber.hs +25/−0
- src/Wumpus/Basic/X11Colours.hs +1060/−0
- wumpus-basic.cabal +52/−0
+ CHANGES view
@@ -0,0 +1,8 @@++++0.1.0 to 0.1.1:++ * Added missing LICENSE file to the Cabal file.++ * Added this CHANGES file.
+ LICENSE view
@@ -0,0 +1,30 @@+Copyright (c) 2008 Stephen Peter Tetley++All rights reserved.++Redistribution and use in source and binary forms, with or without+modification, are permitted provided that the following conditions+are met:++1. Redistributions of source code must retain the above copyright+ notice, this list of conditions and the following disclaimer.++2. Redistributions in binary form must reproduce the above copyright+ notice, this list of conditions and the following disclaimer in the+ documentation and/or other materials provided with the distribution.++3. Neither the name of the author nor the names of his contributors+ may be used to endorse or promote products derived from this software+ without specific prior written permission.++THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS OR+IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE+DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE FOR+ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS+OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,+STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN+ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE+POSSIBILITY OF SUCH DAMAGE.
+ Setup.hs view
@@ -0,0 +1,29 @@+#!/usr/bin/env runhaskell++import Distribution.Simple+import Distribution.Simple.Setup ( SDistFlags )+import Distribution.PackageDescription ( HookedBuildInfo, emptyHookedBuildInfo )+++main = defaultMainWithHooks sdist_warning_hooks++sdist_warning_hooks :: UserHooks+sdist_warning_hooks = simpleUserHooks { preSDist = sdistVersionWarning }+++sdistVersionWarning :: Args -> SDistFlags -> IO HookedBuildInfo+sdistVersionWarning _ _ = + mapM_ putStrLn msg >> printVersionNumberFile >> return emptyHookedBuildInfo+ where+ msg = [ "-------------------------------------------------------"+ , "-------------------------------------------------------"+ , ""+ , "WARNING - is Wumpus.Basic.VersionNumber correct?"+ , ""+ , "-------------------------------------------------------"+ , "-------------------------------------------------------"+ ]++printVersionNumberFile :: IO ()+printVersionNumberFile = + readFile "src/Wumpus/Basic/VersionNumber.hs" >>= putStrLn
+ demo/FontPic.hs view
@@ -0,0 +1,171 @@+{-# OPTIONS -Wall #-}++module FontPic where++import Wumpus.Core+import Wumpus.Extra.PictureLanguage+import Wumpus.Basic.SafeFonts+import Wumpus.Basic.SVGColours ( steelBlue )+import Wumpus.Basic.X11Colours ( indianRed1 )++import Data.AffineSpace+import Data.VectorSpace++import Data.List ( unfoldr )++import System.Directory++main :: IO ()+main = do + createDirectoryIfMissing True "./out/"+ writeEPS_latin1 "./out/font_courier.eps" courier_pic+ writeSVG_latin1 "./out/font_courier.svg" courier_pic+ writeEPS_latin1 "./out/font_times.eps" times_pic+ writeSVG_latin1 "./out/font_times.svg" times_pic+ writeEPS_latin1 "./out/font_helvetica.eps" helvetica_pic+ writeSVG_latin1 "./out/font_helvetica.svg" helvetica_pic+ writeEPS_latin1 "./out/font_symbol.eps" symbol_pic+ writeSVG_latin1 "./out/font_symbol.svg" symbol_pic+++makeFontLabel :: DRGB -> FontAttr -> (DPoint2 -> DPrimitive)+makeFontLabel c fa = textlabel (c,fa) msg+ where+ msg = unwords [ font_name fa, (show $ font_size fa) ++ "pt"]++blueLabel :: FontAttr -> (DPoint2 -> DPrimitive)+blueLabel = makeFontLabel steelBlue++redLabel :: FontAttr -> (DPoint2 -> DPrimitive)+redLabel = makeFontLabel indianRed1+++--------------------------------------------------------------------------------+-- Times++times_pic :: Picture Double+times_pic = timesroman_pic -//- timesitalic_pic -//- timesbold_pic+ -//- timesbolditalic_pic++++timesroman_pic :: Picture Double+timesroman_pic = + frameMulti $ zipWith blueLabel xs (mkPoints 1.5)+ where+ xs = [ timesRoman10, timesRoman12, timesRoman18+ , timesRoman24, timesRoman36, timesRoman48 ]++timesitalic_pic :: Picture Double+timesitalic_pic = + frameMulti $ zipWith redLabel xs (mkPoints 1.5)+ where+ xs = [ timesItalic10, timesItalic12, timesItalic18+ , timesItalic24, timesItalic36, timesItalic48 ]+++timesbold_pic :: Picture Double+timesbold_pic = + frameMulti $ zipWith blueLabel xs (mkPoints 1.5)+ where+ xs = [ timesBold10, timesBold12, timesBold18+ , timesBold24, timesBold36, timesBold48 ]++timesbolditalic_pic :: Picture Double+timesbolditalic_pic = + frameMulti $ zipWith redLabel xs (mkPoints 1.5)+ where+ xs = [ timesBoldItalic10, timesBoldItalic12, timesBoldItalic18+ , timesBoldItalic24, timesBoldItalic36, timesBoldItalic48 ]++--------------------------------------------------------------------------------+helvetica_pic :: Picture Double+helvetica_pic = helvetica_pic1 -//- helveticaoblique_pic -//- helveticabold_pic+ -//- helveticaboldoblique_pic++helvetica_pic1 :: Picture Double+helvetica_pic1 = + frameMulti $ zipWith blueLabel xs (mkPoints 1.5)+ where+ xs = [ helvetica10, helvetica12, helvetica18+ , helvetica24, helvetica36, helvetica48 ]+++ +helveticaoblique_pic :: Picture Double+helveticaoblique_pic = + frameMulti $ zipWith redLabel xs (mkPoints 1.5)+ where+ xs = [ helveticaOblique10, helveticaOblique12, helveticaOblique18+ , helveticaOblique24, helveticaOblique36, helveticaOblique48 ]++ +helveticabold_pic :: Picture Double+helveticabold_pic = + frameMulti $ zipWith blueLabel xs (mkPoints 1.5)+ where+ xs = [ helveticaBold10, helveticaBold12, helveticaBold18+ , helveticaBold24, helveticaBold36, helveticaBold48 ]++ +helveticaboldoblique_pic :: Picture Double+helveticaboldoblique_pic = + frameMulti $ zipWith redLabel xs (mkPoints 1.5)+ where+ xs = [ helveticaBoldOblique10, helveticaBoldOblique12+ , helveticaBoldOblique18, helveticaBoldOblique24+ , helveticaBoldOblique36, helveticaBoldOblique48 ]++--------------------------------------------------------------------------------++courier_pic :: Picture Double+courier_pic = courier_pic1 -//- courieroblique_pic -//- courierbold_pic+ -//- courierboldoblique_pic+ +courier_pic1 :: Picture Double+courier_pic1 = + frameMulti $ zipWith blueLabel xs (mkPoints 1.5)+ where+ xs = [ courier10, courier12, courier18+ , courier24, courier36, courier48 ]++ +courieroblique_pic :: Picture Double+courieroblique_pic = + frameMulti $ zipWith redLabel xs (mkPoints 1.5)+ where+ xs = [ courierOblique10, courierOblique12, courierOblique18+ , courierOblique24, courierOblique36, courierOblique48 ]++ +courierbold_pic :: Picture Double+courierbold_pic = + frameMulti $ zipWith blueLabel xs (mkPoints 1.5)+ where+ xs = [ courierBold10, courierBold12, courierBold18+ , courierBold24, courierBold36, courierBold48 ]++ +courierboldoblique_pic :: Picture Double+courierboldoblique_pic = + frameMulti $ zipWith redLabel xs (mkPoints 1.5)+ where+ xs = [ courierBoldOblique10, courierBoldOblique12, courierBoldOblique18+ , courierBoldOblique24, courierBoldOblique36, courierBoldOblique48 ]++--------------------------------------------------------------------------------++ +symbol_pic :: Picture Double+symbol_pic = + frameMulti $ zipWith blueLabel xs (mkPoints 1.5)+ where+ xs = [ symbol10, symbol12, symbol18, symbol24, symbol36, symbol48 ]+++--------------------------------------------------------------------------------+++mkPoints :: Num u => u -> [Point2 u]+mkPoints n = unfoldr phi zeroPt where+ phi pt = Just (pt, pt .+^ (V2 0 15 ^* n))
+ src/Wumpus/Basic/Monads/TraceMonad.hs view
@@ -0,0 +1,123 @@+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE FunctionalDependencies #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE TypeSynonymInstances #-}+{-# OPTIONS -Wall #-}+++--------------------------------------------------------------------------------+-- |+-- Module : Wumpus.Basic.Monads.TraceMonad+-- Copyright : (c) Stephen Tetley 2010+-- License : BSD3+--+-- Maintainer : stephen.tetley@gmail.com+-- Stability : unstable+-- Portability : GHC +--+-- \"Trace\" monad and monad transformer.+--+-- Trace is operationally similar to the Writer monad but it+-- supports elementary consing as well as the Writer\'s monoidal +-- concatenation. +--+-- Note, some care is needed to order the output to a trace with+-- respect to the Z-order of a drawing. The API here may well+-- be too limited... +-- +--------------------------------------------------------------------------------++module Wumpus.Basic.Monads.TraceMonad+ (++ Trace+ , TraceT+ , TraceM(..)++ , runTrace+ , runTraceT+ + ) where++import MonadLib ( MonadT(..) ) -- package: monadLib++import Wumpus.Basic.Utils.HList++import Control.Applicative++++newtype Trace i a = Trace { getTrace :: H i -> (a, H i) }++newtype TraceT i m a = TraceT { getTraceT :: H i -> m (a, H i) }++-- Functor++instance Functor (Trace i) where+ fmap f m = Trace $ \w -> let (a,w') = getTrace m w in (f a, w')++instance Monad m => Functor (TraceT i m) where+ fmap f m = TraceT $ \w -> getTraceT m w >>= \(a,w') ->+ return (f a, w')++-- Applicative++instance Applicative (Trace i) where+ pure a = Trace $ \w -> (a,w)+ mf <*> ma = Trace $ \w -> let (f,w') = getTrace mf w + (a,w'') = getTrace ma w'+ in (f a,w'')+++instance Monad m => Applicative (TraceT i m) where+ pure a = TraceT $ \w -> return (a,w)+ mf <*> ma = TraceT $ \w -> getTraceT mf w >>= \(f,w') ->+ getTraceT ma w' >>= \(a,w'') ->+ return (f a,w'') ++-- Monad++instance Monad (Trace i) where+ return a = Trace $ \w -> (a,w)+ m >>= k = Trace $ \w -> let (a,w') = getTrace m w+ in (getTrace . k) a w'+ +++instance Monad m => Monad (TraceT i m) where+ return a = TraceT $ \w -> return (a,w)+ m >>= k = TraceT $ \w -> getTraceT m w >>= \(a,w') ->+ (getTraceT . k) a w' >>= \(b,w'') ->+ return (b,w'')+++++instance MonadT (TraceT i) where + lift m = TraceT $ \w -> m >>= \ a -> return (a,w)++class TraceM m i | m -> i where+ trace :: H i -> m ()+ trace1 :: i -> m ()+++instance TraceM (Trace i) i where+ trace h = Trace $ \w -> ((), h . w) + trace1 i = Trace $ \w -> ((), i `consH` w) ++instance Monad m => TraceM (TraceT i m) i where+ trace h = TraceT $ \w -> return ((), h . w) + trace1 i = TraceT $ \w -> return ((), i `consH` w) ++++runTrace :: Trace i a -> (a,H i)+runTrace mf = getTrace mf id ++runTraceT :: Monad m => TraceT i m a -> m (a,H i)+runTraceT mf = getTraceT mf id >>= \(a,w) -> return (a,w)++++ +
+ src/Wumpus/Basic/Monads/TurtleMonad.hs view
@@ -0,0 +1,165 @@+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeSynonymInstances #-}+{-# OPTIONS -Wall #-}++--------------------------------------------------------------------------------+-- |+-- Module : Wumpus.Basic.Monads.TurtleMonad+-- Copyright : (c) Stephen Tetley 2010+-- License : BSD3+--+-- Maintainer : stephen.tetley@gmail.com+-- Stability : unstable+-- Portability : GHC +--+-- Turtle monad and monad transformer.+--+-- The Turtle monad embodies the LOGO style of imperative +-- drawing - sending commands to update the a cursor.+--+-- While Wumpus generally aims for a more compositional,+-- \"coordinate-free\" style of drawing, some types of +-- diagram are very easily expressed in the LOGO style.+--+--------------------------------------------------------------------------------++module Wumpus.Basic.Monads.TurtleMonad+ (+ Coord(..)++ , Turtle+ , TurtleT++ , TurtleM(..)++ , runTurtle+ , runTurtleT++ , setsLoc+ , setsLoc_++ -- * movement+ , reset+ , moveLeft+ , moveRight+ , moveUp+ , moveDown+ , nextLine++ , wander+ + ) where+++import MonadLib ( MonadT(..) ) -- package: monadLib++import Control.Applicative+++data Coord = Coord !Int !Int++instance Show Coord where+ showsPrec i (Coord x y) = showsPrec i (x,y)+++newtype Turtle a = Turtle { getTurtle :: Coord -> (a, Coord) } ++newtype TurtleT m a = TurtleT { getTurtleT :: Coord -> m (a, Coord) }+++-- Functor++instance Functor Turtle where+ fmap f m = Turtle $ \st -> let (a,st') = getTurtle m st in (f a, st') ++instance Monad m => Functor (TurtleT m) where+ fmap f m = TurtleT $ \st -> getTurtleT m st >>= \(a,st') ->+ return (f a, st')++-- Applicative +instance Applicative Turtle where+ pure a = Turtle $ \st -> (a,st)+ mf <*> ma = Turtle $ \st -> let (f,st') = getTurtle mf st + (a,st'') = getTurtle ma st'+ in (f a,st'') +++instance Monad m => Applicative (TurtleT m) where+ pure a = TurtleT $ \st -> return (a,st)+ mf <*> ma = TurtleT $ \st -> getTurtleT mf st >>= \(f,st') ->+ getTurtleT ma st' >>= \(a,st'') ->+ return (f a,st'') +++-- Monad ++instance Monad Turtle where+ return a = Turtle $ \st -> (a,st)+ m >>= k = Turtle $ \st -> let (a,st') = getTurtle m st+ in (getTurtle . k) a st'++instance Monad m => Monad (TurtleT m) where+ return a = TurtleT $ \st -> return (a,st)+ m >>= k = TurtleT $ \st -> getTurtleT m st >>= \(a,st') ->+ (getTurtleT . k) a st' >>= \(b,st'') ->+ return (b,st'')++instance MonadT TurtleT where+ lift m = TurtleT $ \st -> m >>= \a -> return (a,st)++class Monad m => TurtleM m where+ getLoc :: m Coord+ setLoc :: Coord -> m ()++instance TurtleM Turtle where+ getLoc = Turtle $ \st -> (st,st)+ setLoc c = Turtle $ \_ -> ((),c)+ ++instance Monad m => TurtleM (TurtleT m) where+ getLoc = TurtleT $ \st -> return (st,st)+ setLoc c = TurtleT $ \_ -> return ((),c)+++runTurtle :: Turtle a -> (a,(Int,Int))+runTurtle mf = post $ getTurtle mf (Coord 0 0) + where+ post (a, Coord x y) = (a,(x,y))++runTurtleT :: Monad m => TurtleT m a -> m (a,(Int,Int))+runTurtleT mf = getTurtleT mf (Coord 0 0) >>= \(a, Coord x y) -> return (a,(x,y))+++setsLoc :: TurtleM m => (Coord -> (a,Coord)) -> m a+setsLoc f = getLoc >>= \st -> let (a,st') = f st in setLoc st' >> return a++setsLoc_ :: TurtleM m => (Coord -> Coord) -> m ()+setsLoc_ f = getLoc >>= \st -> let st' = f st in setLoc st'++reset :: TurtleM m => m ()+reset = setLoc (Coord 0 0)++moveRight :: TurtleM m => m ()+moveRight = setsLoc_ $ \(Coord x y) -> Coord (x+1) y++moveLeft :: TurtleM m => m ()+moveLeft = setsLoc_ $ \(Coord x y) -> Coord (x-1) y++moveUp :: TurtleM m => m ()+moveUp = setsLoc_ $ \(Coord x y) -> Coord x (y-1)++moveDown :: TurtleM m => m ()+moveDown = setsLoc_ $ \(Coord x y) -> Coord x (y+1)++nextLine :: TurtleM m => m ()+nextLine = setsLoc_ $ \(Coord _ y) -> Coord 0 (y-1)+++-- | No longer sure about this combinator...+--+wander :: TurtleM m => m a -> m (a,Coord,Coord)+wander ma = getLoc >>= \start ->+ ma >>= \ans ->+ getLoc >>= \end ->+ return (ans,start,end)+
+ src/Wumpus/Basic/SVGColours.hs view
@@ -0,0 +1,626 @@+{-# 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/SafeFonts.hs view
@@ -0,0 +1,459 @@+{-# OPTIONS -Wall #-}++--------------------------------------------------------------------------------+-- |+-- Module : Wumpus.Basic.SafeFonts+-- Copyright : (c) Stephen Tetley 2009-2010+-- License : BSD3+--+-- Maintainer : Stephen Tetley <stephen.tetley@gmail.com>+-- Stability : highly unstable+-- Portability : GHC with TypeFamilies and more+--+-- Safe to use font / size combinations.+--+-- Using fonts at other sizes than the ones enumerated in this +-- module may case unusual rendering errors, consider drawing +-- at a standard size then uniform-scaling for other sizes in +-- PostScript.+--+--------------------------------------------------------------------------------++module Wumpus.Basic.SafeFonts+ ( + -- * Times Roman+ timesRoman10+ , timesRoman12+ , timesRoman18+ , timesRoman24+ , timesRoman36+ , timesRoman48++ , timesItalic10+ , timesItalic12+ , timesItalic18+ , timesItalic24+ , timesItalic36+ , timesItalic48++ , timesBold10+ , timesBold12+ , timesBold18+ , timesBold24+ , timesBold36+ , timesBold48++ , timesBoldItalic10+ , timesBoldItalic12+ , timesBoldItalic18+ , timesBoldItalic24+ , timesBoldItalic36+ , timesBoldItalic48++ -- * Helvetica+ , helvetica10+ , helvetica12+ , helvetica18+ , helvetica24+ , helvetica36+ , helvetica48++ , helveticaOblique10+ , helveticaOblique12+ , helveticaOblique18+ , helveticaOblique24+ , helveticaOblique36 + , helveticaOblique48++ , helveticaBold10+ , helveticaBold12+ , helveticaBold18+ , helveticaBold24+ , helveticaBold36+ , helveticaBold48++ , helveticaBoldOblique10+ , helveticaBoldOblique12+ , helveticaBoldOblique18+ , helveticaBoldOblique24+ , helveticaBoldOblique36+ , helveticaBoldOblique48++ -- * Courier+ , courier10+ , courier12+ , courier18+ , courier24+ , courier36+ , courier48++ , courierOblique10+ , courierOblique12+ , courierOblique18+ , courierOblique24+ , courierOblique36+ , courierOblique48++ , courierBold10+ , courierBold12+ , courierBold18+ , courierBold24+ , courierBold36+ , courierBold48++ , courierBoldOblique10+ , courierBoldOblique12+ , courierBoldOblique18+ , courierBoldOblique24+ , courierBoldOblique36+ , courierBoldOblique48++ -- * Symbol+ -- $symboldoc+ , symbol10+ , symbol12+ , symbol18+ , symbol24+ , symbol36+ , symbol48++ ) where++++import Wumpus.Core++{-++ Times-Roman Times-Italic Times-Bold Times-BoldItalic+ Helvetica Helvetica-Oblique Helvetica-Bold Helvetica-Bold-Oblique+ Courier Courier-Oblique Courier-Bold Courier-Bold-Oblique+ Symbol++-}+--------------------------------------------------------------------------------+-- Times-Roman++mkTimesRoman :: Int -> FontAttr+mkTimesRoman = FontAttr "Times-Roman" "Times New Roman" SVG_REGULAR++timesRoman10 :: FontAttr+timesRoman10 = mkTimesRoman 10++timesRoman12 :: FontAttr+timesRoman12 = mkTimesRoman 12++timesRoman18 :: FontAttr+timesRoman18 = mkTimesRoman 18++timesRoman24 :: FontAttr+timesRoman24 = mkTimesRoman 24++timesRoman36 :: FontAttr+timesRoman36 = mkTimesRoman 36++timesRoman48 :: FontAttr+timesRoman48 = mkTimesRoman 48++-- Times Italic++mkTimesItalic :: Int -> FontAttr+mkTimesItalic = FontAttr "Times-Italic" "Times New Roman" SVG_ITALIC++timesItalic10 :: FontAttr+timesItalic10 = mkTimesItalic 10++timesItalic12 :: FontAttr+timesItalic12 = mkTimesItalic 12++timesItalic18 :: FontAttr+timesItalic18 = mkTimesItalic 18++timesItalic24 :: FontAttr+timesItalic24 = mkTimesItalic 24++timesItalic36 :: FontAttr+timesItalic36 = mkTimesItalic 36++timesItalic48 :: FontAttr+timesItalic48 = mkTimesItalic 48++-- Times Bold++mkTimesBold :: Int -> FontAttr+mkTimesBold = FontAttr "Times-Bold" "Times New Roman" SVG_BOLD++timesBold10 :: FontAttr+timesBold10 = mkTimesBold 10++timesBold12 :: FontAttr+timesBold12 = mkTimesBold 12++timesBold18 :: FontAttr+timesBold18 = mkTimesBold 18++timesBold24 :: FontAttr+timesBold24 = mkTimesBold 24++timesBold36 :: FontAttr+timesBold36 = mkTimesBold 36++timesBold48 :: FontAttr+timesBold48 = mkTimesBold 48++-- Times Bold Italic++mkTimesBoldItalic :: Int -> FontAttr+mkTimesBoldItalic = + FontAttr "Times-BoldItalic" "Times New Roman" SVG_BOLD_ITALIC++timesBoldItalic10 :: FontAttr+timesBoldItalic10 = mkTimesBoldItalic 10++timesBoldItalic12 :: FontAttr+timesBoldItalic12 = mkTimesBoldItalic 12++timesBoldItalic18 :: FontAttr+timesBoldItalic18 = mkTimesBoldItalic 18++timesBoldItalic24 :: FontAttr+timesBoldItalic24 = mkTimesBoldItalic 24++timesBoldItalic36 :: FontAttr+timesBoldItalic36 = mkTimesBoldItalic 36++timesBoldItalic48 :: FontAttr+timesBoldItalic48 = mkTimesBoldItalic 48+++--------------------------------------------------------------------------------+-- Helvetica++mkHelvetica :: Int -> FontAttr+mkHelvetica = FontAttr "Helvetica" "Helvetica" SVG_REGULAR+++helvetica10 :: FontAttr+helvetica10 = mkHelvetica 10++helvetica12 :: FontAttr+helvetica12 = mkHelvetica 12++helvetica18 :: FontAttr+helvetica18 = mkHelvetica 18++helvetica24 :: FontAttr+helvetica24 = mkHelvetica 24++helvetica36 :: FontAttr+helvetica36 = mkHelvetica 36++helvetica48 :: FontAttr+helvetica48 = mkHelvetica 48++-- Helvetica Oblique++mkHelveticaOblique :: Int -> FontAttr+mkHelveticaOblique = FontAttr "Helvetica-Oblique" "Helvetica" SVG_OBLIQUE+++helveticaOblique10 :: FontAttr+helveticaOblique10 = mkHelveticaOblique 10++helveticaOblique12 :: FontAttr+helveticaOblique12 = mkHelveticaOblique 12++helveticaOblique18 :: FontAttr+helveticaOblique18 = mkHelveticaOblique 18++helveticaOblique24 :: FontAttr+helveticaOblique24 = mkHelveticaOblique 24++helveticaOblique36 :: FontAttr+helveticaOblique36 = mkHelveticaOblique 36++helveticaOblique48 :: FontAttr+helveticaOblique48 = mkHelveticaOblique 48+++-- Helvetica Bold++mkHelveticaBold :: Int -> FontAttr+mkHelveticaBold = FontAttr "Helvetica-Bold" "Helvetica" SVG_BOLD+++helveticaBold10 :: FontAttr+helveticaBold10 = mkHelveticaBold 10++helveticaBold12 :: FontAttr+helveticaBold12 = mkHelveticaBold 12++helveticaBold18 :: FontAttr+helveticaBold18 = mkHelveticaBold 18++helveticaBold24 :: FontAttr+helveticaBold24 = mkHelveticaBold 24++helveticaBold36 :: FontAttr+helveticaBold36 = mkHelveticaBold 36++helveticaBold48 :: FontAttr+helveticaBold48 = mkHelveticaBold 48++-- Helvetica Bold Oblique++mkHelveticaBoldOblique :: Int -> FontAttr+mkHelveticaBoldOblique = + FontAttr "Helvetica-Bold-Oblique" "Helvetica" SVG_BOLD_OBLIQUE+++helveticaBoldOblique10 :: FontAttr+helveticaBoldOblique10 = mkHelveticaBoldOblique 10++helveticaBoldOblique12 :: FontAttr+helveticaBoldOblique12 = mkHelveticaBoldOblique 12++helveticaBoldOblique18 :: FontAttr+helveticaBoldOblique18 = mkHelveticaBoldOblique 18++helveticaBoldOblique24 :: FontAttr+helveticaBoldOblique24 = mkHelveticaBoldOblique 24++helveticaBoldOblique36 :: FontAttr+helveticaBoldOblique36 = mkHelveticaBoldOblique 36++helveticaBoldOblique48 :: FontAttr+helveticaBoldOblique48 = mkHelveticaBoldOblique 48+++++--------------------------------------------------------------------------------+-- Courier++mkCourier :: Int -> FontAttr+mkCourier = FontAttr "Courier" "Courier New" SVG_REGULAR++courier10 :: FontAttr+courier10 = mkCourier 10++courier12 :: FontAttr+courier12 = mkCourier 12++courier18 :: FontAttr+courier18 = mkCourier 18++courier24 :: FontAttr+courier24 = mkCourier 24++courier36 :: FontAttr+courier36 = mkCourier 36++courier48 :: FontAttr+courier48 = mkCourier 48++-- Courier Oblique++mkCourierOblique :: Int -> FontAttr+mkCourierOblique = FontAttr "Courier-Oblique" "Courier New" SVG_OBLIQUE+++courierOblique10 :: FontAttr+courierOblique10 = mkCourierOblique 10++courierOblique12 :: FontAttr+courierOblique12 = mkCourierOblique 12++courierOblique18 :: FontAttr+courierOblique18 = mkCourierOblique 18++courierOblique24 :: FontAttr+courierOblique24 = mkCourierOblique 24++courierOblique36 :: FontAttr+courierOblique36 = mkCourierOblique 36++courierOblique48 :: FontAttr+courierOblique48 = mkCourierOblique 48++-- Courier Bold++mkCourierBold :: Int -> FontAttr+mkCourierBold = FontAttr "Courier-Bold" "Courier New" SVG_BOLD+++courierBold10 :: FontAttr+courierBold10 = mkCourierBold 10++courierBold12 :: FontAttr+courierBold12 = mkCourierBold 12++courierBold18 :: FontAttr+courierBold18 = mkCourierBold 18++courierBold24 :: FontAttr+courierBold24 = mkCourierBold 24++courierBold36 :: FontAttr+courierBold36 = mkCourierBold 36++courierBold48 :: FontAttr+courierBold48 = mkCourierBold 48++-- Courier Bold Oblique++mkCourierBoldOblique :: Int -> FontAttr+mkCourierBoldOblique = + FontAttr "Courier-Bold-Oblique" "Courier New" SVG_BOLD_OBLIQUE+++courierBoldOblique10 :: FontAttr+courierBoldOblique10 = mkCourierBoldOblique 10++courierBoldOblique12 :: FontAttr+courierBoldOblique12 = mkCourierBoldOblique 12++courierBoldOblique18 :: FontAttr+courierBoldOblique18 = mkCourierBoldOblique 18++courierBoldOblique24 :: FontAttr+courierBoldOblique24 = mkCourierBoldOblique 24++courierBoldOblique36 :: FontAttr+courierBoldOblique36 = mkCourierBoldOblique 36++courierBoldOblique48 :: FontAttr+courierBoldOblique48 = mkCourierBoldOblique 48++--------------------------------------------------------------------------------+-- Symbol++-- $symboldoc+-- Symbol does not appear to be well supported by SVG.+-- It renders in Chrome but not in Firefox.++mkSymbol :: Int -> FontAttr+mkSymbol = FontAttr "Symbol" "Symbol" SVG_REGULAR+++symbol10 :: FontAttr+symbol10 = mkSymbol 10++symbol12 :: FontAttr+symbol12 = mkSymbol 12++symbol18 :: FontAttr+symbol18 = mkSymbol 18++symbol24 :: FontAttr+symbol24 = mkSymbol 24++symbol36 :: FontAttr+symbol36 = mkSymbol 36++symbol48 :: FontAttr+symbol48 = mkSymbol 48++++
+ src/Wumpus/Basic/Utils/HList.hs view
@@ -0,0 +1,79 @@+{-# OPTIONS -Wall #-}++--------------------------------------------------------------------------------+-- |+-- Module : Wumpus.Basic.Utils.HList+-- Copyright : (c) Stephen Tetley 2010+-- License : BSD3+--+-- Maintainer : stephen.tetley@gmail.com+-- Stability : unstable+-- Portability : GHC+--+-- Hughes list, ...+--+--------------------------------------------------------------------------------++module Wumpus.Basic.Utils.HList+ (++ -- * Hughes list+ H+ , emptyH+ , wrapH+ , consH+ , snocH+ , appendH+ , veloH+ , concatH++ , toListH+ , fromListH+++ ) where+++--------------------------------------------------------------------------------+-- Hughes list++type H a = [a] -> [a]++emptyH :: H a+emptyH = id++wrapH :: a -> H a+wrapH a = consH a id ++consH :: a -> H a -> H a+consH a f = (a:) . f++snocH :: H a -> a -> H a+snocH f a = f . (a:)++appendH :: H a -> H a -> H a+appendH f g = f . g++-- | velo consumes the list as per map, but builds it back+-- as a Hughes list - so items can be dropped+-- replaced, repeated, etc...+-- +veloH :: (a -> H b) -> [a] -> H b+veloH f = foldr step id + where step a hf = f a . hf++concatH :: [H a] -> H a+concatH = foldr (.) id+++toListH :: H a -> [a]+toListH = ($ [])++fromListH :: [a] -> H a+fromListH xs = (xs++)+++--------------------------------------------------------------------------------+--------------------------------------------------------------------------------+--------------------------------------------------------------------------------+
+ src/Wumpus/Basic/VersionNumber.hs view
@@ -0,0 +1,25 @@+{-# OPTIONS -Wall #-}++--------------------------------------------------------------------------------+-- |+-- Module : Wumpus.Basic.VersionNumber+-- Copyright : (c) Stephen Tetley 2010+-- License : BSD3+--+-- Maintainer : stephen.tetley@gmail.com+-- Stability : unstable+-- Portability : GHC with TypeFamilies and more+--+-- Version number+--+--------------------------------------------------------------------------------++module Wumpus.Basic.VersionNumber+ ( + wumpus_basic_version++ ) where+++wumpus_basic_version :: (Int,Int,Int)+wumpus_basic_version = (0,1,1)
+ src/Wumpus/Basic/X11Colours.hs view
@@ -0,0 +1,1060 @@+{-# 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++++
+ wumpus-basic.cabal view
@@ -0,0 +1,52 @@+name: wumpus-basic+version: 0.1.1+license: BSD3+license-file: LICENSE+copyright: Stephen Tetley <stephen.tetley@gmail.com>+maintainer: Stephen Tetley <stephen.tetley@gmail.com>+homepage: http://code.google.com/p/copperbox/+category: Graphics+synopsis: Common drawing utilities built on wumpus-core.+description:+ .+ Very preliminary release...+ .+ .+build-type: Simple+stability: highly unstable+cabal-version: >= 1.2++extra-source-files:+ CHANGES,+ LICENSE,+ demo/FontPic.hs+ +library+ hs-source-dirs: src+ build-depends: base < 5, + vector-space >= 0.6,+ monadLib >= 3.6,+ wumpus-core >= 0.20.0++ + exposed-modules:+ Wumpus.Basic.Monads.TraceMonad,+ Wumpus.Basic.Monads.TurtleMonad,+ Wumpus.Basic.SafeFonts,+ Wumpus.Basic.SVGColours,+ Wumpus.Basic.X11Colours,+ Wumpus.Basic.Utils.HList,+ Wumpus.Basic.VersionNumber++ other-modules:++ extensions:+ ++ ghc-options:+ + includes: + ++ +