module Internals ( getDataFileName, module Internals ) where import Paths_TimePiece import System.IO.Unsafe import Data.IORef {-# NOINLINE _WIDTH_ #-} _WIDTH_ :: IORef Integer _WIDTH_ = unsafePerformIO $ newIORef 1024 {-# NOINLINE _HEIGHT_ #-} _HEIGHT_ :: IORef Integer _HEIGHT_ = unsafePerformIO $ newIORef 768 getScreenWidth :: Num a => IO a getScreenWidth = fmap fromIntegral (readIORef _WIDTH_) getScreenHeight :: Num a => IO a getScreenHeight = fmap fromIntegral (readIORef _HEIGHT_) setScreenWidth :: Integral a => a -> IO () setScreenWidth = writeIORef _WIDTH_ . toInteger setScreenHeight :: Integral a => a -> IO () setScreenHeight = writeIORef _HEIGHT_ . toInteger type X = Int type Y = Int type Size = Int data Point = MkPoint { pointX :: !X , pointY :: !Y } deriving (Show, Eq, Ord)