Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
This module provides border widgets: vertical borders, horizontal
borders, and a box border wrapper widget. All functions in this
module use the rendering context's active BorderStyle
; to change
the BorderStyle
, use withBorderStyle
.
Synopsis
- border :: Widget n -> Widget n
- borderWithLabel :: Widget n -> Widget n -> Widget n
- hBorder :: Widget n
- hBorderWithLabel :: Widget n -> Widget n
- vBorder :: Widget n
- borderElem :: (BorderStyle -> Char) -> Widget n
- borderAttr :: AttrName
- hBorderAttr :: AttrName
- vBorderAttr :: AttrName
- joinableBorder :: Edges Bool -> Widget n
Border wrapper
Put a border around the specified widget with the specified label widget placed in the middle of the top horizontal border.
Note that a border will wrap its child widget as tightly as possible,
which means that if the child widget is narrower than the label
widget, the label widget will be truncated. If you want to avoid
this behavior, add a fill
or other space-filling wrapper to the
bordered widget so that it takes up enough room to make the border
horizontally able to avoid truncating the label.
Horizontal border
A horizontal border. Fills all horizontal space. Draws using
hBorderAttr
.
A horizontal border with a label placed in the center of the border. Fills all horizontal space.
Vertical border
A vertical border. Fills all vertical space. Draws using
vBorderAttr
.
Drawing single border elements
borderElem :: (BorderStyle -> Char) -> Widget n Source #
Draw the specified border element using the active border style
using borderAttr
.
Does not participate in dynamic borders (due to the difficulty of
introspecting on the first argument); consider using joinableBorder
instead.
Attribute names
borderAttr :: AttrName Source #
The top-level border attribute name.
hBorderAttr :: AttrName Source #
The horizontal border attribute name. Inherits from borderAttr
.
vBorderAttr :: AttrName Source #
The vertical border attribute name. Inherits from borderAttr
.