{-# LANGUAGE PatternGuards #-} {-# LANGUAGE RankNTypes #-} {-# OPTIONS_HADDOCK hide #-} -- | Callback for exiting the program. module Graphics.Gloss.Internals.Interface.Common.Exit (callback_exit) where import Graphics.Gloss.Internals.Interface.Backend.Types callback_exit :: a -> Callback callback_exit stateRef = KeyMouse (keyMouse_exit stateRef) keyMouse_exit :: a -> KeyboardMouseCallback keyMouse_exit _ backend key keyState _ _ | key == SpecialKey KeyEsc , keyState == Down = exitBackend backend | otherwise = return ()