module Termbox.Bindings.Hs.Internal.Attrs
( Tb_attrs (Tb_attrs),
_TB_DEFAULT,
_TB_BLACK,
_TB_BLUE,
_TB_CYAN,
_TB_GREEN,
_TB_MAGENTA,
_TB_RED,
_TB_WHITE,
_TB_YELLOW,
_TB_BOLD,
_TB_REVERSE,
_TB_UNDERLINE,
)
where
import Data.Bits ((.|.))
import Data.Coerce (coerce)
import Data.Word (Word16)
import qualified Termbox.Bindings.C as Termbox
newtype Tb_attrs
= Tb_attrs Word16
deriving stock (Tb_attrs -> Tb_attrs -> Bool
(Tb_attrs -> Tb_attrs -> Bool)
-> (Tb_attrs -> Tb_attrs -> Bool) -> Eq Tb_attrs
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: Tb_attrs -> Tb_attrs -> Bool
== :: Tb_attrs -> Tb_attrs -> Bool
$c/= :: Tb_attrs -> Tb_attrs -> Bool
/= :: Tb_attrs -> Tb_attrs -> Bool
Eq, Int -> Tb_attrs -> ShowS
[Tb_attrs] -> ShowS
Tb_attrs -> String
(Int -> Tb_attrs -> ShowS)
-> (Tb_attrs -> String) -> ([Tb_attrs] -> ShowS) -> Show Tb_attrs
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> Tb_attrs -> ShowS
showsPrec :: Int -> Tb_attrs -> ShowS
$cshow :: Tb_attrs -> String
show :: Tb_attrs -> String
$cshowList :: [Tb_attrs] -> ShowS
showList :: [Tb_attrs] -> ShowS
Show)
instance Monoid Tb_attrs where
mempty :: Tb_attrs
mempty = Word16 -> Tb_attrs
Tb_attrs Word16
0
instance Semigroup Tb_attrs where
<> :: Tb_attrs -> Tb_attrs -> Tb_attrs
(<>) = forall a b. Coercible a b => a -> b
forall a b. Coercible a b => a -> b
coerce @(Word16 -> Word16 -> Word16) Word16 -> Word16 -> Word16
forall a. Bits a => a -> a -> a
(.|.)
_TB_DEFAULT :: Tb_attrs
_TB_DEFAULT :: Tb_attrs
_TB_DEFAULT =
Word16 -> Tb_attrs
Tb_attrs Word16
Termbox._TB_DEFAULT
_TB_BLACK :: Tb_attrs
_TB_BLACK :: Tb_attrs
_TB_BLACK =
Word16 -> Tb_attrs
Tb_attrs Word16
Termbox._TB_BLACK
_TB_BLUE :: Tb_attrs
_TB_BLUE :: Tb_attrs
_TB_BLUE =
Word16 -> Tb_attrs
Tb_attrs Word16
Termbox._TB_BLUE
_TB_CYAN :: Tb_attrs
_TB_CYAN :: Tb_attrs
_TB_CYAN =
Word16 -> Tb_attrs
Tb_attrs Word16
Termbox._TB_CYAN
_TB_GREEN :: Tb_attrs
_TB_GREEN :: Tb_attrs
_TB_GREEN =
Word16 -> Tb_attrs
Tb_attrs Word16
Termbox._TB_GREEN
_TB_MAGENTA :: Tb_attrs
_TB_MAGENTA :: Tb_attrs
_TB_MAGENTA =
Word16 -> Tb_attrs
Tb_attrs Word16
Termbox._TB_MAGENTA
_TB_RED :: Tb_attrs
_TB_RED :: Tb_attrs
_TB_RED =
Word16 -> Tb_attrs
Tb_attrs Word16
Termbox._TB_RED
_TB_WHITE :: Tb_attrs
_TB_WHITE :: Tb_attrs
_TB_WHITE =
Word16 -> Tb_attrs
Tb_attrs Word16
Termbox._TB_WHITE
_TB_YELLOW :: Tb_attrs
_TB_YELLOW :: Tb_attrs
_TB_YELLOW =
Word16 -> Tb_attrs
Tb_attrs Word16
Termbox._TB_YELLOW
_TB_BOLD :: Tb_attrs
_TB_BOLD :: Tb_attrs
_TB_BOLD =
Word16 -> Tb_attrs
Tb_attrs Word16
Termbox._TB_BOLD
_TB_REVERSE :: Tb_attrs
_TB_REVERSE :: Tb_attrs
_TB_REVERSE =
Word16 -> Tb_attrs
Tb_attrs Word16
Termbox._TB_REVERSE
_TB_UNDERLINE :: Tb_attrs
_TB_UNDERLINE :: Tb_attrs
_TB_UNDERLINE =
Word16 -> Tb_attrs
Tb_attrs Word16
Termbox._TB_UNDERLINE