vty-5.7: A simple terminal UI library

Graphics.Vty.Span

Description

A picture is translated into a sequences of state changes and character spans. - State changes are currently limited to new attribute values. The attribute is applied to all - following spans. Including spans of the next row. The nth element of the sequence represents the - nth row (from top to bottom) of the picture to render. - - A span op sequence will be defined for all rows and columns (and no more) of the region provided - with the picture to spansForPic. - - todo: Partition attribute changes into multiple categories according to the serialized - representation of the various attributes.

Synopsis

# Documentation

data SpanOp Source #

This represents an operation on the terminal. Either an attribute change or the output of a text string.

Constructors

 TextSpan a span of UTF-8 text occupies a specific number of screen space columns. A single UTF character does not necessarially represent 1 colunm. See Codec.Binary.UTF8.Width TextSpan [Attr] [output width in columns] [number of characters] [data] Fields Skip !Int Skips the given number of columns A skip is transparent.... maybe? I am not sure how attribute changes interact. todo: separate from this type. RowEnd !Int Marks the end of a row. specifies how many columns are remaining. These columns will not be explicitly overwritten with the span ops. The terminal is require to assure the remaining columns are clear. todo: separate from this type.

Instances

 Source # Methods(==) :: SpanOp -> SpanOp -> Bool #(/=) :: SpanOp -> SpanOp -> Bool # Source # MethodsshowsPrec :: Int -> SpanOp -> ShowS #showList :: [SpanOp] -> ShowS #

vector of span operations. executed in succession. This represents the operations required to render a row of the terminal. The operations in one row may effect subsequent rows. EG: Setting the foreground color in one row will effect all subsequent rows until the foreground color is changed.

vector of span operation vectors for display. One per row of the output region.

Number of columns the DisplayOps are defined for

All spans are verified to define same number of columns. See: VerifySpanOps

Number of rows the DisplayOps are defined for

The number of columns a SpanOps effects.

The width of a single SpanOp in columns

returns the number of columns to the character at the given position in the span op