    -- | General content types and operations.
    module Game.LambdaHack.Client.UI.ContentClientUI
      ( CCUI(..), emptyCCUI
      ) where

    import Prelude ()

    import qualified Data.Map.Strict as M

    import Game.LambdaHack.Client.UI.Content.Input
    import Game.LambdaHack.Client.UI.Content.Screen

    -- | Operations for all UI content types, gathered together.
    data CCUI = CCUI
      { CCUI -> InputContent
    coinput  :: InputContent
      , CCUI -> ScreenContent
    coscreen :: ScreenContent
      }

    emptyCCUI :: CCUI
    emptyCCUI :: CCUI
    emptyCCUI = CCUI
      { coinput :: InputContent
    coinput = Map KM CmdTriple
    -> [(KM, CmdTriple)] -> Map HumanCmd [KM] -> InputContent
    InputContent Map KM CmdTriple
    forall k a. Map k a
    M.empty [] Map HumanCmd [KM]
    forall k a. Map k a
    M.empty
      , coscreen :: ScreenContent
    coscreen = ScreenContent
    emptyScreenContent
      }