Safe Haskell | None |
---|---|

Language | Haskell98 |

Tools to draw individual puzzle components. In particular contents and decorations for individual cells.

- pearl :: Backend' b => MasyuPearl -> Diagram b R2
- smallPearl :: Backend' b => MasyuPearl -> Diagram b R2
- ur :: Path R2
- dr :: Path R2
- cross :: Path R2
- drawCross :: Backend' b => Diagram b R2
- drawCompassClue :: Backend' b => CompassC -> Diagram b R2
- thermo :: Backend' b => [P2] -> QDiagram b R2 Any
- drawThermos :: Backend' b => [Thermometer] -> QDiagram b R2 Any
- drawTight :: Backend' b => (a -> Diagram b R2) -> Tightfit a -> Diagram b R2
- stackWords :: Backend' b => [String] -> QDiagram b R2 Any
- drawMarkedWord :: Backend' b => MarkedWord -> QDiagram b R2 Any
- drawMarkedWords :: Backend' b => [MarkedWord] -> QDiagram b R2 Any
- drawSlalomClue :: (Show a, Backend' b) => a -> Diagram b R2
- drawText :: Backend' b => String -> QDiagram b R2 Any
- drawInt :: Backend' b => Int -> Diagram b R2
- drawChar :: Backend' b => Char -> Diagram b R2
- drawWords :: Backend' b => [String] -> Diagram b R2
- drawCurve :: Backend' b => [Edge] -> Diagram b R2
- drawShade :: Backend' b => Shade -> Diagram b R2
- drawTapaClue :: Backend' b => TapaClue -> Diagram b R2
- drawPrimeDiag :: Backend' b => PrimeDiag -> Diagram b R2
- drawCrossing :: Backend' b => Crossing -> Diagram b R2
- drawBahnhofClue :: Backend' b => BahnhofClue -> Diagram b R2

# Documentation

smallPearl :: Backend' b => MasyuPearl -> Diagram b R2 Source

thermo :: Backend' b => [P2] -> QDiagram b R2 Any Source

Draw a thermometer, given by a list of bottom-left corners of square cells.

drawThermos :: Backend' b => [Thermometer] -> QDiagram b R2 Any Source

Draw a list of thermometers, given as lists of `(Int, Int)`

cell
coordinates.

drawTight :: Backend' b => (a -> Diagram b R2) -> Tightfit a -> Diagram b R2 Source

`drawTight d t`

draws the tight-fit value `t`

, using `d`

to
draw the components.

stackWords :: Backend' b => [String] -> QDiagram b R2 Any Source

Stack the given words, left-justified.

drawMarkedWord :: Backend' b => MarkedWord -> QDiagram b R2 Any Source

Mark a word in a grid of letters.

drawMarkedWords :: Backend' b => [MarkedWord] -> QDiagram b R2 Any Source

Apply `drawMarkedWord`

to a list of words.

drawText :: Backend' b => String -> QDiagram b R2 Any Source

Draw text. Shouldn't be more than two characters or so to fit a cell.

drawWords :: Backend' b => [String] -> Diagram b R2 Source

Stack a list of words into a unit square. Scaled such that at least three words will fit.

drawCurve :: Backend' b => [Edge] -> Diagram b R2 Source

Fit a line drawing into a unit square. For example, a Curve Data clue.

drawShade :: Backend' b => Shade -> Diagram b R2 Source

Draw a shadow in the style of Afternoon Skyscrapers.

drawTapaClue :: Backend' b => TapaClue -> Diagram b R2 Source

Draws the digits of a tapa clue, ordered left to right, top to bottom.

drawBahnhofClue :: Backend' b => BahnhofClue -> Diagram b R2 Source