module Data.Text.ParagraphLayout.Internal.ParagraphAlignment ( ParagraphAlignment (..) ) where -- | Determines how the contents of the paragraph should be aligned -- horizontally, that is, how should fragments be stacked inside each line -- when there is space available. -- -- This has no effect on lines with overflowing content. data ParagraphAlignment = AlignStart -- ^ Behave like `AlignLeft` when the base direction of the paragraph -- is LTR, and like `AlignRight` when the base direction is RTL. | AlignEnd -- ^ Behave like `AlignLeft` when the base direction of the paragraph -- is RTL, and like `AlignRight` when the base direction is LTR. | AlignLeft -- ^ Stack fragments to the left edge of each line, -- leaving free space on the right side. -- -- The leftmost fragment on each non-overflowing line will have its -- `Data.Text.ParagraphLayout.Rect.x_min` equal to @0@. | AlignRight -- ^ Stack fragments to the right edge of each line, -- leaving free space on the left side. -- -- The rightmost fragment on each non-overflowing line will have its -- `Data.Text.ParagraphLayout.Rect.x_max` equal to -- `Data.Text.ParagraphLayout.Rich.paragraphMaxWidth`. | AlignCentreH -- ^ Stack fragments to the horizontal centre of each line, -- leaving free space split evenly between each side. deriving (Eq, Read, Show)