Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- horz :: !AlignV ![Text] -> Text
- horz a lt = mergHori (map (alignHori max a) lt)
- where
- max = maxList [snd(sizeOf x) \\ x <- lt]
- alignHori :: Int AlignV Text -> Text
- alignHori m TopV ct = ct ++ iterat (numberLines m ct) (makeEmptyRow (fst(sizeOf ct)))
- alignHori m CenterV ct = iterat ((numberLines m ct)/2) (makeEmptyRow (fst(sizeOf ct))) ++ ct ++ iterat ((numberLines m ct)/2) (makeEmptyRow (fst(sizeOf ct)))
- alignHori m BottomV ct = iterat (numberLines m ct) (makeEmptyRow (fst(sizeOf ct))) ++ ct
- makeEmptyRow :: Int -> [Char]
- makeEmptyRow 1 = [' ']
- makeEmptyRow n = [' ':makeEmptyRow (n-1)]
- numberLines :: Int Text -> Int
- numberLines m ct = (m-(snd(sizeOf ct)))
- mergHori :: [Text] -> Text
- mergHori [] = zero
- mergHori [x:xs] = pasteTextH x (mergHori xs)
- pasteTextH :: Text Text -> Text
- pasteTextH t1 [] = t1
- pasteTextH t1 t2 = [x1 ++ x2 \\ x1 <- t1 & x2 <-t2]
Add Comment
Please, Sign In to add comment