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