puzzle-draw-0.1.0.4: Creating graphics for pencil puzzles.

Safe HaskellNone
LanguageHaskell98

Diagrams.Puzzles.Grid

Synopsis

Documentation

dot :: Backend' b => Diagram b R2 Source

Draw a small black dot with no envelope.

slithergrid :: Backend' b => Size -> Diagram b R2 Source

Draw a Slither Link style grid of dots of the specified size.

gridlines :: Size -> Path R2 Source

The inner grid lines of a square grid of the specified size.

outframe' :: Backend' b => Double -> Size -> Diagram b R2 Source

Draw a frame around the outside of a rectangle.

grid' :: Backend' b => (Diagram b R2 -> Diagram b R2) -> Size -> Diagram b R2 Source

Draw a square grid, applying the given style to the grid lines.

grid :: Backend' b => Size -> Diagram b R2 Source

Draw a square grid with default grid line style.

plaingrid :: Backend' b => Size -> Diagram b R2 Source

Draw a square grid with thin frame.

bgdashingG :: (Semigroup a, HasStyle a, V a ~ R2) => [Double] -> Double -> Colour Double -> a -> a Source

gridDashing :: (Semigroup a, HasStyle a, V a ~ R2) => a -> a Source

dashedgrid :: Backend' b => Size -> Diagram b R2 Source

Draw a square grid with dashed grid lines. The gaps between dashes are off-white to aid in using filling tools.

atCentres :: (Transformable a, Monoid a, V a ~ R2) => (t -> a) -> [(Coord, t)] -> a Source

In a square grid, use the first argument to draw things at the centres of cells given by coordinates.

atCentres' :: (Transformable a, V a ~ R2) => SGrid a -> [a] Source

atVertices :: (Transformable a, Monoid a, V a ~ R2) => (t -> a) -> [(Coord, t)] -> a Source

In a square grid, use the first argument to draw things at the grid vertices given by coordinates.

atVertices' :: (Transformable a, V a ~ R2) => SGrid a -> [a] Source

edgeStyle :: (HasStyle a, V a ~ R2) => a -> a Source

thinEdgeStyle :: (HasStyle a, V a ~ R2) => a -> a Source

distrib :: (Transformable c, Monoid c, V c ~ R2) => R2 -> (Int, Int) -> Double -> [c] -> c Source

outsideGen :: (Transformable c, Monoid c, V c ~ R2) => (OutsideClue [c] -> R2) -> Double -> [OutsideClue [c]] -> c Source

outsideCells :: (Transformable c, Monoid c, V c ~ R2) => Double -> [OutsideClue [c]] -> c Source