Safe Haskell | None |
---|---|
Language | Haskell98 |
Tools to draw individual puzzle components. In particular contents and decorations for individual cells.
Synopsis
- pearl :: Backend' b => MasyuPearl -> Diagram b
- smallPearl :: Backend' b => MasyuPearl -> Diagram b
- drawEnd :: Backend' b => MEnd -> Diagram b
- drawBigEnd :: Backend' b => MEnd -> Diagram b
- ur :: Path V2 Double
- dr :: Path V2 Double
- cross :: Path V2 Double
- drawCross :: Backend' b => Bool -> Diagram b
- drawCompassClue :: Backend' b => CompassC -> Diagram b
- drawSlovakClue :: Backend' b => SlovakClue -> Diagram b
- thermo :: Backend' b => [P2 Double] -> Diagram b
- drawThermos :: Backend' b => [Thermometer] -> Diagram b
- drawTight :: Backend' b => (a -> Diagram b) -> Tightfit a -> Diagram b
- stackWords :: Backend' b => [String] -> Diagram b
- stackWordsLeft :: Backend' b => [String] -> Diagram b
- stackWordsRight :: Backend' b => [String] -> Diagram b
- drawMarkedWord :: Backend' b => MarkedWord -> Diagram b
- drawMarkedWords :: Backend' b => [MarkedWord] -> Diagram b
- drawMarkedLine :: (ToPoint a, Backend' b) => MarkedLine a -> Diagram b
- drawMarkedLines :: (ToPoint a, Backend' b) => [MarkedLine a] -> Diagram b
- drawSlalomClue :: (Show a, Backend' b) => a -> Diagram b
- drawSlalomDiag :: Backend' b => SlalomDiag -> Diagram b
- drawText :: Backend' b => String -> Diagram b
- drawTextFixed :: Backend' b => String -> Diagram b
- drawInt :: Backend' b => Int -> Diagram b
- drawChar :: Backend' b => Char -> Diagram b
- drawCharFixed :: Backend' b => Char -> Diagram b
- drawCharOpaque :: Backend' b => Char -> Diagram b
- placeTL :: Backend' b => Diagram b -> Diagram b
- hintTL :: Backend' b => String -> Diagram b
- drawWords :: Backend' b => [String] -> Diagram b
- drawCurve :: Backend' b => [Edge N] -> Diagram b
- drawShadow :: Backend' b => Shade -> Diagram b
- drawTapaClue :: Backend' b => TapaClue -> Diagram b
- drawPrimeDiag :: Backend' b => PrimeDiag -> Diagram b
- drawAnglePoly :: Backend' b => Int -> Diagram b
- fish :: Double -> Angle Double -> Trail' Loop V2 Double
- drawFish :: Backend' b => Fish -> Diagram b
- drawStar :: Backend' b => Star -> Diagram b
- drawTree :: Backend' b => Tree -> Diagram b
- drawTent :: Backend' b => PlacedTent -> Diagram b
- vertexLoop :: VertexLoop -> Located (Trail' Loop V2 Double)
- note :: Backend' b => Diagram b -> Diagram b
- placeNoteTR :: Backend' b => Size -> Diagram b -> Diagram b
- placeNoteTL :: Backend' b => Size -> Diagram b -> Diagram b
- placeNoteBR :: Backend' b => Size -> Diagram b -> Diagram b
- miniloop :: Backend' b => Diagram b
- dominoBG :: Colour Double
- drawDomino :: Backend' b => (Int, Int) -> Diagram b
- newtype DominoC = DominoC C
- drawDominos :: Backend' b => DigitRange -> Diagram b
- drawPill :: Backend' b => Int -> Diagram b
- drawPills :: Backend' b => DigitRange -> Diagram b
- polyominoGrid :: Backend' b => Grid C (Maybe Char) -> Diagram b
- drawPentominos :: Backend' b => Diagram b
- drawLITS :: Backend' b => Diagram b
- drawLITSO :: Backend' b => Diagram b
- drawCrossing :: Backend' b => Crossing -> Diagram b
- drawBahnhofClue :: Backend' b => BahnhofClue -> Diagram b
- kropkiDot :: Backend' b => KropkiDot -> Diagram b
- drawFraction :: Backend' b => Fraction -> Diagram b
- drawMyopia :: Backend' b => Myopia -> Diagram b
- greaterClue :: Backend' b => GreaterClue -> [Diagram b]
- drawCages :: (Backend' b, Eq a, Ord a) => Grid C a -> Map a (Diagram b) -> Diagram b
- invertMap :: (Eq a, Ord a) => Map k a -> Map a [k]
Documentation
smallPearl :: Backend' b => MasyuPearl -> Diagram b Source #
drawSlovakClue :: Backend' b => SlovakClue -> Diagram b Source #
drawThermos :: Backend' b => [Thermometer] -> Diagram b Source #
Draw a list of thermometers, given as lists of (Int, Int)
cell
coordinates.
drawTight :: Backend' b => (a -> Diagram b) -> Tightfit a -> Diagram b Source #
drawTight d t
draws the tight-fit value t
, using d
to
draw the components.
stackWordsLeft :: Backend' b => [String] -> Diagram b Source #
Stack the given words, left-justified, a bit more generous, nice font
stackWordsRight :: Backend' b => [String] -> Diagram b Source #
Stack the given words, left-justified, a bit more generous, nice font
drawMarkedWord :: Backend' b => MarkedWord -> Diagram b Source #
Mark a word in a grid of letters.
drawMarkedWords :: Backend' b => [MarkedWord] -> Diagram b Source #
Apply drawMarkedWord
to a list of words.
drawMarkedLine :: (ToPoint a, Backend' b) => MarkedLine a -> Diagram b Source #
drawMarkedLines :: (ToPoint a, Backend' b) => [MarkedLine a] -> Diagram b Source #
drawSlalomDiag :: Backend' b => SlalomDiag -> Diagram b Source #
drawText :: Backend' b => String -> Diagram b Source #
Draw text. Shouldn't be more than two characters or so to fit a cell.
drawWords :: Backend' b => [String] -> Diagram b Source #
Stack a list of words into a unit square. Scaled such that at least three words will fit.
drawCurve :: Backend' b => [Edge N] -> Diagram b Source #
Fit a line drawing into a unit square. For example, a Curve Data clue.
drawShadow :: Backend' b => Shade -> Diagram b Source #
Draw a shadow in the style of Afternoon Skyscrapers.
drawTapaClue :: Backend' b => TapaClue -> Diagram b Source #
Draws the digits of a tapa clue, ordered left to right, top to bottom.
vertexLoop :: VertexLoop -> Located (Trail' Loop V2 Double) Source #
drawDominos :: Backend' b => DigitRange -> Diagram b Source #
drawPentominos :: Backend' b => Diagram b Source #
drawBahnhofClue :: Backend' b => BahnhofClue -> Diagram b Source #
greaterClue :: Backend' b => GreaterClue -> [Diagram b] Source #