{-# LANGUAGE CPP #-} {-# LANGUAGE DeriveDataTypeable #-} {-# LANGUAGE DeriveFoldable #-} {-# LANGUAGE DeriveFunctor #-} {-# LANGUAGE DeriveTraversable #-} #if __GLASGOW_HASKELL__ >= 702 #define LANGUAGE_DeriveGeneric {-# LANGUAGE DeriveGeneric #-} #endif module System.Console.Terminal.Common ( Window(..) ) where import Data.Data (Typeable, Data) #if __GLASGOW_HASKELL__ < 710 import Data.Foldable (Foldable) import Data.Traversable (Traversable) #endif #ifdef LANGUAGE_DeriveGeneric import GHC.Generics ( Generic #if __GLASGOW_HASKELL__ >= 706 , Generic1 #endif ) #endif -- | Terminal window width and height data Window a = Window { height :: !a , width :: !a } deriving ( Show, Eq, Read, Data, Typeable , Foldable, Functor, Traversable #ifdef LANGUAGE_DeriveGeneric , Generic #if __GLASGOW_HASKELL__ >= 706 , Generic1 #endif #endif )