-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/


-- | Terminal Art
--   
--   A program to make ASCII art
@package tart
@version 0.4

module Tart.Canvas
data Canvas
data CanvasData
canvasFromData :: CanvasData -> IO (Either String Canvas)
canvasToData :: Canvas -> CanvasData
newCanvas :: (Int, Int) -> IO Canvas
canvasSize :: Canvas -> (Int, Int)
canvasSetPixel :: Canvas -> (Int, Int) -> Char -> Attr -> IO Canvas
canvasSetMany :: Canvas -> [((Int, Int), Char, Attr)] -> IO Canvas
canvasGetPixel :: Canvas -> (Int, Int) -> (Char, Attr)
resizeFrom :: Canvas -> (Int, Int) -> IO Canvas
prettyPrintCanvas :: Bool -> [Canvas] -> Text
merge :: Canvas -> Canvas -> IO (Canvas, [((Int, Int), (Char, Attr))])
clearCanvas :: Canvas -> IO Canvas
canvasFromString :: String -> IO Canvas
canvasFromText :: Text -> IO Canvas

-- | Create a Vty image from a list of canvas layers, with the topmost
--   layer being the first canvas in the list. A pixel in the final image
--   is set by looking for the first non-blank pixel in the canvas list,
--   starting at the beginning.
--   
--   The result will be as high as the least tall input canvas, and as wide
--   as the least wide input canvas.
canvasLayersToImage :: [Canvas] -> Image
normalizeAttr :: Char -> Attr -> Attr
instance Data.Binary.Class.Binary Tart.Canvas.CanvasData

module Tart.Format.Types
data TartFile
TartFile :: [Canvas] -> [Text] -> [Int] -> TartFile
[tartFileCanvasList] :: TartFile -> [Canvas]
[tartFileCanvasNames] :: TartFile -> [Text]
[tartFileCanvasOrder] :: TartFile -> [Int]
data TartFileFormat
[BinaryFormatVersion] :: forall a. Get a -> (a -> IO (Either String TartFile)) -> TartFileFormat

module Tart.Format.V0
version0Format :: TartFileFormat
instance Data.Binary.Class.Binary Tart.Format.V0.TartFileDataV0

module Tart.Format.V1
version1Format :: TartFileFormat
encodeVersion1 :: TartFile -> Put
instance Data.Binary.Class.Binary Tart.Format.V1.TartFileDataV1

module Tart.Format.V2
version2Format :: TartFileFormat
encodeVersion2 :: TartFile -> Put
instance Data.Binary.Class.Binary Tart.Format.V2.TartFileDataV2

module Tart.Format
data TartFile
TartFile :: [Canvas] -> [Text] -> [Int] -> TartFile
[tartFileCanvasList] :: TartFile -> [Canvas]
[tartFileCanvasNames] :: TartFile -> [Text]
[tartFileCanvasOrder] :: TartFile -> [Int]
data OutputFormat
FormatBinary :: OutputFormat
FormatAnsiColor :: OutputFormat
FormatPlain :: OutputFormat
data TartFilePath
readTartFile :: TartFilePath -> IO (Either String TartFile)
writeTartFile :: OutputFormat -> TartFile -> TartFilePath -> IO ()
sortedCanvases :: [Int] -> [Canvas] -> [Canvas]
toTartFilepath :: FilePath -> TartFilePath
instance GHC.Classes.Eq Tart.Format.OutputFormat
instance GHC.Internal.Read.Read Tart.Format.OutputFormat
instance GHC.Internal.Show.Show Tart.Format.OutputFormat
