~alcinnz/CatTrap

ref: 09970dfcfc40c806e18836659ab4b3a3fa3784ce CatTrap/Graphics/Layout/Grid.hs -rw-r--r-- 682 bytes
09970dfc — Adrian Cochrane Draft public API for CatTrap. 1 year, 5 months ago
                                                                                
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
module Graphics.Layout.Grid where

data Grid n = Grid {
    rows :: [(Name, Either n Double)],
    columns :: [(Name, Either n Double)],
    gap :: Size n,
    gridBox :: PaddedBox n
}
data GridItem n = Grid {
    startRow :: Int, endRow :: Int, startCol :: Int, endCol :: Int,
    gridItemBox :: PaddedBox n
}

sizeBoundGrid :: Grid Length -> [GridItem Length] -> Grid Length
sizeGrid :: PaddedBox Double -> Grid Length -> Grid Double
sizeGridItem :: Grid Length -> GridItem Length -> Grid Double
positionGrid :: Grid Double -> [GridItem Double] -> [Size]
layoutGrid :: PaddedBox Double -> Grid Length -> [GridItem Length] -> Bool ->
    [(Grid Double, [(Size, GridItem Double)])]