44 lines
818 B
Haskell
44 lines
818 B
Haskell
{-# LANGUAGE CPP #-}
|
|
{-# LANGUAGE DeriveDataTypeable #-}
|
|
{-# 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
|
|
)
|