vty-ui-0.4: src/Graphics/Vty/Widgets/Composed.hs
-- |This module provides high-level composed widgets.
module Graphics.Vty.Widgets.Composed
( bottomPadded
, topPadded
, boxLimit
)
where
import Graphics.Vty.Widgets.Rendering
( Widget(primaryAttribute)
)
import Graphics.Vty.Widgets.Base
( (<-->)
, vFill
, vLimit
, hLimit
)
-- |Add expanding bottom padding to a widget.
bottomPadded :: Widget -> Widget
bottomPadded w = w <--> vFill (primaryAttribute w) ' '
-- |Add expanding top padding to a widget.
topPadded :: Widget -> Widget
topPadded w = vFill (primaryAttribute w) ' ' <--> w
-- |Impose a maximum size (width, height) on a widget.
boxLimit :: Int -- ^Maximum width in columns
-> Int -- ^Maximum height in rows
-> Widget
-> Widget
boxLimit maxWidth maxHeight = vLimit maxHeight . hLimit maxWidth