{-# LANGUAGE ForeignFunctionInterface #-} module System.Console.Terminfo.PrettyPrint.Curses ( initScr , screenWidth , endWin ) where import Data.Functor import Foreign.Marshal.Error (throwIfNull) import Foreign.C.Types (CInt) import Foreign.Ptr (Ptr) import Foreign.Storable (peek) type Window = Ptr () initScr :: IO Window initScr = throwIfNull "initscr" initscr foreign import ccall unsafe "cursed.h initscr" initscr :: IO Window screenWidth :: IO Int screenWidth = fromIntegral <$> peek colsPtr foreign import ccall "cursed.h &COLS" colsPtr :: Ptr CInt foreign import ccall unsafe "cursed.h endwin" endWin :: IO CInt