From b098daf7bcb6e4a493723026f5644bd81164c641 Mon Sep 17 00:00:00 2001 From: tv Date: Fri, 6 Mar 2026 20:45:39 +0100 Subject: modularize --- src/TextViewport/Render/RenderedBuffer.hs | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 src/TextViewport/Render/RenderedBuffer.hs (limited to 'src/TextViewport/Render/RenderedBuffer.hs') 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 -- cgit v1.2.3