Copyright | (c) Tim Docker 2010, 2014 |
---|---|
License | BSD-style (see chart/COPYRIGHT) |
Safe Haskell | None |
Language | Haskell98 |
A container type for values that can be composed by horizonal and vertical layout.
- data Grid a
- type Span = (Int, Int)
- type SpaceWeight = (Double, Double)
- tval :: a -> Grid a
- tspan :: a -> Span -> Grid a
- empty :: Grid a
- nullt :: Grid a
- (.|.) :: Grid a -> Grid a -> Grid a
- (./.) :: Grid a -> Grid a -> Grid a
- above :: Grid a -> Grid a -> Grid a
- aboveN :: [Grid a] -> Grid a
- beside :: Grid a -> Grid a -> Grid a
- besideN :: [Grid a] -> Grid a
- overlay :: Grid a -> Grid a -> Grid a
- width :: Grid a -> Int
- height :: Grid a -> Int
- gridToRenderable :: Grid (Renderable a) -> Renderable a
- weights :: SpaceWeight -> Grid a -> Grid a
- aboveWide :: Grid a -> a -> Grid a
- wideAbove :: a -> Grid a -> Grid a
- tallBeside :: a -> Grid a -> Grid a
- besideTall :: Grid a -> a -> Grid a
- fullOverlayUnder :: a -> Grid a -> Grid a
- fullOverlayOver :: a -> Grid a -> Grid a
Documentation
Abstract datatype representing a grid.
Functor Grid | |
Show a => Show (Grid a) | |
ToRenderable a => ToRenderable (Grid a) |
type SpaceWeight = (Double, Double) Source
When more space is available for an item than the total width of items, extra added space is proportional to 'space weight'.
tspan :: a -> Span -> Grid a Source
A WxH (measured in cells) grid from a given value, with space weight (1,1).
overlay :: Grid a -> Grid a -> Grid a Source
One grid over the other. The first argument is shallow, the second is deep.
gridToRenderable :: Grid (Renderable a) -> Renderable a Source
weights :: SpaceWeight -> Grid a -> Grid a Source
Sets the space weight of *every* cell of the grid to given value.
aboveWide :: Grid a -> a -> Grid a Source
A value placed below the grid, occupying 1 row with the same horizontal span as the grid.
wideAbove :: a -> Grid a -> Grid a Source
A value occupying 1 row with the same horizontal span as the grid.
tallBeside :: a -> Grid a -> Grid a Source
A value placed to the left of the grid, occupying 1 column with the same vertical span as the grid.
besideTall :: Grid a -> a -> Grid a Source
A value placed to the right of the grid, occupying 1 column with the same vertical span as the grid.
fullOverlayUnder :: a -> Grid a -> Grid a Source
A value placed under a grid, with the same span as the grid.
fullOverlayOver :: a -> Grid a -> Grid a Source
A value placed over a grid, with the same span as the grid.