balkon-1.0.0.0: Text layout engine built on top of HarfBuzz.
Safe HaskellNone
LanguageHaskell2010

Data.Text.ParagraphLayout

Description

Generic functions for manipulating paragraph layout.

In order to create such paragraph layout in the first place, see Data.Text.ParagraphLayout.Rich for the rich text interface, or Data.Text.ParagraphLayout.Plain for the legacy plain text interface.

Positions and distances are represented as 32-bit integers. Their unit must be defined by the caller, who must calculate the desired dimensions of the EM square of the input font and set them using optionScale.

For example, if 1em = 20px, if the output pixels are square, and if the output coordinates are in 1/64ths of a pixel, you should set the scale to Just (1280, 1280).

X coordinates increase from left to right.

Y coordinates increase from bottom to top.

Documentation

data PageOptions #

Constructors

PageOptions 

Fields

class Paginable pl #

Minimal complete definition

paginate

Instances

Instances details
Line a => Paginable [a] 
Instance details

Defined in Data.Text.ParagraphLayout.Internal.Paginable

Methods

paginate :: PageOptions -> [a] -> (PageContinuity, [a], Maybe [a]) #

Paginable (ParagraphLayout d) 
Instance details

Defined in Data.Text.ParagraphLayout.Internal.Paginable

Paginable (ParagraphLayout d) 
Instance details

Defined in Data.Text.ParagraphLayout.Internal.Paginable

paginate :: Paginable pl => PageOptions -> pl -> (PageContinuity, pl, Maybe pl) #