Open Cj-bc opened 3 years ago
IsASCII
が提供されているので、MonoVector
とMonoRaster
としてv1を実装するのが良いかもしれない。
MonoはRenderでも使われるのでややこしいかも
data MonoRaster = MonoRaster { monoRasterLines :: [Text] }
instance IsAsciiart MonoRaster where
fromData :: ByteString -> Maybe a
fromData = ...
toData :: a -> ByteString
toData = ...
render :: a -> [String]
render =
-- | Render without attributes
renderMono :: a -> [String]
-- | Generate Asciiart data from Plain Text
--
-- To generate Asciiart data from Plain-text-ASCIIart
generateFrom :: [String] -> a
-- | Convert to 'Graphics.Vty.Image.Image'
toImage :: a -> Image
-- | Convert to 'Brick.Types.Widget'
toWidget :: a -> Widget n
toWidget = raw . toImage
{-# MINIMAL fromData, toData, renderMono, generateFrom, toImage #-}
現状、かなり詰まっていて先が見通せず、進む気配がない。 それなら、もっと単純な内容にしてしまってリリース、v2で改善する方がマシな気がした。 なので、v1は「一種類の文字を使って構成される図形」に限定しようと思う。