draw

package
v0.2.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 3, 2018 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Overview

Package draw provides functions that draw lines, shapes, etc on 2-D terminal like canvases.

Index

Constants

View Source
const DefaultBorderLineStyle = LineStyleLight

DefaultBorderLineStyle is the default value for the BorderLineStyle option.

View Source
const DefaultRectChar = ' '

DefaultRectChar is the default value for the RectChar option.

Variables

This section is empty.

Functions

func Border

func Border(c *canvas.Canvas, border image.Rectangle, opts ...BorderOption) error

Border draws a border on the canvas.

func Rectangle

func Rectangle(c *canvas.Canvas, r image.Rectangle, opts ...RectangleOption) error

Rectangle draws a filled rectangle on the canvas.

func Text

func Text(c *canvas.Canvas, text string, start image.Point, opts ...TextOption) error

Text prints the provided text on the canvas starting at the provided point.

func TrimText

func TrimText(text string, maxCells int, om OverrunMode) (string, error)

TrimText trims the provided text so that it fits the specified amount of cells.

Types

type BorderOption

type BorderOption interface {
	// contains filtered or unexported methods
}

BorderOption is used to provide options to Border().

func BorderCellOpts

func BorderCellOpts(opts ...cell.Option) BorderOption

BorderCellOpts sets options on the cells that create the border.

func BorderLineStyle

func BorderLineStyle(ls LineStyle) BorderOption

BorderLineStyle sets the style of the line used to draw the border.

func BorderTitle

func BorderTitle(title string, overrun OverrunMode, opts ...cell.Option) BorderOption

BorderTitle sets a title for the border.

func BorderTitleAlign

func BorderTitleAlign(h align.Horizontal) BorderOption

BorderTitleAlign configures the horizontal alignment for the title.

type LineStyle

type LineStyle int

LineStyle defines the supported line styles.Q

const (
	LineStyleNone LineStyle = iota
	LineStyleLight
)

Supported line styles.

func (LineStyle) String

func (ls LineStyle) String() string

String implements fmt.Stringer()

type OverrunMode

type OverrunMode int

OverrunMode represents

const (
	// OverrunModeStrict verifies that the drawn value fits the canvas and
	// returns an error if it doesn't.
	OverrunModeStrict OverrunMode = iota

	// OverrunModeTrim trims the part of the text that doesn't fit.
	OverrunModeTrim

	// OverrunModeThreeDot trims the text and places the horizontal ellipsis
	// '…' character at the end.
	OverrunModeThreeDot
)

func (OverrunMode) String

func (om OverrunMode) String() string

String implements fmt.Stringer()

type RectangleOption

type RectangleOption interface {
	// contains filtered or unexported methods
}

RectangleOption is used to provide options to the Rectangle function.

func RectCellOpts

func RectCellOpts(opts ...cell.Option) RectangleOption

RectCellOpts sets options on the cells that create the rectangle.

func RectChar

func RectChar(c rune) RectangleOption

RectChar sets the character used in each of the cells of the rectangle.

type TextOption

type TextOption interface {
	// contains filtered or unexported methods
}

TextOption is used to provide options to Text().

func TextCellOpts

func TextCellOpts(opts ...cell.Option) TextOption

TextCellOpts sets options on the cells that contain the text.

func TextMaxX

func TextMaxX(x int) TextOption

TextMaxX sets a limit on the X coordinate (column) of the drawn text. The X coordinate of all cells used by the text must be within start.X <= X < TextMaxX. If not provided, the width of the canvas is used as TextMaxX.

func TextOverrunMode

func TextOverrunMode(om OverrunMode) TextOption

TextOverrunMode indicates what to do with text that overruns the TextMaxX() or the width of the canvas if TextMaxX() isn't specified. Defaults to OverrunModeStrict.

Directories

Path Synopsis
Package testdraw provides helpers for tests that use the draw package.
Package testdraw provides helpers for tests that use the draw package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL