File: UIOptions.hs

package info (click to toggle)
haskell-lambdahack 0.11.0.1-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 4,056 kB
  • sloc: haskell: 45,636; makefile: 219
file content (46 lines) | stat: -rw-r--r-- 1,433 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
{-# LANGUAGE DeriveGeneric #-}
-- | UI client options specified in the config file.
module Game.LambdaHack.Client.UI.UIOptions
  ( UIOptions(..)
  ) where

import Prelude ()

import Game.LambdaHack.Core.Prelude

import Control.DeepSeq
import Data.Binary
import GHC.Generics (Generic)

import           Game.LambdaHack.Client.UI.HumanCmd
import qualified Game.LambdaHack.Client.UI.Key as K
import           Game.LambdaHack.Common.ClientOptions (FullscreenMode)
import           Game.LambdaHack.Common.Misc
import qualified Game.LambdaHack.Definition.Color as Color
import           Game.LambdaHack.Definition.Defs

-- | Options that affect the UI of the client, specified in the config file.
-- More documentation is in the default config file.
data UIOptions = UIOptions
  { uCommands         :: [(K.KM, CmdTriple)]
  , uHeroNames        :: [(Int, (Text, Text))]
  , uVi               :: Bool
  , uLeftHand         :: Bool
  , uChosenFontset    :: Text
  , uAllFontsScale    :: Double
  , uFullscreenMode   :: FullscreenMode
  , uhpWarningPercent :: Int
  , uMsgWrapColumn    :: X
  , uHistoryMax       :: Int
  , uMaxFps           :: Double
  , uNoAnim           :: Bool
  , uOverrideCmdline  :: [String]
  , uFonts            :: [(Text, FontDefinition)]
  , uFontsets         :: [(Text, FontSet)]
  , uMessageColors    :: [(String, Color.Color)]
  }
  deriving (Show, Generic)

instance NFData UIOptions

instance Binary UIOptions