diff options
Diffstat (limited to 'src/TextViewport/Render/RenderedBuffer.hs')
| -rw-r--r-- | src/TextViewport/Render/RenderedBuffer.hs | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/src/TextViewport/Render/RenderedBuffer.hs b/src/TextViewport/Render/RenderedBuffer.hs new file mode 100644 index 0000000..cbff8ca --- /dev/null +++ b/src/TextViewport/Render/RenderedBuffer.hs @@ -0,0 +1,19 @@ +module TextViewport.Render.RenderedBuffer where + +import Data.Foldable qualified as F +import Data.Sequence (Seq) +import Data.Sequence qualified as Seq +import TextViewport.Render.RenderedItem (RenderedItem) +import TextViewport.Render.RenderedItem qualified as RenderedItem +import TextViewport.Render.RenderedLine (RenderedLine) + + +newtype RenderedBuffer = RenderedBuffer { unRenderedBuffer :: Seq RenderedItem } + deriving (Eq, Show) + +flatten :: RenderedBuffer -> [RenderedLine] +flatten = concatMap (F.toList . RenderedItem.riLines) . F.toList . unRenderedBuffer + +fromList :: [RenderedItem] -> RenderedBuffer +fromList = + RenderedBuffer . Seq.fromList |
