packages feed

fearOfView-0.1.0.0: CStyle.hs

module CStyle where

import qualified UI.HSCurses.Curses as C

type ColPair = Int
white,red,green,yellow,blue,magenta,cyan,black :: ColPair
white = 0
red = 1
green = 2
yellow = 3
blue = 4
magenta = 5
cyan = 6
black = 7

onBlue, onRed, onYellow :: ColPair -> ColPair
onBlue = (+8) . (`mod` 8)
onRed = (+16) . (`mod` 8)
onYellow = (+24) . (`mod` 8)

data CStyle = CStyle { cstyleCol :: ColPair, cstyleAttr :: C.Attr }
a0, aBold :: C.Attr
a0 = C.attr0
aBold = C.setBold a0 True
style0, styleBold :: CStyle
style0 = CStyle 0 a0
styleBold = CStyle 0 aBold

data Glyph = Glyph { glyphChar :: Char, glyphStyle :: CStyle }

modColour :: (ColPair -> ColPair) -> Glyph -> Glyph
modColour f (Glyph c (CStyle col a)) = Glyph c (CStyle (f col) a)