Documentation ¶
Overview ¶
Package text provides types and functions to parse, format and render text.
Index ¶
Constants ¶
const ( PosLeft = -1 PosBottom = -1 PosCenter = 0 PosTop = +1 PosRight = +1 )
Position specifies the text position.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Handler ¶
type Handler interface { // Cache returns the cache of fonts used by the text handler. Cache() *font.Cache // Extents returns the Extents of a font. Extents(fnt font.Font) font.Extents // Lines splits a given block of text into separate lines. Lines(txt string) []string // Box returns the bounding box of the given non-multiline text where: // - width is the horizontal space from the origin. // - height is the vertical space above the baseline. // - depth is the vertical space below the baseline, a positive number. Box(txt string, fnt font.Font) (width, height, depth vg.Length) // Draw renders the given text with the provided style and position // on the canvas. Draw(c vg.Canvas, txt string, sty Style, pt vg.Point) }
Handler parses, formats and renders text.
type Plain ¶
Plain is a text/plain handler.
func (Plain) Box ¶
Box returns the bounding box of the given non-multiline text where:
- width is the horizontal space from the origin.
- height is the vertical space above the baseline.
- depth is the vertical space below the baseline, a positive number.
type Style ¶
type Style struct { // Color is the text color. Color color.Color // Font is the font description. Font font.Font // Rotation is the text rotation in radians, performed around the axis // defined by XAlign and YAlign. Rotation float64 // XAlign and YAlign specify the alignment of the text. XAlign XAlignment YAlign YAlignment // Handler parses and formats text according to a given // dialect (Markdown, LaTeX, plain, ...) // The default is a plain text handler. Handler Handler }
Style describes what text will look like.
func (Style) FontExtents ¶
FontExtents returns the extents of this Style's font.
func (Style) Height ¶
Height returns the height of the text when using the given font before any text rotation is applied.
type XAlignment ¶
type XAlignment float64
XAlignment specifies text alignment in the X direction. Three preset options are available, but an arbitrary alignment can also be specified using XAlignment(desired number).
const ( // XLeft aligns the left edge of the text with the specified location. XLeft XAlignment = 0 // XCenter aligns the horizontal center of the text with the specified location. XCenter XAlignment = -0.5 // XRight aligns the right edge of the text with the specified location. XRight XAlignment = -1 )
type YAlignment ¶
type YAlignment float64
YAlignment specifies text alignment in the Y direction. Three preset options are available, but an arbitrary alignment can also be specified using YAlignment(desired number).
const ( // YTop aligns the top of of the text with the specified location. YTop YAlignment = -1 // YCenter aligns the vertical center of the text with the specified location. YCenter YAlignment = -0.5 // YBottom aligns the bottom of the text with the specified location. YBottom YAlignment = 0 )