# Packages
Package alignfor provides functions that align elements.
Package area provides functions working with image areas.
Package attrrange simplifies tracking of attributes that apply to a range of items.
Package button implements a state machine that tracks mouse button clicks.
Package canvas defines the canvas that the widgets draw on.
Package draw provides functions that draw lines, shapes, etc on 2-D terminal like canvases.
Package event provides a non-blocking event distribution and subscription system.
Package faketerm is a fake implementation of the terminal for the use in tests.
Package fakewidget implements a fake widget that is useful for testing the termdash infrastructure.
Package numbers implements various numerical functions.
Package runewidth is a wrapper over github.com/mattn/go-runewidth which gives different treatment to certain runes with ambiguous width.
Package segdisp provides utilities used by all segment display types.
Package wrap implements line wrapping at character or word boundaries.