tinytools-vty-0.1.0.0: src/Potato/Flow/Vty/Attrs.hs
module Potato.Flow.Vty.Attrs where
import Relude
import Potato.Flow.Controller.Handler
import Graphics.Vty
lg_default :: Attr
lg_default = Attr {
attrStyle = SetTo defaultStyleMask
, attrForeColor = SetTo black
, attrBackColor = SetTo brightWhite
, attrURL = Default
}
lg_textfield_normal :: Attr
lg_textfield_normal = lg_default `withBackColor` white
lg_textfield_modifying :: Attr
lg_textfield_modifying = lg_textfield_normal
lg_textfield_cursor :: Attr
lg_textfield_cursor = lg_default `withBackColor` black `withForeColor` white
lg_layer_inheritselect :: Attr
lg_layer_inheritselect = lg_default `withBackColor` white
lg_layer_selected :: Attr
lg_layer_selected = lg_default `withStyle` standout
lg_manip :: Attr
lg_manip = lg_default `withStyle` blink `withBackColor` brightMagenta
lg_canvas_cursor :: Attr
lg_canvas_cursor = lg_default `withStyle` blink `withBackColor` brightMagenta
lg_canvas_default :: Attr
lg_canvas_default = lg_default
lg_canvas_oob :: Attr
lg_canvas_oob = lg_default `withBackColor` white
renderHandlerColorToVtyColor :: RenderHandleColor -> Color
renderHandlerColorToVtyColor = \case
RHC_Default -> brightMagenta
RHC_Attachment -> brightBlue
RHC_AttachmentHighlight -> brightCyan
lg_make_canvas_cursor :: RenderHandleColor -> Attr
lg_make_canvas_cursor rhc = lg_default `withStyle` blink `withBackColor` (renderHandlerColorToVtyColor rhc)