vulkan-tutorial/extern/src/Affection/MessageBus/Message/KeyboardMessage.hs
nek0 f422f94794 Add 'extern/' from commit '9b7b1c6167b4fa516b91759ca86139ede07f231d'
git-subtree-dir: extern
git-subtree-mainline: c84b50de5f
git-subtree-split: 9b7b1c6167
2022-07-09 20:34:38 +02:00

27 lines
827 B
Haskell

module Affection.MessageBus.Message.KeyboardMessage
( KeyboardMessage(..)
-- | SDL reexports
, SDL.Window
, SDL.InputMotion
, SDL.Keysym
) where
import Affection.MessageBus.Message.Class
import qualified SDL
-- | Dataatype for handling all keyboard events haded down from SDL2
data KeyboardMessage
-- | Arbitrary Keyboard event
= MsgKeyboardEvent
{ msgKbdWhen :: Double -- ^ Message time
, msgKbdWindow :: Maybe SDL.Window -- ^ Affected Window
, msgKbdKeyMotion :: SDL.InputMotion -- ^ Input motion of button (pressed/released)
, msgKbdKeyRepeat :: Bool -- ^ Is this a repeated event?
, msgKbdKeysym :: SDL.Keysym -- ^ The button's 'SDL.Keysym'
}
deriving (Show)
instance Message KeyboardMessage where
msgTime (MsgKeyboardEvent t _ _ _ _) = t