-- | Interface for laying out paragraphs of plain text.
--
-- This interface only allows one font with a fixed line height to be used for
-- the entire paragraph. As a consequence, all lines will have the same height.
module Data.Text.ParagraphLayout.Plain
-- * Input paragraph
( Paragraph (Paragraph)
, LineHeight (Absolute, Normal)
, ParagraphOptions
, defaultParagraphOptions
-- ** Paragraph options
-- | These are record selectors that can be used for reading
-- as well as updating specific option fields.
, paragraphFont
, paragraphLineHeight
, paragraphMaxWidth
-- ** Text spans
, Span (Span, spanLength, spanOptions)
, SpanOptions
, defaultSpanOptions
-- ** Span options
-- | These are record selectors that can be used for reading
-- as well as updating specific option fields.
, spanLanguage
-- ** Verification
, paragraphSpanBounds
, paragraphSpanTexts
, paragraphText
-- * Output layout
, layoutPlain
, ParagraphLayout (ParagraphLayout, paragraphRect, spanLayouts)
, SpanLayout (SpanLayout)
, Fragment (Fragment, fragmentPen, fragmentRect, fragmentGlyphs)
)
where
import Data.Text.ParagraphLayout.Internal.Fragment
import Data.Text.ParagraphLayout.Internal.LineHeight
import Data.Text.ParagraphLayout.Internal.ParagraphOptions
import Data.Text.ParagraphLayout.Internal.Plain
import Data.Text.ParagraphLayout.Internal.Plain.Paragraph
import Data.Text.ParagraphLayout.Internal.Plain.ParagraphLayout
import Data.Text.ParagraphLayout.Internal.Span