module Graphics.PS.GS ( GS(..) , LineCap(..) , LineJoin(..) , Color(..) , defaultGS, greyGS ) where data LineCap = ButtCap | RoundCap | ProjectingSquareCap deriving (Eq, Show, Enum) type LineWidth = Double data LineJoin = MiterJoin | RoundJoin | BevelJoin deriving (Eq, Show, Enum) data Color = RGB Double Double Double deriving (Eq, Show) data GS = GS Color LineWidth LineCap LineJoin ([Int], Int) Double deriving (Eq, Show) -- | Default GS of indicated color. defaultGS :: Color -> GS defaultGS c = GS c 1.0 ButtCap MiterJoin ([], 0) 10.0 -- | Default GS of indicated shade of grey. greyGS :: Double -> GS greyGS g = defaultGS (RGB g g g) {-- blackGS :: GS blackGS = greyGS 0 --}